新的Telegram bot几乎将空JSON返回给API

时间:2017-05-09 21:35:55

标签: json telegram telegram-bot

我想创建一个Telegram机器人,所以我按照说明进行了操作:

  

完成!恭喜你的新机器人。你会发现它   t.me/RonGuruBot。您现在可以添加描述,关于部分和   您的机器人的个人资料图片,请参阅/ help以获取命令列表。由   方式,当你完成你的酷机器人的创建,ping我们的机器人支持   如果你想要一个更好的用户名。只要确保机器人完全   在你这样做之前可以运作。

     

使用此令牌访问HTTP API:   318659684:AAFdR9YE4D​​Ewg1NQitSIuifPotoA-3f6cUw

但是,当我在Chrome中输入以下网址时:

https://api.telegram.org/bot318659684:AAFdR9YE4DEwg1NQitSIuifPotoA-3f6cUw/getUpdate s

返回的JSON是:

  

{ “OK”:真, “结果”:[]}

文档使我相信JSON回复中应该有更多内容。

  • 还有更多吗?
  • 我应该更改什么才能获得正确的JSON回复?

7 个答案:

答案 0 :(得分:3)

我认为问题出在通过桌面应用启动机器人的首次更新。当我从移动应用向机器人发送消息时,我开始接收更新。

答案 1 :(得分:1)

一切都很好。你的机器人没有收到任何更新。我向您的机器人发送了一条消息,如果您再次获取更新,您可以看到。

答案 2 :(得分:0)

检查有关Webhook https://api.telegram.org/bot<your_token>/getWebhookInfo的漫游器设置,因为如果设置了传出Webhook,则getUpdates方法将不起作用(请参阅documentation)。

如果您遇到类似这样的错误:

  

提高ReadTimeoutError(自身,网址,“读取超时。(读取超时=%s)”%timeout_value)   urllib3.exceptions.ReadTimeoutError:HTTPSConnectionPool(host ='api.telegram.org',port = 443):读取超时。 (读取超时= 50)

您应将参数timeout添加到getUpdates方法中(有关此问题,请参见documentation

答案 3 :(得分:0)

它是在电报服务器上还是其他地方运行? 我遇到过同样的问题。当我从自己的服务器上删除脚本时,它开始提供更新。

答案 4 :(得分:0)

我也有同样的问题。看来在文档中被提及为可选参数的参数offset并非如此,如果不指定该参数,响应将为空。我可以通过设置offset=0来解决问题。

答案 5 :(得分:0)

如果您不更改隐私设置,

该漫游器仅接收以/开头的消息,例如/start

这可能是痛苦的研究,尤其是在多用户聊天中

答案 6 :(得分:0)

尽管从2017年开始,它仍然作为Google的首批结果之一弹出,并且仍然具有现实意义,所以...就我而言:

  1. 在/ start命令之后向刚创建的机器人发送消息(例如 hello
  2. 再次执行getUpdates