诊断 #
doctor 命令通过运行一系列自动检查来帮助您诊断 TDL 的常见问题。
用法 #
tdl doctor
检查项目 #
诊断命令会执行以下检查:
1. 时间同步 #
检查您的系统时间是否与 NTP 服务器同步。Telegram 需要准确的时间进行身份验证。
- 测试多个 NTP 服务器,自动故障转移
状态指示:
- OK: 时间偏移 < 1 秒
- WARN: 时间偏移 1-10 秒之间(可能正常工作,但建议同步)
- WARN: 时间偏移 > 10 秒(可能导致认证问题)
2. Telegram 服务器连通性 #
使用无需认证的 API 端点测试与 Telegram 服务器的连接:
help.getConfig- 基础服务器配置help.getNearestDc- 最近的数据中心位置langpack.getLanguages- 语言包可用性
这可以验证网络连接和对 Telegram API 的访问。
3. 数据库完整性 #
检查您的本地 TDL 存储:
- 存储类型和路径
- 命名空间可用性
- 会话数据是否存在
- 应用配置
4. 登录状态 #
验证您的身份验证状态并显示账户信息:
- 认证状态
- 账户名称和用户名
- 用户 ID 和电话号码
自定义 NTP 服务器 #
您可以使用 --ntp 参数指定自定义的 NTP 服务器:
tdl doctor --ntp time.google.com
常见问题 #
时间同步失败 #
如果所有 NTP 服务器都失败,请检查您的网络连接和防火墙设置。NTP 使用 UDP 端口 123。
连通性测试失败 #
如果连通性测试失败:
- 检查您的互联网连接
- 验证防火墙设置是否允许连接到 Telegram
- 如果您所在地区屏蔽了 Telegram,尝试使用代理或 VPN
数据库问题 #
如果数据库检查显示警告:
- 缺少会话数据意味着您需要登录:
tdl login - 数据库错误可能需要清理所有本地存储并重新初始化
未授权 #
如果您尚未登录,请先运行登录命令:
tdl login