@andrey71
учу C#, ASP.NET Core

Как разместить динамические кнопки в telegram в колонку?

Добрый день!
Подскажите пожалуйста, как разместить динамические кнопки в telegram в колонку?
Суть в следующем: боту отправляется запрос, он отвечает на него не сообщением, а кнопками. Кнопок может быть разное количество, не фиксированное.
Я нашел подобную задачу, но там кнопки выводятся в строку.
Вот так получается:
5d2999e6b5521942005099.png
Переписать код под нужный результат - не получилось.

В документации к api я примера не нашел.
Если вы генерировали кнопки InlineKeyboardButton динамически, подскажите как Вы это делали.
Спасибо!
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
@andrey71 Автор вопроса
учу C#, ASP.NET Core
Не совсем это ответ конечно, но из положения вышел так. (после долгих попыток)

В цикле, который читает значения из базы я разместил такой код:
var inlineKeyboard = new InlineKeyboardMarkup(new[] { new[] { InlineKeyboardButton.WithCallbackData(rdrValue, rdrValue) } });
await Bot.SendTextMessageAsync(message.Message.Chat.Id, "-->", replyMarkup: inlineKeyboard);


Тем самым получил в принципе желаемый результат.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@no5carry
Если нужно по одной кнопке в строке : {keyboard: [["A"], ["B"], ["C"]]}
Если много кнопок в строке: {keyboard: [["A", "B", "C"],["D","E"]]}
Хз как это будет на Шарпе, думаю как-то так

private static InlineKeyboardButton[][] GetInlineKeyboard(string [] stringArray)
{
var keyboardButtons = new InlineKeyboardButton[stringArray.Length];
for (var i = 0; i < stringArray.Length; i++)
{
btn = new InlineKeyboardButton
{
Text = stringArray[i],
CallbackData = "Some Callback Data",
};
keyboardButtons[i] = [btn];
}
return keyboardButtons;
}

var buttonItem = new[] { "one", "two", "three", "Four" };
var keyboardMarkup = new InlineKeyboardMarkup(GetInlineKeyboard(buttonItem));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Emsoft Москва
от 110 000 до 180 000 ₽
Tennisi Москва
от 170 000 ₽
ITM Холдинг Екатеринбург
от 70 000 ₽
17 февр. 2020, в 19:08
40000 руб./за проект
17 февр. 2020, в 17:35
15000 руб./за проект
17 февр. 2020, в 17:25
10000 руб./за проект