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

Telethon账号用代理仍遭封禁,代码层面原因排查问询

账号频繁封禁问题排查

我有一段用于管理Telegram账号的代码,用来每日数次检查账号健康状态,使用独立IPv4代理,账号从不同渠道购买,但所有账号数日后仍被封禁,出现以下错误:

  • 账号已被删除/停用(原错误:The user has been deleted/deactivated)
  • 密钥未在系统中注册(原错误:The key is not registered in the system)
  • 授权已失效(因用户终止了所有会话,原错误:The authorization has been invalidated, because of the user terminating all sessions)

使用的Telethon版本为1.28.5,代码如下:

from telethon.tl.functions.photos import DeletePhotosRequest
from telethon.sync import TelegramClient


def decor(func):
    async def wrapper(account, proxy, *args, **kwargs):
        proxy = {
            'proxy_type': ProxyType.SOCKS5,
            'addr': proxy.host,
            'port': proxy.port,
            'username': proxy.login,
            'password': proxy.password
        }
        client = TelegramClient(f'site/mail_sessions/{account}', API_ID, API_HASH, proxy=proxy, connection_retries=0, timeout=3)
        try:
            await client.connect()
        except ConnectionError as ex:
            return {'success': False, 'has_ban': False, 'proxy_issue': True, 'result': str(ex)}
        try:
            result = await func(client, *args, **kwargs)
        except rpcerrorlist.UserDeactivatedBanError as ex:
            return {'success': False, 'has_ban': True, 'proxy_issue': False, 'result': str(ex)}
        except Exception as ex:
            return {'success': False, 'result': str(ex), 'has_ban': False, 'proxy_issue': False}
        else:
            return {'success': True, 'result': result, 'has_ban': False, 'proxy_issue': False}
        finally:
            await client.disconnect()
    return wrapper

@decor
async def delete_photos(client):
    res = []
    photos = await client.get_profile_photos('me')
    for photo in photos:
        el = await client(DeletePhotosRequest(id=[InputPhoto(id=photo.id, access_hash=photo.access_hash, file_reference=photo.file_reference)]))
        res.append(el)
    return res

问题:我在代码中可能存在哪些错误,导致账号如此快速地被封禁?我并未用这些账号发送消息,仅通过delete_photos函数进行检查。


可能导致封禁的原因及代码问题

代码层面的问题

  1. 频繁创建销毁客户端会话
    每次调用delete_photos都会新建TelegramClient实例,操作完成就断开连接。Telegram会把这种频繁的会话创建/销毁标记为异常行为,尤其是短时间内多次操作同一账号时,极易触发风控机制。正常用户的客户端会保持长连接,而非反复重新登录。

  2. 异常高频的头像删除操作
    每日数次执行删除所有头像的操作,完全不符合正常用户的行为逻辑。这种机械性的重复操作会被Telegram的反作弊系统直接判定为自动化脚本,进而触发封禁。

  3. 代码缺失必要导入与不合理参数设置

    • 代码中使用了ProxyType、rpcerrorlist.UserDeactivatedBanError、InputPhoto但未导入,虽可能运行时补全,但不规范的代码易引发不可预期的异常,增加被平台标记的风险。
    • connection_retries=0设置过于激进,一旦连接出现微小波动就直接失败,多次异常连接行为也会被风控系统盯上。
  4. 会话文件可能存在冲突风险
    会话文件存储路径为site/mail_sessions/{account},若多进程/线程同时操作同一账号,可能导致会话文件损坏,引发授权失效,对应你遇到的“授权已失效”错误。

非代码层面的潜在问题

  1. 第三方账号本身存在风险
    从第三方渠道购买的账号多为批量注册的“黑号”,本身就在Telegram的风控名单内,即便不进行任何操作,也会在短期内被封禁。这类账号通常未经过正常养号流程,没有真实用户行为特征,极易被检测。

  2. 代理IP质量不达标
    所谓“独立IPv4代理”可能并非干净IP——不少代理IP曾被用于违规操作,或属于Telegram重点管控的数据中心IP段。即便IP独立,只要有违规历史,就会连累账号被封禁。

  3. 操作模式完全偏离正常用户行为
    正常用户不会每日多次登录删除头像,你的操作模式与人类使用习惯严重不符,Telegram的行为分析系统会直接识别为自动化操作,从而封禁账号。

内容的提问来源于stack exchange,提问作者Andrei Buldakov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:17:10