Введение в роутеры 0:00 Сурен объясняет, что такое роутеры и зачем они нужны. В файле main.py содержится вся логика бота, что делает его сложным для обновления и поиска кода. Рекомендуется разбивать код на отдельные модули для удобства разработки.
Преимущества роутеров 1:25 Роутеры позволяют изолировать эндпоинты, обрабатывающие запросы пользователей. Это помогает легче ориентироваться в коде и модифицировать его. Роутеры можно использовать вместо диспетчера для регистрации обработчиков.
Импорт и инициализация роутеров 2:16 Роутер импортируется из aiogram и инициализируется. Роутер можно использовать вместо диспетчера для регистрации обработчиков. Роутеры можно подключать к основному приложению для обработки запросов.
Создание и подключение роутеров 3:35 Роутер в aiogram наследуется от класса, который занимается принятием простых апдейтов и запуском бота. Новые роутеры можно использовать для регистрации команд и использования фильтров. Важно подключить роутер к основному приложению для корректной работы.
Перенос базовых команд в отдельный модуль 4:33 Создается новый пакет для базовых команд и обработчиков. Переносятся все файлы и роутеры в новый модуль. Роутер подключается к основному приложению для корректной работы.
Проверка работы роутеров 8:09 Проверяется работа базовых команд после переноса в отдельный модуль. Все команды продолжают работать, но основной модуль уменьшается. Перенос остальных команд в отдельный модуль для дальнейшего улучшения.
Перенос пользовательских команд 10:05 Создается новый модуль для пользовательских команд. Переносятся все команды и обработчики в новый модуль. Роутер подключается к основному приложению для корректной работы.
Подключение роутеров 11:59 Подключение базового роутера и роутера для команд пользователя. Использование инклюд роутеров для передачи нескольких роутеров. Проверка работы команд пользователя в телеграм-чате.
Проблемы с обработкой команд 12:40 Команды пользователя не обрабатываются должным образом. Важность порядка обработки роутеров. Исправление порядка подключения роутеров для корректной обработки команд.
Маршрутизация роутеров 15:09 Порядок обработки роутеров: текущий роутер, следующий роутер и т.д. Перенос обработчика эхо-сообщения в отдельный роутер. Создание нового файла для обработки эхо-сообщения.
Перенос обработчиков 16:50 Перенос обработчиков медиа и админских команд в отдельные роутеры. Создание новых роутеров для обработки медиа и админских команд. Подключение новых роутеров к основному роутеру.
Проверка работы новых роутеров 21:28 Проверка работы обработчиков медиа в телеграм-чате. Перенос оставшихся обработчиков в отдельный модуль. Создание отдельного роутера для админских команд.
Регистрация админских команд 22:55 Указание админских ID в настройках. Перенос админских команд в отдельный роутер. Регистрация админских команд в конце, после пользовательских.
Оптимизация кода 25:04 Перенос диспетчера и роутера в мейн. Удаление ненужных комментариев и импортов. Главный модуль занимает всего 30 строк.
Проверка работы 26:00 Перезапуск и проверка работы бота. Обработка стандартных команд, таких как "пик" и "старт". Указание порядка обработки запросов в роутере.
Работа с файлами и кодами 26:35 Обработка текстовых файлов и кодов. Разделение кода на модули для удобства работы. Возможность вложенных роутеров и порядок их обработки.
Заключение и благодарности 27:33 Роутеры как вложенные модули. Призыв к использованию роутеров для оптимизации кода. Благодарности подписчикам и приглашение на бесплатный ролик на Бусти. Призыв подписаться на другие соцсети и поддержка автора.