Задать вопрос
@Angry_Princess

Пропадает обычная клавиатура в декстопной версии Telegram, в чем может быть проблема?

Именно в декстопной версии телеграм пропадают кнопки обычной клавиатуры, не скрываются, а именно пропадают, пока не отправишь команду start . В мобильной версии все работает нормально. Не могу понять в чем дело, бот на python3
  • Вопрос задан
  • 2264 просмотра
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@Gridev
Аналогичная проблема на десктоп версии.
Баг проявляется если перезапустить Telegram - клавиатура KeyboardMarkup пропадает, при этом кнопки для отображения клавиатуры нет, вызвать её можно командой /start или скроллом вверх на несколько сообщений.
Также чтобы баг воспроизводился, нужно чтобы сообщений в чате с ботом было много (20 хватит, чтобы прокрутка была).
При этом заметил, что у чужих ботов (например @WeathersBot) с аналогичной клавиатурой - бага нет, значит проблема в коде.

Разобрался, это не баг телеграм клиента, скорее фича.
Это происходит когда мы используем клавиатуру KeyboardMarkup.
При этом, мы отправляем клавиатуру только с первым сообщением, например при /start и в дальнейшем не отправляем её, клавиатура как-бы вызывается этим сообщением, и если наше сообщение уплыло далеко вверх, то при следующем запуске клиента она не отобразится.
Когда мы будем прокручивать вверх сообщения, и приблизимся к сообщению в котором отправлена клава, она сразу отобразится, в принципе наверное это логичное поведение.

Проблемы не будет если клавиатуру отправлять с каждым сообщением отправляемым ботом.

Кстати, проверил, фича проявляется и в мобильном клиенте, чтобы она проявилась, нужно:
Написать достаточно сообщений (штук 20) в бот, так чтобы сообщение в котором вызывается клавиатура уплыло вверх.
Потом нужно выполнить: Настройки -> Данные и память -> Использование памяти -> Очистить базу данных
Телеграм можно не перезапускать, заходим в наш бот, и увидим что клавиатура пропала, прокручиваем вверх и она появится.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы