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

MTProto Telegram API:如何让auth.sendCode通过短信发送验证码?

Telegram auth.sendCode 切换短信接收验证码的可行方案

首先得明确:Telegram的auth.sendCode接口本身不支持强制指定用短信发验证码,发送渠道是服务器根据账号状态、设备环境自动判定的,但可以通过以下几个操作尝试触发短信验证:

  • 确保发起验证的设备/环境从未登录过目标Telegram账号:如果你的手机或桌面端已经登录了该账号,Telegram会优先把验证码推送到已登录的设备,不会发短信。必须用全新的设备,或者先退出账号再发起请求。
  • 调用auth.sendCode时调整参数:设置allow_flashcall: false(禁用闪电话验证选项),同时设置current_number: false(告知服务器当前设备未绑定该号码),这会提高服务器选择短信渠道的概率。示例代码(以Telethon为例):
    client.send_code_request(
        "你的手机号",
        allow_flashcall=False,
        current_number=False
    )
    
  • 更换IP地址:如果当前IP是你日常登录Telegram的常用IP,服务器会默认走账号内验证。切换到一个新的、非常用地区的IP,可能会触发短信验证。
  • 注意账号安全状态:如果账号开启了两步验证,或者有异常登录记录,Telegram可能会优先发送短信,但这属于被动触发,无法主动控制。

需要提醒的是:这些方法都是基于Telegram验证逻辑的优化尝试,没有官方保证的强制短信途径——毕竟Telegram的验证策略核心是账号安全,优先设备内验证是为了防止短信劫持风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 21:24:58