gpt4 book ai didi

javascript - Node Telegraf 回调按钮

转载 作者:行者123 更新时间:2023-12-02 21:07:25 29 4
gpt4 key购买 nike

对于我们需要在简单键盘(非内联)中将数据传递给回调按钮的内容,如果这不重要的话?

示例:

const mainMenuKeyboard = Markup.InlineKeyboard([
Markup.callbackButton('Add', 'addAction),
]).resize().extra();

现在,如果我想捕获“addAddress”操作,我可以这样做:

bot.action('addAction',(ctx) => <WHATEVER>);

一切正常&但是,当我想在项目中使用简单键盘(不是内联)时,我无法使用“bot.action("addAction")”捕获此操作,我必须使用“bot.hears("Add")”:

const mainMenuKeyboard = Markup.keyboard([
Markup.callbackButton('Add', 'addAction),
]).resize().extra();

不工作

bot.action('addAction',(ctx) => <WHATEVER>);

工作

bot.hears('Add',(ctx) => <WHATEVER>);

最佳答案

您不应在 Markup.keyboard( InlineKeyboardButton ) 内使用 Markup.callbackButton(即 Bot API 上的 ReplyKeyboardMarkup)。

根据 Telegram Bot API 文档,Markup.keyboard( ReplyKeyboardMarkup ) 应包含数组数组(不仅仅是一个数组,顺便说一句,也修复这个问题) KeyboardButton 。并且 Markup.callbackButton(即 API 上的 Inlinekeyboardbutton)应该用于 InlineKeyboard (不回复键盘)。

有关如何在 telegraf 上使用这些的更多示例,check this example out

关于javascript - Node Telegraf 回调按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61189728/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com