3x-ui3x-ui
运维

Telegram 机器人

将 Telegram 机器人接入 3x-ui,实现命令交互、周期性报告、事件告警(登录、CPU、节点上线/下线)、备份以及客户端自助服务。

3x-ui 可以驱动一个 Telegram 机器人,用于监控、告警、备份和远程管理。 管理员拥有完全的控制权;普通用户(通过 Telegram ID 关联)则可以 查询自己的用量和链接。

想获取最新动态和社区支持?欢迎加入官方 Telegram 频道 @XrayUI。它与下文中那个由你自行运行、用于管理自己面板的 机器人是两回事。

完成配置

创建机器人

@BotFather 发送消息,发送 /newbot,然后复制机器人令牌(bot token)。

查找你的 Telegram ID

获取你的数字 Telegram 用户 ID(机器人连接成功后,其自带的 /id 命令会显示该 ID)。 这就是你的管理员 ID。

配置面板

在面板设置中启用 Telegram 机器人,并填写令牌管理员聊天 ID (多个时以逗号分隔)。保存后,再向你的机器人发送消息。

命令

以下命令会出现在 Telegram 命令菜单中:/start/help/status/id。 其他命令:

命令适用对象作用
/start/help任何人问候语以及内联按钮菜单
/status任何人确认机器人在线
/id任何人显示你的 Telegram 数字 ID
/usage <arg>两者管理员可搜索客户端;用户则查询自己的用量
/inbound <remark>管理员显示某个入站的详情
/restart管理员重启 Xray

管理员还可通过内联按钮使用一系列功能:服务器用量、按流量排序的报告、 重置流量、数据库备份、封禁日志、列出入站/客户端、在线客户端、 “即将耗尽”,以及完整的添加客户端向导。普通用户则可以使用按钮查看 自己的用量、订阅链接、单条链接和 QR 码。

报告与告警

  • 周期性报告 —— 按 tgRunTime 计划(默认 @daily),机器人会向管理员 发送服务器用量(主机、版本、运行时长、负载、内存、在线客户端、流量)、 一份已耗尽/即将到期的客户端列表,以及——如果启用了 tgBotBackup—— 一份数据库 + Xray 配置的备份。通过 Telegram ID 关联的客户端则会收到 各自的到期/配额提醒。

  • 事件告警 —— 由 tgEnabledEvents 选定(默认 login.attempt,cpu.high):

    事件触发时机
    login.attempt面板登录成功或失败时(附带 IP 和用户名)
    cpu.highCPU 超过 tgCpu 百分比(默认 80)
    memory.high内存超过 tgMemory 百分比(默认 80)
    xray.crashXray-core 崩溃
    outbound.down / outbound.up某个出站断开 / 恢复
    node.down / node.up某个节点下线 / 重新上线

提醒的提前时间由 expireDiff(到期前的天数)和 trafficDiff (剩余配额的 GB 数)决定;两者默认均为 0(关闭)。

设置

设置项默认值含义
tgBotEnablefalse总开关。
tgBotToken(机密)机器人 API 令牌。
tgBotChatId(无)以逗号分隔的管理员 Telegram ID。
tgBotProxy(无)socks5://http://https:// 代理。
tgBotAPIServer(默认)自定义 Telegram Bot API 服务器。
tgRunTime@daily报告计划(cron / @daily / @every …)。
tgBotBackupfalse在周期性报告中附带一份数据库备份。
tgCpu / tgMemory80 / 80CPU / 内存告警阈值(百分比)。
tgLangen-US机器人语言。
tgEnabledEventslogin.attempt,cpu.high投递哪些事件。

机器人令牌掌控着你的机器人——务必妥善保密,且只添加可信的管理员聊天 ID。 登录告警绝不会包含密码。

如果你更倾向于通过邮件接收告警,邮件(SMTP)通知会镜像同样的这些事件 (smtpEnabledEvents)——请在面板设置中配置 SMTP。

On this page