Я пишу телеграмм бота на C#, использую библиотеку Telegram.Bot. Когда на Callback кнопке очень много текста он не помещается на нее и телеграмм автоматически дописывает "...".
Есть ли способ изменить размер кнопки, чтобы весь текст помещался на нее или сделать так, чтобы текст автоматически прокручивался по кнопке?
if(ev.CallbackQuery.Data == "callback1") {
var keyboard = new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(
new Telegram.Bot.Types.InlineKeyboardButton[][]
{
new [] {
// First column
new Telegram.Bot.Types.InlineKeyboardButton("Button
text","callback2"),
},
new [] {
new Telegram.Bot.Types.InlineKeyboardButton(
"Thi is exampl. example example example.A lot of text
that does not fit on the button","callback3"),
},
}
);
await Bot.SendTextMessageAsync(message.Chat.Id, "Message text", false,
false, 0, keyboard, Telegram.Bot.Types.Enums.ParseMode.Default);
}
Вот как это выглядит:
Ответ
Нет, в текущей версии бот апи не реализован перенос строк и тп. Да оно и логично с точки зрения UX/UI - как будут выглядеть разнокалиберные кнопки или каково будет пользователю пытаться прокрутить текст в кнопке на 4 дюймовом экране? Просто мука для эстета и перфекциониста. Бот апи не может служить абсолютной заменой мобильным приложениям по понятным причинам - возможности не те.
Выход есть, точнее - их даже два:
1. Используйте лаконичные надписи, тестируйте на разных устройствах.
То, что не годится для 5 дюймов, прекрасно подходит для десктопа и наоборот
2. Если надпись невозможно уместить в требуемый размер - используйте разъясняющие сообщения.
Можно предварять поясняющим сообщением непосредственно сообщение, с той самой инлайн-кнопкой, на которой, в свою очередь, за счёт того, что пояснение уже было, надпись можно выводить упрощённо. Например - поясняющее сообщение - Предлагаем Вам выбрать грибы. К съедобным грибам относятся .... К несъедобным относятся ... Далее сообщение с инлайн-кнопками - Ознакомьтесь с нашим ассортиментом Выбрать съедобные Выбрать несъедобные
Комментариев нет:
Отправить комментарий