Как отправлять сообщение с фото/клавиатуру ВК?

Чтобы отправить сообщение с фото или клавиатурой в ВКонтакте с помощью Node.js, вам понадобится использовать VK API, который предоставляет набор методов для взаимодействия с социальной сетью.

Для начала установите пакет "node-vk-bot-api" с помощью npm, который предоставляет удобный API для работы с ботами ВКонтакте в Node.js:

npm install node-vk-bot-api

После установки пакета, создайте новый файл index.js и подключите его в вашем проекте. Начнем с импорта необходимых модулей:

const VKBot = require('node-vk-bot-api');
const Markup = require('node-vk-bot-api/lib/markup');
const fs = require('fs');

Затем создайте экземпляр бота и установите его токен авторизации, который можно получить в настройках группы ВКонтакте:

const bot = new VKBot({
  token: 'your_token',
});

Теперь мы можем настроить обработку входящих сообщений и отправку сообщений с фото и клавиатурой. Добавьте следующий код:

bot.on((ctx) => {
  // Обработчик входящих сообщений
  const message = ctx.message.text;

  // Проверка на команду /start
  if (message === '/start') {
    // Отправка сообщения с клавиатурой
    ctx.reply('Привет!', null, Markup
      .keyboard([
        [
          Markup.button('Нажми на кнопку', 'primary'),
        ],
      ])
      .oneTime()
      .inline()
    );
  } else if (message === 'Нажми на кнопку') {
    // Отправка сообщения с фото
    const photo = fs.readFileSync('path_to_photo.jpg');
    ctx.replyWithPhoto(
      {
        value: photo,
        options: {
          filename: 'photo.jpg',
          contentType: 'image/jpeg',
        },
      },
      null,
      Markup
        .keyboard([
          [
            Markup.button('Нажми на кнопку', 'primary'),
          ],
        ])
        .oneTime()
        .inline()
    );
  }
});

bot.startPolling();

В приведенном коде мы настраиваем обработку входящих сообщений с помощью метода bot.on. Когда бот получает команду "/start", он отправляет приветственное сообщение с клавиатурой. Если пользователь нажимает на кнопку, бот отправляет сообщение с фото и обновляет клавиатуру.

Важно заменить 'your_token' на ваш собственный токен авторизации. Также обратите внимание на указание пути к фото 'path_to_photo.jpg'. Замените это значение на путь к фотографии, которую вы хотите отправить.

После написания кода, запустите ваш сервер Node.js и проверьте результаты, отправляя сообщения вашему боту в ВКонтакте.