我正在用NodeJS制作一个电报机器人。这是我遇到问题的代码片段:
let counter = 0
bot.onText(/\flexbox (.+)/i, async (msg, match) => {
console.log(msg)
console.log(match)
const chatId = msg.chat.id;
bot.sendMessage(msg.from.id, 'Original Text', {
reply_markup: {
inline_keyboard: [
[
{
text: `sample text`,
callback_data: 'callbackData',
url: `https://example.com`,
}
]
]
}
});
bot.on('callback_query', function onCallbackQuery(callbackQuery) {
// increment counter when everytime the button is pressed
counter = counter + 1
console.log(counter)
});所以基本上我想实现的是,每当用户点击按钮时,我想要递增计数器,这样我就可以跟踪/计数按钮的总点击次数。如果我在inline_keyboard中使用字段url,回调函数根本不会被触发。如果删除url字段,则会触发回调。
有人能帮我实现这个功能吗?
发布于 2021-06-18 04:20:25
The API Documnetation解释说,data或game_short_name字段中只有一个字段会出现在callback_query更新中。这意味着,如果且仅当按钮具有为其定义的data字段或callback_game时,机器人才会收到通知。由于您的按钮没有这两个按钮,因此按下按钮不会通知机器人。
发布于 2021-07-13 21:18:43
请去掉py-telegram-bot-api标签,py用于python。
https://stackoverflow.com/questions/68002767
复制相似问题