User Tools

Site Tools


chat-bots:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov

Differences

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

Link to this comparison view

Next revision
Previous revision
chat-bots:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov [2025/12/11 11:21] – aiogram page olegsklyarovchat-bots:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov [2025/12/11 11:41] (current) – [Практика (для зачета)] olegsklyarov
Line 7: Line 7:
 Если ссылки с документацией aiogram не открываются, то используйте VPN или оффлайн PDF — {{ :chat-bots:docs-aiogram-dev-en-3.23.0.pdf |}} Если ссылки с документацией aiogram не открываются, то используйте VPN или оффлайн PDF — {{ :chat-bots:docs-aiogram-dev-en-3.23.0.pdf |}}
  
-  * +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/long_polling.html|aiogram: Long Polling]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/dispatcher.html|aiogram: Dispatcher]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/router.html|aiogram: Router]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/filters/magic_filters.html|aiogram: Magic filters]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/dependency_injection.html|aiogram: Dependency injection]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/middlewares.html|aiogram: Middlewares]] 
 +  * [[https://docs.aiogram.dev/en/v3.23.0/dispatcher/finite_state_machine/index.html|aiogram: FSM (Finite State Machine)]]
 ==== Практика (для зачета) ==== ==== Практика (для зачета) ====
  
-  - Выполнить упражнение по сравнению sync VS. async версий http и SQL запросов. Пример кода тут https://github.com/olegsklyarov/unn-sync-async-demo +Реализовать простейший echo-бот с использованием aiogram
-  - Добавить логирование времени выполнения всех HTTP и SQL запросов в pizza bot. +
-  - Перевести pizza bot на асинхронный вариант: весь код бота должен работать в Event loop, запускаться через ''asyncio.run()''. Добавить везде где необходимо async / await. Все HTTP и SQL запрос должны быть асинхронными, и использованием aiohttp и asyncpg соответственно. +
-  - Перевести pytest тесты на асинхронную версию +
-  - Залейте в docker hub новую асинхронную версию+
  
 +  - Используем свой github репозиторий, в котором делали предыдущие Д/з (Pizza Bot и т.д.)
 +  - Создаем новый git бранч c названием ''12-aiogram'', переключаем git на эту новую ветку
 +  - Удаляем все файлы и каталоги от Pizza Bot: domain, infrastructure, tests, handlers и т.п. Оставляем только структуру папок, Dockerfile, Makefile и т.п.
 +  - В requirements.txt добавляем aiogram, удаляем неиспользуемые библиотеки (например asyncpg, aiohttp)
 +  - Весь код echo бота реализуем в одном файле %%bot/__main__.py%%
 +  - Бот должен быть асинхронным (использовать asyncio), обновления получать при помощи Long Polling встроенный в aiogram. Использовать один Dispatcher для обработки событий и middleware.
 +  - Добавить обработчик для message.text → в ответ на этой событие, бот отвечает тем же текстом, что получил
 +  - Добавить обработчик для message.photo → в ответ бот отправляет ту же картинку, что получил
 +  - Добавить middleware для логирования в консоль тела всех без исключения updates.
 +
 +P.S. смотри пример реализации в видеозаписи с лекции.
  
 ===Процесс сдачи=== ===Процесс сдачи===
Line 21: Line 34:
   - (студент): напишите в ТГ [[https://t.me/olegsklyarov|преподавателю]] **одно** сообщение, содержащее текст:   - (студент): напишите в ТГ [[https://t.me/olegsklyarov|преподавателю]] **одно** сообщение, содержащее текст:
     - ''Для сдачи Д/з aiogram''     - ''Для сдачи Д/з aiogram''
-    - Ссылка на гит с исходным кодом бота+    - Ссылка на гит с исходным кодом бота, сразу на нужный git-бранч (''12-aiogram'')
   - (преподаватель) проверяет наличие зеленой галочки на гитхабе, делает код ревью, при необходимости задает дополнительные вопросы.   - (преподаватель) проверяет наличие зеленой галочки на гитхабе, делает код ревью, при необходимости задает дополнительные вопросы.
   - (преподаватель) отправляет с ТГ личку студенту сообщение "ФИО ✅ 🔟+2️⃣"   - (преподаватель) отправляет с ТГ личку студенту сообщение "ФИО ✅ 🔟+2️⃣"
chat-bots/aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov.1765441266.txt.gz · Last modified: by olegsklyarov