0

我们有一个网络应用程序,用户将我们的机器人添加到他/她的频道中作为管理员,并且可以从网络应用程序中做一些事情(例如发布/编辑带有标记按钮的项目..等),我们的应用程序很大程度上基于频道整数chat_id(例如:chat_id=-1001006616144)而不是(@username),一切正常......问题是:

当频道所有者更改频道用户名(例如 @foo 到 @bar)时,如果我传递频道整数 id(例如:-1001006616144),robots getChat方法仍然返回旧频道的用户名(@foo),尽管没有频道不再使用用户名@foo

但这不适用于更改频道标题,我的意思是如果所有者更改频道标题,getChat(以整数 id 作为参数)方法会立即返回更新后的频道标题(和用户名)

我需要使用整数chat_id,因为它在频道的生命周期内保持不变,直到它被删除,并且我的网络应用程序需要更新的@username 和标题,只要我的机器人是频道中的管理员,这
是某种错误吗?任何人都可以建议一个解决方法,这样我就可以获得更新的频道信息(最多 12 小时间隔)?我使用 PHP BTW

4

1 回答 1

1

这似乎是 Telegram Bot API 本身的问题。您必须了解,您正在与之交谈的 HTTP API (api.telegram.org) 只是一个类似代理的接口,也是一个规范的 Telegram 客户端(只是使用机器人,而不是用户登录)。那里使用的缓存有可能搞砸了。您应该就此联系@BotSupport

一种解决方法可能是使用非官方的PWRTelegram API。它不能保证官方 api 具有相同的正常运行时间,但带有一些古怪的功能。

于 2017-05-26T11:57:32.997 回答