User Tools

Site Tools


chat-bots-2025-fall:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov

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-2025-fall:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov [2026/03/02 12:34] – removed - external edit (Unknown date) 127.0.0.1chat-bots-2025-fall:aiogram_-_uskorjaem_v_razy_razrabotku_telegram_botov [2026/03/02 12:34] (current) – ↷ Links adapted because of a move operation olegsklyarov
Line 1: Line 1:
 +====== Aiogram - ускоряем в разы разработку Telegram ботов ======
 +
 +===== Д/З =====
 +
 +==== Reading assignment (прочитать и понять) ====
 +
 +Если ссылки с документацией aiogram не открываются, то используйте VPN или оффлайн PDF — {{ chat-bots-2025-fall: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)]]
 +==== Практика (для зачета) ====
 +
 +Реализовать простейший echo-бот с использованием aiogram
 +
 +  - Используем свой 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. смотри пример реализации в видеозаписи с лекции.
 +
 +===Процесс сдачи===
 +
 +  - (студент): напишите в ТГ [[https://t.me/olegsklyarov|преподавателю]] **одно** сообщение, содержащее текст:
 +    - ''Для сдачи Д/з aiogram''
 +    - Ссылка на гит с исходным кодом бота, сразу на нужный git-бранч (''12-aiogram'')
 +  - (преподаватель) проверяет наличие зеленой галочки на гитхабе, делает код ревью, при необходимости задает дополнительные вопросы.
 +  - (преподаватель) отправляет с ТГ личку студенту сообщение "ФИО ✅ 🔟+2️⃣"
 +  - (студент) заходит [[chat-bots-2025-fall:tablica_uspevaemosti|на страницу успеваемости]] и проверяет корректность своей успеваемости.
 +
 +