如何在Telethon中强制使用短信验证码,而不是Telegram应用通知?
我正在用Python的 Telethon构建一个Telegram账号自动化工具。需要登录到多个手机号,其中一些尚未在Telegram注册。
问题在于,当我调用 send_code_request() 时,Telegram会把登录验证码发送到Telegram应用中(SentCodeTypeApp),而不是通过短信发送。对于未注册的号码或没有活跃Telegram会话的号码,这就无法收到验证码。
我尝试过:
force_sms=Trueinsend_code_request()— 这个参数已被废弃,在Telethon的新版本中不再起作用。- 在初次请求之后调用
ResendCodeRequest— 这有时能起作用,但我对它在所有账户状态下的可靠性并不自信。
问题:
ResendCodeRequest在现代Telethon中是强制通过短信发送的正确且可靠的方式吗?- 是否存在任何边缘情况,仍然不会通过短信发送验证码?
- 有没有办法在第一次调用时就直接请求短信,而不需要再发送重试步骤?
解决方案
不,Telegram很久以前就已经禁用了非官方应用的短信登录验证码(也就是你用Telethon做的任何东西)。因此这是不可能的。请参阅 https://t.me/tginfoen/1611(2023):
Telegram将不再支持来自第三方应用的短信请求
根据最近广播给第三方应用开发者的消息,Telegram将不再支持来自第三方应用的短信请求,这意味着用户只能通过官方Telegram应用请求短信验证码。
此变更将于2 月18日 13:00 UTC生效。此日期之后,第三方应用的授权码只能通过官方Telegram应用接收。该消息还要求第三方应用开发者在该日期前采取必要行动。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。