Linux(Asia/Shanghai时区)Telethon启动报错阻塞的解决求助
Linux下解决Telethon启动时间同步阻塞问题
先确保系统时间和网络时间完全同步
Telethon对系统时间准确性要求很高,哪怕几分钟的偏差都可能触发该错误。根据你的Linux发行版执行以下操作:
- Debian/Ubuntu系列:
先安装时间同步工具:
同步到国内可靠时间服务器:sudo apt update && sudo apt install -y ntpdatesudo ntpdate ntp.aliyun.com - CentOS/RHEL系列:
sudo yum install -y ntpdate sudo ntpdate ntp.aliyun.com - 通用方法(用systemd自带工具):
开启自动时间同步:
执行sudo timedatectl set-ntp truetimedatectl status检查,确认System clock synchronized显示yes,Time zone为Asia/Shanghai (CST, +0800)。
重新确认时区设置
如果时区显示异常,重新设置:
sudo timedatectl set-timezone Asia/Shanghai
代码和会话文件的额外处理
- 删除旧的
.session会话文件,重新登录生成新会话——旧会话的时间戳缓存可能残留问题。 - 初始化Telethon客户端时添加
auto_reconnect=True参数,避免单次错误直接阻塞程序:from telethon import TelegramClient client = TelegramClient('my_session', YOUR_API_ID, YOUR_API_HASH, auto_reconnect=True) async def run(): await client.start() # 此处编写你的业务逻辑 if __name__ == '__main__': client.loop.run_until_complete(run())
内容的提问来源于stack exchange,提问作者Hollc
相关产品推荐
相关产品推荐

