我正在通过Botman开发一个电报机器人,它显示带有回调模式的电报内联键盘。收到callback_query
电报后,我会第一次回复answerCallbackQuery
哪个工作得很好。
问题是第一次点击回调按钮后,该按钮会从消息中消失。
callback_query
在机器人服务器上完成电报的请求执行之前,该按钮会一直显示。安装botsleep(10)
服务器后,10秒后按钮消失。
Botman 处理程序代码:
$botman->hears('/inline', function (BotMan $bot) {
$bot->reply(
"Inline Keyboard Message",
Keyboard::create()
->type(Keyboard::TYPE_INLINE)
->addRow(KeyboardButton::create("callback")->callbackData("callback"))
->oneTimeKeyboard(false)
->toArray()
);
});
$botman->hears('callback', function (Botman $bot) {
$callback = Request::input('callback_query.id');
$bot->sendRequest('answerCallbackQuery', [
'callback_query_id' => $callback,
'text' => 'Message Received',
'show_alert' => true,
]);
sleep(10);
});
我什至尝试在answerCallbackQuery
通过editMessageReplyMarkup
方法发送后更新键盘。即使按钮得到更新,但在请求执行完成后它们仍然消失。