User Tools

Site Tools


chat-bots:dispatcher_klaviatury

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
chat-bots:dispatcher_klaviatury [2025/10/14 18:03] – [Практика (для зачета)] olegsklyarovchat-bots:dispatcher_klaviatury [2025/10/14 18:28] (current) – [Практика (для зачета)] olegsklyarov
Line 12: Line 12:
 Дорабатываем бот из прошлого Д/з (новый создавать не нужно). Дорабатываем бот из прошлого Д/з (новый создавать не нужно).
  
-Требуется реализовать модули:+===Требуется реализовать модули===
  
   - ''dispatcher.py'', содержащий класс ''Dispatcher''   - ''dispatcher.py'', содержащий класс ''Dispatcher''
   - ''long_polling.pu'', содержащий функцию ''start_long_polling()''. Эта функция принимает на вход объект типа ''Dispatcher'' и запускает бесконечный цикл получения апдейтов от Telegram. Так же контролирует обновление ''offset'' для ''getUpdates''.   - ''long_polling.pu'', содержащий функцию ''start_long_polling()''. Эта функция принимает на вход объект типа ''Dispatcher'' и запускает бесконечный цикл получения апдейтов от Telegram. Так же контролирует обновление ''offset'' для ''getUpdates''.
   - ''handler.py'' с базовым классом ''Handler'' (интерфейс ABC)   - ''handler.py'' с базовым классом ''Handler'' (интерфейс ABC)
-  - ''handlers/message_text_echo.py'' с классом ''MessageTextEcho(Handler)'', который обрабатывает текстовые апдейты. Поведение отправить эхо сообщение (как в прошлом Д/з). +  - ''handlers/message_text_echo.py'' с классом ''MessageTextEcho(Handler)'', который обрабатывает текстовые апдейты. Поведение — отправить эхо сообщение (как в прошлом Д/з). 
-  - ''handlers/database_logger.py'' с классом ''DatabaseLogger(Handler)'', который обрабатывает все входящие апдейты. Поведение записать апдейт в таблицу ''telegram_updates'' (как в прошлом Д/з). **Важно**: данный хэндлер даёт сигнал диспетчеру на ПРОДОЛЖЕНИЕ обработки. +  - ''handlers/database_logger.py'' с классом ''DatabaseLogger(Handler)'', который обрабатывает все входящие апдейты. Поведение — записать апдейт в таблицу ''telegram_updates'' (как в прошлом Д/з). **Важно**: данный хэндлер даёт сигнал диспетчеру на __продолжение__ обработки. 
-  - ''handlers/message_photo_echo.py с классом ''MessagePhotoEcho(Handler)'', который обрабатывает апдейты с фото. Поведение отправить эхо сообщение с той же картинкой (отправить картинку с максимальным в байтах размером)+  - ''handlers/message_photo_echo.py'' с классом ''MessagePhotoEcho(Handler)'', который обрабатывает апдейты с фото. Поведение — отправить эхо сообщение с той же картинкой (отправить картинку с максимальным в байтах размером) 
 +  - Внесите сопутствующие изменения в ''__main__.py'' и остальные файлы при необходимости.
  
 +===Процесс сдачи===
 +
 +Свяжитесь в ТГ с [[https://t.me/olegsklyarov|преподавателем]] для выбора удобного времени сдачи.
 +
 +  - (студент): напишите в ТГ [[https://t.me/olegsklyarov|преподавателю]] **одно** сообщение, содержащее текст:
 +    - ''Для сдачи Д/з Dispatcher, бот запущен''
 +    - Ссылка на гит с исходным кодом бота
 +    - Ссылка на ваш бот
 +  - (преподаватель) отправляем вашему боту тестовые сообщения, проверяет что пришли эхо сообщения.
 +  - (преподаватель) пишем вам в ТГ личку запрос на скриншоты терминала с запущенным ботом и результат выполнения SQL запроса
 +  - (студент) сделать запрошенные скриншоты, отправить в личку преподавателю
 +  - (преподаватель) проверяет скриншоты, при необходимости задает дополнительные вопросы.
 +  - ...
 +  - (преподаватель) отправляет с ТГ личку студенту сообщение "ФИО ✅ 4️⃣"
 +  - (студент) заходит [[chat-bots:Таблица успеваемости|на страницу успеваемости]] и проверяет корректность своей успеваемости.
  
  
chat-bots/dispatcher_klaviatury.1760454226.txt.gz · Last modified: by olegsklyarov