Используем свой 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. смотри пример реализации в видеозаписи с лекции.