使用ban_chat_member/kick_chat_member后无法重新加入Telegram群组的问题
问题原因与解决方案
问题原因
- 调用
bot.ban_chat_member或bot.kick_chat_member移除私有群组用户后,用户会被加入群组封禁名单,同时Telegram会标记该用户为「曾被管理员移除」。即便执行bot.unban_chat_member解除封禁,私有群组的默认加入规则仍要求该用户提交加入请求等待审核——普通邀请链接不附带跳过审核的权限,因此用户点击后会提示「频道为私有,需等待管理员批准」。 - 机器人生成的邀请链接能直接让用户加入,是因为机器人默认生成的是无需审核直接加入的链接(即
creates_join_request=False),或是机器人拥有管理员级别的邀请权限,可绕过群组的审核机制。
解决方案
有两种可行路径,可根据需求选择:
1. 直接将用户拉回群组(无需用户操作)
调用Telegram Bot API的bot.add_chat_members(chat_id, user_id)方法,直接将解除封禁的用户添加回群组。该操作无需用户点击链接,也不会触发审核流程,用户会直接回到群组中。
注意:需确保机器人拥有「添加成员」的管理员权限,且目标用户未屏蔽机器人。
2. 生成免审核邀请链接发给用户
若必须让用户通过链接加入,需生成带有「无需审核」权限的邀请链接:
- 调用
bot.create_chat_invite_link(chat_id, creates_join_request=False)生成链接,该链接允许用户点击后直接加入群组,无需提交审核请求。 - 将生成的链接发送给被解除封禁的用户,用户点击即可正常加入。
额外检查项
- 确认机器人管理员权限:需开启「封禁用户」「管理邀请链接」「添加成员」等必要权限,避免因权限不足导致操作失效。
- 检查群组设置:确保群组的「加入权限」未设置为仅允许特定用户加入,且管理员可生成免审核邀请链接。
内容的提问来源于stack exchange,提问作者Vaibhav Vishwakarma
相关产品推荐
相关产品推荐

