Что это
Библиотека Python для сетевых запросов без ожидания: бот ходит в чужие API и в это же время отвечает людям. Умеет быть и клиентом, и небольшим веб-сервером.
Как используем
Через неё бот продажи подписок обращается к API панели Marzban, бот сообщества «Дыхание Поволжья» читает каталог с сайта, а сервис открыток UNLOCK отдаёт настройки открыток и принимает ответы получателей.
Где это нужно бизнесу
- Боту нужно ходить в чужие API — панель, сайт, сервис — и не тормозить при этом с ответами людям.
- Небольшому сервису нужен свой веб-сервер без тяжёлого фреймворка.
Как мы это используем
- API сервиса открыток. В UNLOCK на aiohttp работает API, которое отдаёт настройки открыток и принимает выбор получателя.
- Бот сообщества ВКонтакте. Бот «Дыхания Поволжья» на aiohttp работает через Long Poll и читает каталог с сайта.
- Связь с панелью. Бот продажи подписок обращается к API Marzban, а в режиме webhook aiohttp служит встроенным веб-сервером.
- Внутренний API. Бот входа в «Переговорку» ходит во внутренний API сервиса через aiohttp.
- Клиенты метаданных. В ToshaMusic — запросы к API Qobuz, Deezer и Tidal и HTTP-сервер headless-режима.
Типичные проблемы
- Сервис по ту сторону не отвечает. Нужны таймауты и понятное сообщение пользователю. Бот входа, если туннель упал, честно отвечает, что сервис чата не отвечает.
- Повторы с растущей паузой. В Tech Poly VPN запросы к базе, Marzban, Telegram и ВКонтакте повторяются с нарастающей задержкой, а не долбят сервис подряд.
Когда это не нужно
Для сайта с моделями, валидацией и документацией API удобнее FastAPI. aiohttp хорош там, где нужен лёгкий клиент или маленький сервер.