Как управлять слишком многими сообщениями, отправленными моему боту? - PullRequest
0 голосов
/ 14 января 2019

Я реализовал php telegram-bot (https://github.com/php-telegram-bot/example-bot). Я использую метод getUpdates для получения сообщений, отправленных моему боту. Проблема в том, что слишком много пользователей спама отправляют ему поддельные сообщения, и по этой причине у меня длинный хвост новых сообщений, и это приводит к большой задержке обработки важных сообщений. Я видел, что невозможно заблокировать пользователей со спамом, и невозможно получить более 100 новых сообщений в каждом вызове через Telegram API. Если я получаю тысячи сообщений в секунду, как я могу управлять ими всеми с наименьшей возможной задержкой?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Наконец-то я смог решить проблему. Спам приходит из разных групп, в которые был добавлен мой бот. Я настраиваю его так, чтобы запретить добавление в группы, и затем я использую интерфейс "покинуть чат" бота api, чтобы покинуть чаты. Я записал все чаты, где мой бот получает сообщение, идентификаторы группового чата было легко идентифицировать, потому что они имеют отрицательные идентификаторы.

Я также увеличиваю частоту загрузки обновлений до 20 звонков в минуту.

0 голосов
/ 23 января 2019

Я думаю, что есть два возможных решения вашей проблемы.

Во-первых, вы можете запрограммировать своего бота на использование многопоточности, чтобы он мог одновременно обрабатывать большее количество клиентов и помочь вашему боту быстрее управлять сообщениями.

Во-вторых, вы можете создать черный список всех пользователей спама, к которым вы не хотите получать доступ, и бот будет проверять каждое сообщение, является ли оно спамом или нет, и будет игнорировать спам-сообщения.

...