Есть обычный юзер бот (на библиотеке
pyrogram) который выполняет какую-то специально заданную ему задачу, а именно в качестве примера обычную обработку сообщений:
@app.on_message()
async def messages(client, message):
print(message.text)
Всё бы вроде хорошо, и код реально выводит все полученные сообщения. Но, проблема начинается с того момента как юзер-бот начинает получать очень много сообщений и следовательно начинает спамить в консоль
socket.send() raised exception. или
[10] Retrying "updates.GetChannelDifference" due to: Request timed out.
В принципе понятно что проблема возникает в самой библиотеки
pyrogram в методе
GetChannelDifference(), ведь на сколько я знаю он не может обрабатывать больше 100 сообщений в минуту для аккаунта пользователя.
Как можно решить эту проблему? Может быть нужно установить специальный счётчик который будет перезапускать сам клиент если в минуту было отправлено больше положенного сообщений. Но и тут возникает проблема, ведь после перезапуска клиента
app.restart() бот просто перестаёт реагировать на какие-либо события.