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

使用Telethon发送消息报错Invalid Peer的原因及解决求助

问题解决:Telethon切换账号发送消息时出现「Invalid Peer」错误

问题情况

用Telethon Client API发送消息,已从群组抓取用户保存到.csv文件。使用自身API凭据时一切正常,但切换到另一账号及对应API凭据后,触发报错:

[!] Error: An invalid Peer was used. Make sure to pass the right peer type and that the value is valid (for instance, bots cannot start conversations) (caused by SendMessageRequest)

核心原因分析

你推测的「跨账号抓取用户再发送」确实是关键问题:

  • Telethon中的Peer(用户/对话实体)与当前登录账号的会话绑定。用账号A抓取的用户Peer信息包含账号A会话特有的标识,在账号B的会话中无法被正确识别。
  • 若新切换的账号是机器人账号,Telegram限制机器人不能主动发起对话给未互动过的用户,这也会触发该错误。

解决方案

方案1:用新账号重新抓取用户

直接用目标发送账号登录Telethon,重新从群组抓取用户并生成CSV。这样获取的Peer信息基于新账号会话,发送时不会出现识别问题。

方案2:修改CSV存储内容,发送时重新解析Peer

如果要复用之前的CSV,不要存储Telethon返回的Peer对象,改为存储用户的user_id、username或phone_number(这些是用户的全局标识)。发送时,通过新账号的客户端实例重新获取有效的Peer:

# 假设CSV中存储的是user_id
user_id = 123456789
peer = await client.get_input_entity(user_id)
await client.send_message(peer, "你的消息内容")

方案3:检查新账号类型

确认切换的账号是普通用户账号,而非机器人账号。如果是机器人,需要先让用户主动给机器人发消息,才能发起对话。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:10:17