对于我们需要通过简单键盘(非嵌入式)将数据传递给回调按钮的内容,如果那没关系的话?
例:
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.callbackButton(这是InlineKeyboardButton在机器人API)内Markup.keyboard(ReplyKeyboardMarkup)。
根据电报博特API文档,Markup.keyboard(ReplyKeyboardMarkup)应包含数组的数组(不只是一个数组顺便说一句,修复程序以及)的KeyboardButton。和Markup.callbackButton(这是Inlinekeyboardbutton对API)应该用于InlineKeyboard(不回复键盘)。
有关如何在telegraf上使用这些示例的更多示例,请查看此示例
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句