尽管我的嵌入式键盘不太长,为什么会收到“回复标记太长”的异常?

时间:2019-05-03 13:31:35

标签: c# telegram-bot

因此,我收到此“ [400]错误的请求:回复标记太长”错误,我什至不明白为什么电报认为它太长。我的答复标记仅包含带有一行一列按钮的键盘!到底有多久?

我将这些按钮发送到的代码:

public static async Task SendInlineKeyboard(Message message, TelegramBotClient client)
{
      var inlineKeyboard = new InlineKeyboardMarkup(new[]
      {
          new [] // first row
          {
               new InlineKeyboardButton
               {
                    CallbackData = "SomeData",
                    Text = null
               };
          }
      });

      await Bot.SendTextMessageAsync(
            message.Chat.Id,
            "Choose",
            replyMarkup: inlineKeyboard);
}

1 个答案:

答案 0 :(得分:0)

问题是您不能发送带有空文本的按钮。 Telegram无法处理该文本并给您一个错误,.NET中的Telegram.Bot库指出,这不是有关空文本的问题,而是有关消息长度的。

但是在您的特定情况下,这是一个错误(您的库告诉您消息的长度)。问题在于您的Text=null代替了初始化按钮。