电报sendMessage对于某些机器人来说太慢了

时间:2018-06-22 11:58:47

标签: curl telegram telegram-bot sendmessage

我有两个电报漫游器,上次我注意到第二个漫游器变慢了。

我的研究表明,sendMessage调用对于其中两个有不同的时间。

curl "https://api.telegram.org/bot123456789:AAAAAAAAABBBBBBBBCCCCCCC/sendMessage?chat_id=987654321&text=HI"

以下是两个不同机器人的输出:

快速拨打第一个电话

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   224  100   224    0     0    491      0 --:--:-- --:--:-- --:--:--   492

调用第二个机器人(慢)

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   227  100   227    0     0     43      0  0:00:05  0:00:05 --:--:--    59

第一个sendMessage立即运行。

第二秒附带一个时间花费= 5秒!

并且总是2-6秒。 有人知道原因吗?

对不起,我的英语。

2 个答案:

答案 0 :(得分:1)

尝试curl -v .....来查看那些缓慢的请求是否通过了ipv6。我遇到了类似的问题,发现对电报api服务器的所有ipv4请求都可以正常工作,但是某些ipv6调用需要很长时间才能等待。

如果这是您遇到的问题的原因,请将服务器限制为仅ipv4。

答案 1 :(得分:0)

如果您的两个漫游器都托管在同一位置,那么我们可以排除网络/路由问题。

那些sendMessage调用是什么样的?大量邮件?如果您尝试通过两个漫游器将相同的批次发送到同一组聊天ID,请记住,对于未与漫游器开始聊天的用户的请求将被立即拒绝。

我过去注意到的事情是,达到API限制会导致类似这样的速度下降,您的机器人很流行还是对API提出了很多要求?

documentation

  

在特定聊天中发送消息时,避免每秒发送多条消息。

     

如果您要向多个用户发送批量通知,则该API每秒最多不得超过30条消息(..)

     

(..)您的漫游器每分钟无法向同一组发送超过20条消息