Скорость рассылок
Терминология
- BotAPI - интерфейс для взаимодействия вашего ПО (бота) с серверами Telegram посредством http-запросов;
- Флуды - при большом количестве запросов к BotAPI, Telegram может возвращать ошибку связанную со слишком частым/большим количеством запросов, в данном случае требуется выждать время перед повторной отправкой запросов. Также в данном случае уменьшается скорость. Данное явления особенно заметно в больших ботах с высокой активностью, обрабатывающих большое количество запросов, обойти этот параметр нельзя;
- Флудвейт - время возникающее при появление флудов, которое требуется выждать перед повторной отправкой запросов;
- DC - дата-центр, грубоговоря "местоположение" вашего бота, от расположения дс, зависит скорость обработки запросов, а также количество флудвейтов;
- Скорость - скорость отправки запросов к BotAPI в секунду;
- Средняя скорость - во время рассылки скорость варьируется может изменяться как в большую так и в меньшую скорость в зависимости от множества фактором основным из которых является кол-во флудов;
- Время запроса - время за которое было установлено соединение и отправлен запрос к BotAPI. При стабильной работе Telegram значение должно быть меньше 1 сек. Если есть тенденция увеличения времени запроса, значит есть проблемы на стороне Telegram или конкретного DC. Ввиду того, что боты регистрируются на разных DC, время запросов в разных ботах может различаться. Также увеличенное время запроса может свидетельствовать о том, что запросы от вашего бота игнорируются Telegram ввиду появления флудов.
Общая информация
Скорость рассылок - не простая вещь, нельзя поставить большие значения и надеется, что рассылка гарантировано выполниться с такой скоростью.
BotManager умеет подстраивать пропускную скорость как в большую сторону, так и в меньшую.
На общую скорость влияет множество параметров, такие как DC, время суток, использование переменных, выбор рассылки на конкретные языки или проверка на наличие telegram premium, а также размера вашей базы получателей.
Чем больше параметров вы выбрали, тем меньшую скорость рассылки вы получите в конечном итоге.
Связанно это с тем, что при использование основных запросов отправляемых к Telegram используются дополнительные запросы определяющие такие параметры как язык, premium, имя, юзерку и т.п.
Такие виды постов как альбомы выполняются медленее обычных постов ввиду того, что Telegram учитывает кол-во медиа в посте. Если при обычной рассылке поста с фото будет расцениваться как 1 запрос, то при отправке альбомов запрос будет умножен на количество медиа.
Сюда же стоит добавить работу вашего бота отвечающего на запросы ваших пользователей.
Больше запросов - больше вероятность получить от Telegram флуд.
Если у вас большая база и она не успевает разослаться до момента как вы запускаете новую рассылку, ждите появление флудов.
При наличие флудов, остается только выждать флудвейт возвращаемый Telegram. Если игнорировать данное значение, то есть вероятность, что ваш бот получит еще большой флудвейт и время рассылки может затянуться.
Также возникновение флудов может отразиться на общем состояние вашего бота, вызвав проблемы в ответах для обычных пользователей.
Вариативность скорости
Плавающая - подстраиваться автоматически под пропускные ограничения вашего бота, как в большую, так и меньшую сторону. (Рекомендуется)
Фиксированная - скорость не будет подстраиваться, и всегда будет выполняться с заданным значением, игнорируя ограничения.
Рекомендованный флудвейт - использование рекомендованной задержки при возникновенее floodwait ошибок. В противном случае используется минимальное значение.
Мы рекомендуем данные параметры по-умолчанию для всех ботов:
Настройки скорости стоит скорректировать под ваш бот в зависимости от общей активности, опираясь на параметр возникающих флудов, если в вашем боте возникают довольно часто флуды и их количество превышает 10 за рассылку, стоит рассмотреть возможность уменьшения скорости.