我正在将这个电报机器人作为Google应用程序创建(在电子表格中),因此我无法将任何软件包用于诸如Telegraph或Telebot的Node.js。
我需要做的是,对于每个按下的内联按钮,机器人将执行特定的操作。这是在消息下方显示键盘的代码
bot.replyToSender("Quello inserito non è un codice utente valido. Il codice utente deve essere un numero!",JSON.stringify({
"inline_keyboard": [
[{ "text": "BUTTON_1", url: "SOME_RANDOM_URL_HERE"}], //This button does work, it sends me to the specific url
[{ "text": "BUTTON_2", "callback_data" :"B"}]
]
}));
当我想对BUTTON_2做一些操作(例如更改生成该回调的消息或只是回复用户)时,问题就从这里开始。
我只是无法从Telegram的API页面获得任何信息...您能帮我吗?
答案 0 :(得分:0)
我已经创建了一个similar bot,它可以与Google电子表格配合使用,并在执行操作后更新该电子表格,您可以将其签出。我没有在电子表格中使用Google应用。我认为这种方法会困难得多,因为您无法利用大多数可用的库来为您完成大部分工作。
要回答该问题,您需要使用docs中可用的方法answercallbackquery
。我不知道使用Google App会看起来如何,但它看起来应该像这样
if (query.data === "B") { // query is an object from the response you get when the user clicks the inline button
bot.answercallbackquery(query.id, {
text: `You successfully clicked the button`
});
}
对于您来说,这可能不是完全相同的实现,但是answerInlineQuery
的字段是相同的。
您可以检查我如何实现它here
这可能有点令人困惑,因为我使用了telegram-node-bot,它使用了MVC,因此需要先在index.js file中设置内联查询,然后才能使用answercallbackquery
方法。
但是,它工作得很好。随时提出其他问题。
欢呼)