Telethon登录Telegram测试账号失败,报错PhoneNumberUnoccupiedError求解决
解决Telethon登录Telegram测试账号报错PhoneNumberUnoccupiedError的问题
核心问题原因
你遇到的PhoneNumberUnoccupiedError是因为Telegram官方提供的99966Yxxxx格式测试号码并非已预注册账号,而是需要先完成注册流程才能登录。直接调用start或sign_in只会触发登录请求,未注册的号码自然会提示未被占用。
可行解决方案
1. 先执行注册操作再登录
测试号码需要先通过sign_up接口完成注册,代码示例如下:
client = telethon.TelegramClient(None, api_id, api_hash, loop=event_loop) seed = "4312" phone = f'+999662{seed}' # 配置测试服务器DC2的正确端点(优先用443端口,稳定性更高) client.session.set_dc(2, '149.154.167.40', 443) # 先注册测试账号,密码对应号码的Y值:Y=2则密码为22222,Y=1则为11111 client.sign_up(phone=phone, code='22222', first_name='TestUser', last_name='') # 注册成功后启动客户端 client.start(phone=phone, code_callback=lambda: '22222')
2. 注意测试服务器的端口配置
测试服务器DC2的HTTPS端口是443,用80端口可能会遇到连接限制,建议固定使用443端口。
3. 重复使用已注册的测试账号
一旦完成注册,该99966Yxxxx号码就会被标记为已占用,后续无需再执行注册,直接调用client.start即可正常登录。
内容的提问来源于stack exchange,提问作者dmitry_romanov
相关产品推荐
相关产品推荐

