【问题标题】:add a callback to telegram-bot inline_keyboard to count button clicks向电报机器人 inline_keyboard 添加回调以计算按钮点击次数
【发布时间】:2021-09-01 06:42:00
【问题描述】:

我正在用 NodeJS 制作一个电报机器人。这是我遇到问题的代码 sn-p:

    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 字段,则会触发回调。

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

【问题讨论】:

    标签: node.js telegram telegram-bot py-telegram-bot-api node-telegram-bot-api


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      请去掉py-telegram-bot-api标签,py是python用的。

      【讨论】:

        猜你喜欢
        • 2017-08-04
        • 2017-08-17
        • 1970-01-01
        • 2022-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        • 1970-01-01
        相关资源
        最近更新 更多