skip to Main Content

I’m using the node-telegram-bot-api module,
How can I make my keyboard to inline Keyboard?
This is my code:

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);
});

4

Answers


  1. I answered a question similar to this link: How can create menu for telegram bot in bot father?

    in your case you could use:

    keyboard: [["uno :+1:"],["uno ud83dudc4d", "due"],["uno", "due","tre"],["uno", "due","tre","quattro"]]
    
    Login or Signup to reply.
  2. In your case the solution would be:

    const opts = {
            reply_to_message_id: msg.message_id,
            reply_markup: JSON.stringify({
            inline_keyboard: 
            [
                [{text: 'Level 1'}],
            ]
        })
      };
    
    Login or Signup to reply.
  3. You could use:
    https://github.com/RealPeha/telegram-keyboard

    The library if focused on Telegraf, but you could use without it.

    Login or Signup to reply.
  4. You just need to provide an InlineKeyboardButton object instead of plain text in your keyboard array of arrays.

    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);
    });
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search