Номер в мессенджере подключён к Gratio как сеанс пользователя. Резкие залпы запросов мессенджер может счесть поведением бота и ограничить номер. Поэтому Gratio сам выравнивает запросы: при залпе приложение получает ответ чуть позже, а не отказ.
Как это работает
- Ждёт в очереди. Отправка, правка, чтение истории и групповые методы идут в своём темпе. Запрос ждёт очереди до 30 секунд и выполняется.
- Отказ с паузой. Если ждать дольше нельзя или действие слишком частое по правилам площадки (создание групп, поиск номеров, вступление в чаты), ответ —
429или469сRetry-After. Gratio при этом к мессенджеру не обращается. - Кэш. Частые одинаковые запросы (профиль, данные группы, история) отвечают из кэша и мессенджер не трогают.
MAX и Telegram
| Действие | Темп по умолчанию | При превышении |
|---|---|---|
| Отправка сообщений и файлов | 1 в секунду на канал | ждёт в очереди |
| Правка, удаление, реакция, «прочитано» | 2 в секунду | ждёт |
| Чтение: история, сообщение, профиль, файл | 4 в секунду | ждёт |
Повтор getChatHistory с теми же chatId и count (MAX) |
кэш 5 с | ответ из кэша |
| Групповые методы | 1 раз в 2 секунды | ждёт |
createGroup |
1 раз в 5 минут | 429 too_frequent + Retry-After |
Поиск номера (checkAccount, отправка на номер@c.us) |
MAX — 6 в минуту; Telegram — 20 в час | 469 rate_limited + Retry-After |
| После отказа мессенджера в поиске номера | MAX — пауза 5 минут; Telegram — час | 469 без запроса к мессенджеру |
| «Печатает» в один чат | 1 запрос к мессенджеру в 2,5–4 с | частые вызовы продлевают индикатор |
makeCall (MAX) |
1 раз в 20 секунд | 429 too_frequent |
getContactInfo (MAX) |
кэш до часа | ответ из кэша |
getGroupData (MAX) |
кэш 15 минут, сбрасывается при изменении группы | ответ из кэша |
| Вступление в группы и каналы | раз в минуту, до 20 в час и 40 в сутки | 429 too_frequent, см. Поиск и вступление: правила и лимиты |
У WhatsApp свои правила качества: лимиты первых сообщений, одинаковых текстов, сообщений без ответа и добавления в группы. Отказ — с причиной в code. Подробно — WhatsApp.
Почта
Не больше 300 писем в сутки с ящика (429 daily_limit), пауза 2 секунды между письмами, письмо — до 20 МБ.
Звонки
Один разговор через API на канал: второй — 409 busy, а входящий звонит на телефонах как обычно.
Советы
- Держите свой темп рассылки. Для MAX и Telegram достаточно 3 секунд между сообщениями разным людям. Рабочие часы и паузы — на стороне приложения.
- Кэшируйте
checkAccount. Gratio и сам помнит ответ час (WhatsApp — 30 дней), но не проверяйте одну базу номеров снова и снова. - Соблюдайте
Retry-After. Повтор раньше срока получит тот же отказ, а в Telegram — продлит паузу. - Не опрашивайте историю по всем чатам подряд. Для новых сообщений есть уведомления; история нужна, когда открывают чат или когда пришёл
syncGap— см. syncGap. - Ставьте тайм-аут клиента от 60 секунд на отправку: запрос может ждать своей очереди.
Что дальше
- Надёжная отправка без дублей — как повторять отправку после отказа.
- Напоминания и рассылки без блокировок — рассылка по правилам на готовом примере.
