Почему я получаю исключение "слишком длинная разметка ответа", хотя моя встроенная клавиатура не слишком длинная? - PullRequest
0 голосов
/ 03 мая 2019

Итак, я получаю эту ошибку «[400] Bad Request: слишком длинная разметка ответа», и я даже не понимаю, почему Telegram считает ее слишком длинной.Моя разметка ответа содержит только клавиатуру с одним рядом кнопок из одного столбца!Как, черт возьми, это так долго?

Код, куда я посылаю эти кнопки:

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 голосов
/ 03 мая 2019

Проблема в том, что вы не можете отправлять кнопки с нулевым текстом.Telegram не может обработать этот текст и выдает ошибку, и почему-то библиотека Telegram.Bot в .NET говорит, что проблема не в нулевом тексте, а в том, что речь идет о длине сообщения.

Но в вашем конкретном случае это ошибка (ваша библиотека сообщает вам, что речь идет о длине сообщения).Проблема в том, что вы Text=null вместо инициализации этой кнопки.

...