WTelegramClient 返回 Auth_SentCode,但 Telegram App 收不到验证码怎么办?
数据阿明
结论
仅凭 Auth_SentCode 和“sent via App”日志,无法确认验证码是否已显示在用户的 Telegram App 中,也无法判断 Telegram 是否对第三方客户端进行了“静默限流”。目前的信息不足以确定具体原因。建议先核对请求是否成功返回、验证码对应的账号或会话,以及官方 App 是否收到通知。
先核对日志代表什么
给出的日志是:
2026-03-13 18:54:46Z → Auth_SentCode #F96AA
A verification code has been sent via App
这条日志表明库记录到了 Auth_SentCode 响应和“通过 App 发送”的提示,无法单独确认验证码已送达或显示。日志中没有 FLOOD_WAIT_X 或 RpcException,只能说明这次记录未出现这些错误,不能排除其他原因,也不能据此确定服务端的限流策略。
建议按顺序排查
- 确认请求对应的账号和会话。 对照请求使用的电话号码、运行中的 userbot 实例,以及目标官方 Telegram 账号。多用户会话场景下,检查请求是否发给了其他账号,或服务重启后是否加载了不同的会话状态。
- 记录完整的登录交互。 每次请求都保存 UTC 时间、实例标识、账号的脱敏标识、调用
LoginUserIfNeeded的时机、请求结果和异常。不要记录验证码、密码或完整电话号码。 - 比较正常与异常时的响应。 保存库实际收到的响应字段和后续登录流程状态,避免只保留“sent via App”这条文本。核对两种情况下的请求路径、账号和会话是否一致。
- 检查官方 App 的接收状态。 确认查看的是与请求账号对应的官方客户端,并检查客户端当时是否在线、是否存在其他活跃会话。若能观察到其他会话或通知状态,也一并记录。现有日志无法说明验证码是否被客户端接收。
- 控制重试并做好对照记录。 确认情况前不要连续发起登录请求。记录每次尝试的时间和结果,观察恢复时间是否稳定,以及恢复前后账号、会话或服务状态是否发生变化。
关于“静默限流”
目前的描述不足以验证 Telegram 是否存在此类策略。等待数小时后恢复,只能说明两者在时间上有关联,不能单独证明发生了限流。Auth_SentCode 返回也无法证明验证码已送达 App。建议先收集可供对照的请求与会话记录,再根据实际响应和复现规律判断下一步。
备注:内容仅供参考。
