Вы можете создать динамические кнопки в 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 и убедитесь, что они работают как ожидалось.