You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Telethon时持续触发PeerIdInvalidError问题求助

解决AddChatUserRequest触发PeerIdInvalidError的问题

问题重现

我正在开发一个通过手机号将用户添加到群组的程序,代码如下:

contact = InputPhoneContact(client_id=0, phone=phone, first_name=phone, last_name='add')
result = session(ImportContactsRequest([contact]))
user_input = InputPeerUser(result.users[0].id, result.users[0].access_hash)
session(functions.messages.AddChatUserRequest(user_id=user_input, fwd_limit=0, chat_id=import_chat.chats[0].id))

执行AddChatUserRequest时持续出现PeerIdInvalidError,该逻辑在部分账号上运行正常,但针对某些账号会触发此错误,问题由AddChatUserRequest引发。

可能原因及解决方案

1. 目标用户隐私设置拦截

部分用户可能开启了禁止陌生人添加到群组的隐私选项,这种情况下无论API还是手动操作都无法添加该用户到群组。

  • 验证方式:尝试手动添加该用户到目标群组,若手动失败则确认是隐私设置问题,无法通过API绕过。

2. 联系人导入结果异常

ImportContactsRequest可能未成功获取有效用户信息,导致构造的InputPeerUser无效:

  • 解决方案:在构造InputPeerUser前添加结果校验:
    result = session(ImportContactsRequest([contact]))
    if not result.users:
        raise ValueError("联系人导入失败,未获取到用户信息")
    user = result.users[0]
    if not user.access_hash:
        raise ValueError("用户access_hash无效")
    user_input = InputPeerUser(user.id, user.access_hash)
    

3. 群组类型不匹配API方法

AddChatUserRequest仅适用于普通聊天组(Chat),如果目标是超级群(Supergroup),必须使用channels.InviteToChannelRequest:

  • 解决方案:判断群组类型并切换API:
    from telethon.tl.functions.channels import InviteToChannelRequest
    from telethon.tl.types import InputPeerChannel, ChatTypeSupergroup
    
    chat = import_chat.chats[0]
    if isinstance(chat.type, ChatTypeSupergroup):
        # 超级群使用InviteToChannelRequest
        channel_peer = InputPeerChannel(chat.id, chat.access_hash)
        session(InviteToChannelRequest(channel_peer, [user_input]))
    else:
        # 普通群组使用AddChatUserRequest
        session(functions.messages.AddChatUserRequest(user_id=user_input, fwd_limit=0, chat_id=chat.id))
    

4. 操作账号权限限制

如果你的账号近期有大量添加用户的操作,可能触发Telegram的反垃圾机制,导致部分操作被限制:

  • 解决方案:暂停操作一段时间,更换正常账号测试,或降低添加频率避免触发限制。

5. 手机号格式错误

导入联系人时手机号必须包含完整国际区号(如+8613xxxxxxxxx),格式错误会导致导入的用户信息无效:

  • 解决方案:确保传入的phone参数是带国际区号的标准格式。

内容的提问来源于stack exchange,提问作者Kamil Abdurahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:31:50