Telegram Bot调用getChat接口无法获取invite_link问题咨询
为什么我的Telegram Bot调用getChat接口无法获取invite_link字段?
我碰到过类似的问题,你的情况其实是Telegram Bot API的权限和前置条件限制导致的,具体原因和解决办法如下:
Bot缺少必要的管理员权限:
虽然你的Bot已经是超级群的管理员,但默认管理员权限并不包含"创建邀请链接"这一项。Telegram明确要求,Bot必须拥有这个特定权限,才能通过getChat接口获取到群组的invite_link字段。你需要进入目标群组的管理员设置页面,找到你的Bot,开启"创建邀请链接"的权限。群组从未生成过邀请链接:
如果这个超级群自创建以来,不管是人类管理员还是Bot都没有生成过邀请链接,那么getChat接口自然不会返回invite_link字段。这种情况下,你可以先调用exportChatInviteLink接口主动生成一个邀请链接,之后再调用getChat就能获取到这个字段了。
给你一个Python版的exportChatInviteLink调用示例:
def export_invite_link(chat_id=None): data = {'chat_id': str(chat_id)} resp = urllib2.urlopen(BASE_URL + 'exportChatInviteLink?' + urllib.urlencode(data)).read() return resp
调用这个接口成功生成链接后,再执行你原来的getChat方法,返回的Chat对象里就会包含invite_link了。
另外要注意,如果群组设置了"仅管理员可创建邀请链接",但Bot的权限没对应开启,还是会拿不到这个字段,所以权限配置一定要到位。
内容的提问来源于stack exchange,提问作者Paolo177
相关产品推荐
相关产品推荐

