Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在API中创建具有多行的内联键盘?_C#_Telegram Bot - Fatal编程技术网

C# 如何在API中创建具有多行的内联键盘?

C# 如何在API中创建具有多行的内联键盘?,c#,telegram-bot,C#,Telegram Bot,如何创建具有多个按钮(每行一个)的内联键盘 比如: inlineBtn1 inlineBtn2 inlineBtn3 ... 不是: 要使用内联键盘向聊天室发送消息,请使用TelegramBot.SendMessage或TelegramBot.SendMessageAsync方法的replyMarkup参数。它可以是ReplyKeyboardMarkup或InlineKeyboardMarkup。InlineKeyboardMarkup的构造函数接受一个按钮行数组(每个按钮行依次包含给定行中的

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

比如:

inlineBtn1
inlineBtn2
inlineBtn3
...
不是:


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

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
        }));
消息应如下所示:


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

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
        }));
消息应如下所示:

我解决了它

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、回调\u数据或切换\u内联\u查询。如果您不传递这些字段中的任何一个,则该按钮将无效

谢谢亲爱的停下来♥

我解决了

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、回调\u数据或切换\u内联\u查询。如果您不传递这些字段中的任何一个,则该按钮将无效


谢谢亲爱的停下来♥

请指定您用于bot(或其他)的库,以及您试图创建内联键盘的代码。我在nuget pakage manager中使用了TelegrameBotAPI,我正在尝试,但结果是带有一些按钮的1行…请指定您用于bot(或其他)的库,还有你试图创建内联键盘的代码。我在nuget pakage管理器中使用了telegrambotAPI,我尝试了,但结果是有一些按钮的1行……嗨,但这段代码对我不起作用,当我使用它时,机器人不会发送响应。我使用try-and-catch,但没有例外。InlineKeyboardButton类没有任何构造函数,其中一个构造函数的参数为1。InlineKeyboardButton的行数在高度上有限制吗?嗨,但是这个代码对我不起作用,当我使用它时,机器人不会发送响应。我使用try-and-catch,但没有例外。InlineKeyboardButton类没有任何构造函数,其中一个构造函数接受1个参数。InlineKeyboardButton的行数在高度上有限制吗?