超过 Python Telegram Bot 洪水控制

标签 python python-3.x telegram python-telegram-bot

我使用 python-telegram-bot 开发 Telegram Bot .

尽管使用了 MessageQueue(正如 docs 中提到的那样),但我一直在获取

telegram.error.RetryAfter: Flood control exceeded. Retry in N seconds

当我从客户端(通过非常非常快地按下回复键盘按钮)发送到我的机器人并且它回答我时。

MessageQueue 实际上有效,我可以看到一次发送大量消息时的延迟(使用 for 循环)。我为消息队列尝试了不同的值,但都没有帮助。

无论机器人实际发送的消息数量如何,它似乎都被 Telegram 禁止了。

方法线程(同步或异步)不会改变任何东西。发生这种情况时,如何防止用户泛滥或避免禁止我的机器人?

最佳答案

问题在于 bot 的回复消息大小:大于 512 字节。 Telegram API 将此类消息视为大消息。因此,缩短机器人的回复消息即可解决问题。

您可以在 article 中了解更多信息.

关于超过 Python Telegram Bot 洪水控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51423139/

相关文章:

python - 如何阻止 pyCharm 提示下划线字符串?

python - 如何使矩形透明?

python - 字符串列表到整数数组

node.js - 从 nodejs 脚本发送直接消息到 Telegram

ffmpeg 将音频文件流式传输到 Telegram rtmp 服务器

python - 在列表上调用方法时不同语法之间的差异

python - "things to handle"设计模式有名称吗?

python - 如何在 django 中应用 postman 过滤器?

python - 如何在Python中访问csv文件的特定单元格

telegram - Telegram Bot 。获取用户时区