@DKENdhdhdasd

Как сделать динамические кнопки telegraf js?

У меня есть бот, в него я добавляю кнопки, но проблема в том, что у меня есть список и мне нужно доставать кнопки из него. код сейчас

message.reply("Test", {
        reply_markup: {
            inline_keyboard: [
                [
                    { text: "But1", callback_data: "data1"},
                    { text: "but2", callback_data: "data2"}
                ]
            ]
        }
    })
  • Вопрос задан
  • 3003 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ainur2015
Программист PHP, КиберСпортсмен
Вы можете создать динамические кнопки в Telegram Bot с помощью Telegraf.js следующим образом:

Установите библиотеку Telegraf.js, если вы еще не сделали этого:

npm install telegraf
Создайте обработчик кнопки с помощью метода callbackButton():

const { Markup } = require('telegraf');

bot.command('dynamic-buttons', (ctx) => {
  return ctx.reply(
    'Dynamic buttons example.',
    Markup.inlineKeyboard([
      Markup.callbackButton('Option 1', 'option1'),
      Markup.callbackButton('Option 2', 'option2'),
      Markup.callbackButton('Option 3', 'option3')
    ]).extra()
  )
})

Добавьте обработчик для обратного вызова события нажатия кнопки с помощью метода action():

bot.action('option1', (ctx) => {
  return ctx.answerCbQuery('Option 1 selected!')
})

bot.action('option2', (ctx) => {
  return ctx.answerCbQuery('Option 2 selected!')
})

bot.action('option3', (ctx) => {
  return ctx.answerCbQuery('Option 3 selected!')
})

Запустите бота с помощью метода launch():
bot.launch()
Попробуйте нажать кнопки в вашем боте Telegram и убедитесь, что они работают как ожидалось.
Ответ написан
Ваш ответ на вопрос

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

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