Skip to content

Callbackquery auto answer

Сергей Иволгин requested to merge callbackquery-auto-answer into main

Описание

Данный MR добавляет в стейт-машину Private chats автоматический вызов CallBackQuery.answer(), что, исходя из документации Telegram API, необходимо для того, чтобы нажатые кнопки inline-клавиатуры в диалоге с Телеграм-ботом переставали подсвечиваться. Добавлена возможность отключать автоматический вызов CallBackQuery.answer() для определенных стейтов.

Добавлен вызов CallBackQuery.answer() в метод process_tg_update класса ActivePrivateChatSession. Добавлен декоратор cancel_callbackquery_auto_answer, отключающий вызов CallBackQuery.answer() в стейт-машине для декорированного стейта. Добавлен автотест для PrivateChatStateMachine, покрывающий случай обработки CallBackQuery в стейте с отключенным авто-ответом на CallBackQuery. В автотест для PrivateChatStateMachine, проверяющий обработку CallBackQuery в обычных стейтах, добавлена проверка на отправку запроса answerCallBackQuery.

Документация CallbackQuery, обоснование необходимости использовать метод answerCallBackQuery в разделе NOTE. Issue по поводу мерцания кнопок.

Чеклист к описанию MR:

  • В описании MR указана польза от изменений: кто получит пользу и почему он хочет этого
  • В описании MR указаны ссылки на соответствующие issues в GitLab, если есть
  • В описании MR приложены фрагменты переписки и/или ссылки на обсуждения, если такие велись за пределами GitLab Issues

Чеклист к коду в репозитории:

  • Новый код покрыт автотестами
  • К каждому новому автотесту в docstring описана функция и история в формате Product Flow
  • Документы Product Flow проверены и обновлены, если требуется
    • новый код совместим с !extension к старым концептам
    • новый код не влезает в !exclusion к старым концептам
    • добавлены новые !example в концепты, если требуется
  • Дока в README перечитана и обновлена, если требуется
  • Дока в CONTRIBUTING.md перечитана и обновлена, если требуется
  • Дока в sphinx_docs/source/index.rst перечитана и обновлена, если требуется
  • Обновлён файл CHANGES.md

Merge request reports