使用Telethon登录时无法接收验证码的问题排查求助
Telethon登录收不到验证码的可能成因及排查
我基于Telethon写了一段登录脚本,代码如下:
with TelegramClient('test', API_ID, API_HASH) as client:
这个脚本在我自己的账号、其他非本人账号上都能正常运行,但我的朋友无论换什么设备、用哪个账号,都无法完成身份验证——始终收不到验证码。目前测试发现,给账号绑定邮箱后可以通过邮箱接收验证码,想问问有没有人遇到过类似情况,可能的成因是什么?
可能的原因:
- 账号风控限制:Telegram对新注册账号、短时间内频繁在新设备登录的账号,或者IP地址变动频繁的账号会触发风控,默认关闭短信验证码通道,仅保留邮箱验证渠道,这和发现的“绑定邮箱可解决”的情况吻合。
- API密钥的隐性关联:使用的API_ID和API_HASH是用自己的账号申请的,Telegram的API密钥可能和申请账号存在隐性绑定,当其他账号(尤其是新账号)使用该密钥登录时,会被判定为异常操作,从而拦截短信验证码。建议让朋友用自己的账号去my.telegram.org申请独立的API密钥试试。
- 设备/IP被标记异常:朋友使用的设备或网络IP可能曾关联过违规账号操作,被Telegram标记为风险对象,导致拒绝发送短信验证码。可以尝试切换到家用稳定网络,或者用手机热点登录测试。
- 运营商短信拦截:部分运营商会拦截境外发送的短信(Telegram验证码服务器多位于境外),导致无法收到短信验证码,绑定邮箱走邮件验证就能绕过这个问题。
内容的提问来源于stack exchange,提问作者Артем Кібітов
相关产品推荐
相关产品推荐

