0

我正在用 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)
    });

所以基本上我想要实现的是,每当用户点击按钮时,我想增加计数器,以便我可以跟踪/计数总按钮点击次数。如果我使用url. inline_keyboard如果我删除该url字段,则会触发回调。

有人可以帮我实现这个功能吗?

4

2 回答 2

0

API 文档解释了其中一个字段datagame_short_name将出现在callback_query更新中。这意味着当且仅当按钮具有data字段或callback_game为其定义时,机器人才会收到通知。由于您的按钮两者都没有,因此按下按钮不会通知机器人。

于 2021-06-17T20:20:25.270 回答
0

请删除标签 py-telegram-bot-api,py 是用于 python。

于 2021-07-13T13:18:43.203 回答