为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
jeck猫 2023-08-13 15:33:24
如何创建一个带有多个按钮(每行一个)的内联键盘?喜欢:inlineBtn1 inlineBtn2 inlineBtn3 ...不是:inlineBtn1  inlineBtn2  inlineBtn3 ...
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我解决了


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 如果你不传递任何这些字段,按钮将毫无用处。


查看完整回答
反对 回复 2023-08-13
?
慕慕森

TA贡献1856条经验 获得超17个赞

要使用内联键盘向聊天发送消息,请使用or方法replyMarkup的参数。它可以是或。的构造函数接受按钮行数组(每个按钮行又包含给定行中的按钮数组)。要创建每行一个具有多个按钮的内联键盘,请传递一个包含多行且每行一个元素的数组:TelegramBot.SendMessageTelegramBot.SendMessageAsyncReplyKeyboardMarkupInlineKeyboardMarkupInlineKeyboardMarkup


TelegramBot 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

        }));

该消息应如下所示:

https://img1.sycdn.imooc.com//64d88770000191b503350188.jpg

查看完整回答
反对 回复 2023-08-13
  • 2 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信