User Tools

Site Tools


chat-bots:dispatcher_klaviatury

This is an old revision of the document!


Dispatcher, клавиатуры

Д/З

Reading assignment (прочитать и понять)

Практика (для зачета)

Дорабатываем бот из прошлого Д/з (новый создавать не нужно).

Требуется реализовать модули:

  1. dispatcher.py, содержащий класс Dispatcher
  2. long_polling.pu, содержащий функцию start_long_polling(). Эта функция принимает на вход объект типа Dispatcher и запускает бесконечный цикл получения апдейтов от Telegram. Так же контролирует обновление offset для getUpdates.
  3. handler.py с базовым классом Handler (интерфейс ABC)
  4. handlers/message_text_echo.py с классом MessageTextEcho(Handler), который обрабатывает текстовые апдейты. Поведение — отправить эхо сообщение (как в прошлом Д/з).
  5. handlers/database_logger.py с классом DatabaseLogger(Handler), который обрабатывает все входящие апдейты. Поведение — записать апдейт в таблицу telegram_updates (как в прошлом Д/з). Важно: данный хэндлер даёт сигнал диспетчеру на ПРОДОЛЖЕНИЕ обработки.
  6. handlers/message_photo_echo.py с классом MessagePhotoEcho(Handler), который обрабатывает апдейты с фото. Поведение — отправить эхо сообщение с той же картинкой (отправить картинку с максимальным в байтах размером)
chat-bots/dispatcher_klaviatury.1760454702.txt.gz · Last modified: by olegsklyarov