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

Как получить callback data при клике на Markup.keyboard Telegraf?

Подскажите пожалуйста как получить callback data при клике на Markup.keyboard?
Нужно получить callback data именно из обычного Markup.keyboard
Буду очень благодарен за ответ

Не рабочий код, action не выполняется:

bot.hears(' Search', async (ctx) => {
    return await ctx.reply(
      'Custom buttons keyboard',
      Markup.keyboard([Markup.button.callback('TEST', 'test')])
        .oneTime()
        .resize()
    )
  })

  bot.action('test',  async (ctx) => {
    console.log('ctx)
    return await ctx.reply(
      'Custom buttons keyboard',
      Markup.keyboard([[' 1', ' 2'], ['☸ 3', ' 4'], [' 5', '⭐️ 6', ' 7'], ['Back']])
        .oneTime()
        .resize()
)
  })
  • Вопрос задан
  • 2570 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@StasEx
Коллбек реагирует на имя, указанное в качестве второго аргумента callback, в вашем случае test.
Markup.keyboard([Markup.button.callback('TEST', 'test')])


Чтобы отловить коллбек по имени, нужно создать action:
bot.action('test');
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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