如何在不在 Telegram 中发送消息的情况下删除回复键盘?

How do you remove reply keyboard without sending a message in Telegram?

在 Telegram 机器人中,您可以使用 reply keyboard using the sendMessage 方法发送消息。

正在显示键盘,而不是普通的 qwerty 键盘。

我们可以通过发送另一条消息并传递 ReplyKeyboardRemove 对象来删除显示的键盘。但是,这需要发送一些无关的消息。

是否可以在不实际发送任何真实消息的情况下移除键盘?

我知道 one_time_keyboard 选项,但它只会隐藏键盘而不会移除它。

您可以使用 editMessageText or editMessageReplyMarkup 编辑消息,而无需传递 reply_markup 即可使其消失。

我使用的是 node-telegram-bot-api,我可以使用 remove_keyboard 来完成。

在所有语言中都有一种方法可以做到这一点。

return bot.sendMessage(chatId, data, {
    parse_mode: 'HTML',
    reply_markup: { remove_keyboard: true },
});

创建键盘时,您使用 sendMessage。从响应中保存 message_id。然后,要删除键盘,请通过调用 deleteMessage(message_id)

删除消息