A
A
Alexey2021-02-24 11:37:13
JavaScript
Alexey, 2021-02-24 11:37:13

How to make the text appear along with the picture in the telegram bot?

It turned out to display pictures when clicking on the button, but I don’t understand how to make it so that the picture and text are displayed

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
            }
        });
    }
  });

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Alex, 2021-02-24
@Kozack

Something like this.

const opts = {
    'caption': 'Caption *bold*', // <-
    'parse_mode': 'markdown'
};
  
bot.sendPhoto(msg.chat.id, photo_url , opts);

S
snap44, 2017-11-12
@snap44

October 10 - How to master React
November 12 - how to make a countdown
The more questions I meet, the more confident I am that everything is not in vain and I can find a job.

V
VitaliiMayk, 2017-11-08
@VitaliiMayk

flipclockjs.com

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question