如何在 TelegramBotAPI 中创建多行内嵌键盘?

如何创建一个带有多个按钮(每行一个)的内联键盘?

喜欢:

inlineBtn1
inlineBtn2
inlineBtn3
...

不是:

inlineBtn1  inlineBtn2  inlineBtn3 ...


jeck猫
浏览 207回答 2
2回答

眼眸繁星

我解决了await bot.SendTextMessageAsync(e.Message.Chat.Id, "test", replyMarkup: new InlineKeyboardMarkup(    new InlineKeyboardButton[][]    {        new [] { new InlineKeyboardButton() { Text = "btn 1",CallbackData="Some data1" } }, // buttons in row 1        new [] { new InlineKeyboardButton() { Text = "btn 2", CallbackData = "Some data2" } }, // buttons in row 2        new [] { new InlineKeyboardButton() {Text =  "btn 3", CallbackData = "Some data3" } }// buttons in row 3    }));我们必须恰好使用可选字段之一。所以你必须传递 url、callback_data 或 switch_inline_query 如果你不传递任何这些字段,按钮将毫无用处。

慕慕森

要使用内联键盘向聊天发送消息,请使用or方法replyMarkup的参数。它可以是或。的构造函数接受按钮行数组(每个按钮行又包含给定行中的按钮数组)。要创建每行一个具有多个按钮的内联键盘,请传递一个包含多行且每行一个元素的数组:TelegramBot.SendMessageTelegramBot.SendMessageAsyncReplyKeyboardMarkupInlineKeyboardMarkupInlineKeyboardMarkupTelegramBot bot = ...;Chat chat = ...;await bot.SendMessageAsync(chat.Id, "A message. Use the keyboard below.",    replyMarkup: new InlineKeyboardMarkup(        new InlineKeyboardButton[][]        {            new [] { new InlineKeyboardButton("inlineBtn1") }, // buttons in row 1            new [] { new InlineKeyboardButton("inlineBtn2") }, // buttons in row 2            new [] { new InlineKeyboardButton("inlineBtn3") }  // buttons in row 3        }));该消息应如下所示:
打开App,查看更多内容
随时随地看视频慕课网APP