如何解决Telegram API调用channels.EditBanned返回403 CHAT_WRITE_FORBIDDEN错误
Telegram调用channels.EditBanned返回403 CHAT_WRITE_FORBIDDEN的解决方法
- 检查账号管理员权限
确认调用API使用的Telegram账号在目标群组中拥有「限制成员」「移除成员」的管理员权限,即使是群组创建者也需要确认该权限没有被误关,API调用对权限的校验比客户端手动操作更严格。 - 修正传参格式
channel和participant参数不要直接传字符串类型的用户名,应该先调用对应接口获取群组和用户的数字ID对象后再传入,避免API无法正确识别目标对象。 - 调整
ChatBannedRights配置
你当前的配置仅限制了用户发消息权限,没有达到踢出/封禁的效果,且untilDate参数设置错误:- 如果要临时封禁用户,
untilDate需要设置为未来时间的Unix秒级时间戳,你目前设置的43对应的是1970年的时间,属于无效配置 - 如果要永久封禁/踢出用户,将
untilDate设为0,同时将viewMessages设为true,此时用户会被直接移出群组且无法重新加入
- 如果要临时封禁用户,
- 检查账号状态
先在Telegram客户端手动尝试踢出群成员,如果手动操作也失败,说明你的账号被平台限制了群组操作权限,需要先解除账号限制再调用API。
参考代码示例:
// 先获取群组和用户的输入实体后再调用,示例为永久踢出用户的配置 new Api.channels.EditBanned({ channel: await client.getInputEntity('Test_Channel'), participant: await client.getInputEntity('vishalkale151071'), bannedRights: new Api.ChatBannedRights({ untilDate: 0, viewMessages: true, }), })
内容的提问来源于stack exchange,提问作者Siddharth Bhoite
相关产品推荐
相关产品推荐

