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

使用Telethon+Aiogram实现账号授权后机器人遭封禁,求助排查原因

机器人授权用户账号后被封禁的问题排查与解决

问题描述

我开发了一个机器人,用于实现用户账号授权功能,流程如下:

  • 请求用户发送手机号
  • 调用send_code_request方法发送验证码
  • 要求用户发送字符间带空格的验证码(试图避免验证码失效)

用户发送验证码后,目标登录客户端显示授权成功,但我的机器人随即被封禁,只能重新创建,不清楚问题出在哪里。

相关代码

发送验证码状态代码

# State with sending code
if not orm.get_session(phone):
    user_client = TelegramClient(StringSession(), config.API_ID5, config.API_HASH5)
    await user_client.connect()
    await user_client.send_code_request(phone)
    text = 'Enter code with spaces between characters:'
    await message.answer(text, parse_mode='Markdown')
    await state.update_data(phone=phone)
    await ListParsing.waiting_code.set()

授权验证状态代码

# State with authorization
code = message.text
code = re.sub(r' ', '', code)
data = await state.get_data()
phone = data.get('phone')
try:
    user_client = TelegramClient(StringSession(), config.API_ID5, config.API_HASH5)
    await user_client.connect()
    await user_client.sign_in(phone=phone, code=code)
    print(await user_client.get_me())
    string = await user_client.session.save()
    orm.create_session(phone, string)

可能的封禁原因

  • API凭据复用:你使用的API_ID5和API_HASH5如果同时被其他Telegram客户端或机器人使用,Telegram反作弊系统会判定为异常批量登录,直接封禁关联的机器人账号。
  • 频繁创建新会话:每次处理请求都新建TelegramClient实例且使用空StringSession(),这种高频创建新会话的行为会被识别为恶意自动化操作,触发封禁。
  • 缺少设备信息模拟:默认客户端配置没有模拟真实设备的型号、系统版本等信息,Telegram很容易识别出这是脚本程序,进而封禁。
  • 操作行为过于机械化:没有模拟真实用户的操作节奏,请求间隔过短,加重系统对异常行为的判定。

解决方案

  • 使用独立API凭据:为机器人在Telegram官方开发者平台申请专属的API ID和Hash,确保不与其他账号或客户端共用。
  • 复用客户端会话:不要每次请求都新建TelegramClient,可以通过缓存或单例模式管理已创建的客户端连接,减少会话创建频率。
  • 添加设备信息模拟:初始化客户端时设置真实的设备参数,示例:
    user_client = TelegramClient(
        StringSession(),
        config.API_ID5,
        config.API_HASH5,
        device_model="iPhone 14",
        system_version="iOS 17.1",
        app_version="9.6.1"
    )
    
  • 模拟真实操作节奏:在发送验证码和登录验证之间添加合理延迟,避免操作过于频繁。
  • 完善异常处理:在sign_in的try块中添加异常捕获,处理两步验证、验证码错误等场景,避免无效请求触发系统检测。

内容的提问来源于stack exchange,提问作者Константин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:55:16