Авторские права на сайт принадлежат Данилу и Евгению Гилядовым
Вот подробное описание настройки маршрутизации и обработчиков в чат-боте на aiogram
Роутинг в aiogram осуществляется с помощью регистрации хендлеров в диспетчере.
Хендлеры - это асинхронные функции-обработчики событий от Telegram.
Регистрация основных типов хендлеров:
### Команды
```python
@dp.message_handler(commands=['start', 'help'])
async def send_welcome(message: types.Message):
```
### Текстовые сообщения
```python
@dp.message_handler()
async def echo(message: types.Message):
```
### Кнопки
```python
@dp.callback_query_handler()
async def callback_handler(query: types.CallbackQuery):
```
### Ошибки
```python
@dp.errors_handler()
async def error_handler(update: types.Update, exception: Exception):
```
Для более точного роутинга можно использовать фильтры:
```python
@dp.message_handler(text='Red', state=Form.color)
@dp.message_handler(text=['Red', 'Blue'], state=Form.color)
```
Также можно группировать хендлеры в классах:
```python
class RegistrationHandlers:
@dp.message_handler()
async def register(message: types.Message):
```
Приоритет регистрации хендлеров определяет порядок их выполнения.
Такой подход позволяет гибко настроить маршрутизацию разных типов событий и запросов в чат-боте. Комбинирование декораторов, фильтров и классов дает полный контроль над логикой обработки.