Задать вопрос
@Eldenhard

Как сделать чтобы вместе с картинкой в телеграмм-боте выводился и текст?

Получилось вывести картинки при нажатии на кнопку, но не понимаю как можно сделать, чтобы выводилась картинка и текст
const TelegramBot = require('node-telegram-bot-api'); // подключаем node-telegram-bot-api

const token = ''; //скрыт

// включаем самого обота
const bot = new TelegramBot(token, {polling: true});

//конфиг клавиатуры
const keyboard = [
    [
      {
        text: 'Что такое BRANDNETWORK?', // текст на кнопке
        callback_data: 'moreWhat' // данные для обработчика событий
      }
    ],
    [
        {
          text: 'Как работает система?',
          callback_data: 'moreHow'
        }
    ],
    [
        {
           text: 'Что входит в BRANDNETWORk?',
           callback_data: 'moreWhatInclude'
        }
    ],
    [
        {
          text: 'Хочу перейти на ваш сайт',
          url: 'http://www.brandlogistics.ru' //внешняя ссылка
        }
      ]
  ];

// обработчик события присылания нам любого сообщения
bot.on('message', (msg) => {
  const chatId = msg.chat.id; //получаем идентификатор диалога, чтобы отвечать именно тому пользователю, который нам что-то прислал

  // отправляем сообщение
  bot.sendMessage(chatId, 'Здравствуйте! Вас приветствует информационный бот brandnetwork, что бы вы хотели узнать?', { // добавляю клавиатуру
        reply_markup: {
            inline_keyboard: keyboard
        }
    });
});

// обработчик событий нажатий на клавиатуру
bot.on('callback_query', (query) => {
    const chatId = query.message.chat.id;

    let img = '';
    let text = "ПРвиет";

    if (query.data === 'moreWhat') { // если что это?
        img = 'What.png';
        text = "ПРвиет";
    }

    if (query.data === 'moreHow') { // если как?
        img = 'What.png';
    }
    if (query.data === 'moreWhatInclude') { // если что входит?
        img = 'What.png';
    }

    if (img) {
        bot.sendPhoto(chatId, img, { // прикрутим клаву
            reply_markup: {
                inline_keyboard: keyboard
            }
        });
    } else {
        bot.sendMessage(chatId, 'Я вас не понял, давайте попробуем ещё раз?', { // прикрутим клаву
            reply_markup: {
                inline_keyboard: keyboard
            }
        });
    }
  });
  • Вопрос задан
  • 841 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Как то так.
const opts = {
    'caption': 'Caption *bold*', // <-
    'parse_mode': 'markdown'
};
  
bot.sendPhoto(msg.chat.id, photo_url , opts);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы