簡體   English   中英

通過 Node.JS 的 Telegram bot 內聯鍵盤

[英]Telegram bot inline keyboard via Node.JS

我正在使用node-telegram-bot-api模塊,如何使我的鍵盤成為內聯鍵盤? 這是我的代碼:

bot.onText(/^\/start$/, function (msg) {
    const opts = {
        reply_to_message_id: msg.message_id,
        reply_markup: {
            resize_keyboard: true,
            one_time_keyboard: true,
            keyboard: [ ['Level 1'] ]
        }
    };

    bot.sendMessage(msg.chat.id, "I'm a test robot", opts);
});
["

keyboard: [["uno :+1:"],["uno \ud83d\udc4d", "due"],["uno", "due","tre"],["uno", "due","tre","quattro"]]

在您的情況下,解決方案是:

const opts = {
        reply_to_message_id: msg.message_id,
        reply_markup: JSON.stringify({
        inline_keyboard: 
        [
            [{text: 'Level 1'}],
        ]
    })
  };

您可以使用: https ://github.com/RealPeha/telegram-keyboard

該庫如果專注於 Telegraf,但您可以在沒有它的情況下使用。

您只需要在keyboard數組中提供一個InlineKeyboardButton對象而不是純文本。

bot.onText(/^\/start$/, function (msg) {
    const opts = {
        reply_to_message_id: msg.message_id,
        reply_markup: {
            resize_keyboard: true,
            one_time_keyboard: true,
            keyboard: [
              [{text: 'Level 1'}],
            ],
        }
    };

    bot.sendMessage(msg.chat.id, "I'm a test robot", opts);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM