Python 是电报机器人';生产延期了吗?

Python 是电报机器人';生产延期了吗?,python,telegram,telegram-bot,Python,Telegram,Telegram Bot,根据telegram bot的说法:“API将不允许每秒超过30条消息”,“API将不允许每秒向超过30个用户发出批量通知” 我已经将bot连接到我的pythonweb应用程序,在那里我使用for循环,迭代订阅我的bot的用户列表,向每个用户发送消息。如果我有30多个用户,那么在循环的每次迭代之间产生大约1秒的延迟(使用sleep())以绕过上述限制是一个好主意。目前我的应用程序正在开发中,所以我无法测试它,所以有人能告诉我这是一个好的策略还是有更好的方法可用,或者我不应该使用电报机器人进行生产

根据telegram bot的说法:“API将不允许每秒超过30条消息”,“API将不允许每秒向超过30个用户发出批量通知”
我已经将bot连接到我的pythonweb应用程序,在那里我使用for循环,迭代订阅我的bot的用户列表,向每个用户发送消息。如果我有30多个用户,那么在循环的每次迭代之间产生大约1秒的延迟(使用sleep())以绕过上述限制是一个好主意。目前我的应用程序正在开发中,所以我无法测试它,所以有人能告诉我这是一个好的策略还是有更好的方法可用,或者我不应该使用电报机器人进行生产

更新试验后,我发现在本地机器上完成对sendMessage的每个调用都需要约0.8秒。因此,我是否应该关心使用
sleep()
可以达到每秒30条消息或每秒30个用户的限制,但这并不能保证长期的良好效果

我建议您设置一个限制每秒发送30条以上消息的队列。这是一个案例,如果你使用它的发展

否则,您可能会遇到以下一些问题:

  • 在不属于批量的并行进程/线程/工作进程中发送超过限制的消息
  • 发送超过1000条消息的时间太长(已经17分钟了)
  • 在此期间,bot无法响应常规更新的问题

诸如此类。

您链接的文档确切地说,传播此类批量消息是个好主意。。。我不确定我是否理解这个问题。@AKX文档中说延迟8-12小时。所以我想问的是,延迟1秒是否有效?这似乎很好,但是,一个快速的设计想法是有一个工人(可能是一个线程)它消耗了一个要生成的消息队列,同时延迟任何时间间隔以防止阻塞主进程。它表示“将消息分散到8到12小时”。显然,如果你只有少数几个用户,你不需要等待那么长时间。@AKX我正在为学校开发它,因此我希望我的每个学校的用户数能达到1000,所以我想问,由于每次迭代1秒的sleep()会导致巨大的延迟,所以python中有没有有效的方法来处理这种情况,可以考虑api的两个限制的东西。