我正在尝试使用 Node js 编写一个 Telegram Bot ,并且我正在向用户发送键盘:
var keyboards = {
main_menu: {
reply_markup: {
keyboard: [
[{text: "Cards"}, {text: "Progress"}],
[{text: "Warning"}, {text: "Help"}]
]
}
}
};
bot.onText(/\/keyboard/, (msg) => {
console.log(keyboards.main_menu);
bot.sendMessage(msg.from.id, "Main menu", keyboards.main_menu);
console.log(keyboards.main_menu);
});
这就是我在控制台上的内容:
{ reply_markup: { keyboard: [ [Array], [Array] ] } }
{ reply_markup:
'{"keyboard":[[{"text":"Cards"},{"text":"Progress"}],[{"text":"Warning"}, {"text":"Help"}]]}',
chat_id: 276984822,
text: 'Main menu' }
所以我不知道为什么,但发送键盘 Telegram 后,将 chat_id
和 text
添加到我的键盘。我该怎么办?
最佳答案
我找到了解决方法 - 你应该像这样发送键盘:
bot.sendMessage(msg.from.id, "主菜单", {reply_markup: Keyboards.main_menu});
实际上下一个变体也会起作用:
bot.sendMessage(msg.from.id, "主菜单", {reply_markup: Keyboards.main_menu.reply_keyboard});
关于node.js - Telegram Bot 中的reply_markup( Node js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698646/