Telegram-бот
Подключите Telegram-бота к EasyXray для выполнения команд, периодических отчётов, оповещений о событиях (вход, CPU, доступность узлов), резервных копий и самообслуживания клиентов.
EasyXray умеет управлять Telegram-ботом для мониторинга, оповещений, резервного копирования и удалённого управления. Администраторы получают полный контроль; обычные пользователи (привязанные по Telegram ID) могут проверять собственный расход трафика и ссылки.
Ищете новости и поддержку сообщества? Присоединяйтесь к официальному Telegram-каналу @XrayUI. Это отдельный канал, не связанный с описанным ниже ботом, которого вы запускаете самостоятельно для управления собственной панелью.
Настройка
Создайте бота
Напишите @BotFather, отправьте /newbot и скопируйте
токен бота.
Узнайте свой Telegram ID
Получите свой числовой идентификатор пользователя Telegram (после подключения
бот сообщит его по собственной команде /id). Это ваш админский ID.
Настройте панель
В настройках панели включите Telegram-бота и задайте токен и админские chat ID (через запятую). Сохраните, затем напишите своему боту.
Проверьте свой токен, админские ID и расписание отчётов, прежде чем вставлять их в панель:
Telegram bot setup helper
Validate your bot token, admin IDs, and report schedule, then copy the panel settings.
Valid (macro)
tgBotEnable = true
tgBotToken = <token>
tgBotChatId = <admin ids>
tgRunTime = @dailyhttps://api.telegram.org/bot<token>Команды
Эти команды отображаются в меню команд Telegram: /start, /help, /status, /id.
Дополнительные команды:
| Команда | Кому | Действие |
|---|---|---|
/start | всем | Приветствие и меню встроенных кнопок; непривязанный аккаунт получает только свой Telegram ID |
/help | обоим | Меню встроенных кнопок |
/status | обоим | Подтверждает, что бот работает |
/id | всем | Показывает ваш числовой Telegram ID |
/usage <arg> | обоим | Администраторы ищут клиентов; пользователи смотрят свой расход |
/inbound <remark> | админ | Показывает сведения о входящем подключении |
/restart | админ | Перезапускает Xray |
Пользователь — это аккаунт Telegram, привязанный хотя бы к одному клиенту. Любой
другой аккаунт может выполнять только /start и /id; остальные его команды и
нажатия кнопок бот игнорирует. Чтобы привязать клиента, нажмите
Ссылка-приглашение в карточке клиента в боте и отправьте ему ссылку t.me: первый
открывший её аккаунт привязывается ко всем клиентам с этим ID подписки. ID
подписки служит кодом приглашения, поэтому делайте его длинным и случайным.
У каждого аккаунта пять попыток в час, после чего администраторы получают
уведомление.
Администраторам также доступны сценарии со встроенными кнопками: использование сервера, отсортированные отчёты по трафику, сброс трафика, резервные копии БД, журналы блокировок, список входящих подключений/клиентов, онлайн-клиенты, «скоро исчерпают» и полноценный мастер добавления клиента. Обычным пользователям доступны кнопки для своего расхода, ссылок на подписку, отдельных ссылок и QR-кодов.
Отчёты и оповещения
-
Периодический отчёт — по расписанию
tgRunTime(по умолчанию@daily) бот отправляет администраторам сведения об использовании сервера (хост, версии, время работы, нагрузка, память, онлайн-клиенты, трафик), список исчерпанных/истекающих клиентов и — если включёнtgBotBackup— резервную копию базы данных и конфигурации Xray. Клиенты, привязанные по Telegram ID, получают собственные предупреждения об истечении срока/исчерпании квоты. -
Оповещения о событиях — выбираются параметром
tgEnabledEvents(по умолчаниюlogin.attempt,cpu.high):Событие Когда login.attemptВход в панель удался или не удался (с IP и именем пользователя) cpu.highЗагрузка CPU превышает tgCpuпроцентов (по умолчанию 80)memory.highИспользование памяти превышает tgMemoryпроцентов (по умолчанию 80)xray.crashАварийное завершение Xray-core outbound.down/outbound.upИсходящее подключение упало / восстановилось node.down/node.upУзел ушёл в офлайн / вернулся в строй
Время предупреждения определяется параметрами expireDiff (дней до истечения
срока) и trafficDiff (ГБ оставшейся квоты); оба по умолчанию равны 0
(отключено).
Параметры
| Параметр | По умолчанию | Значение |
|---|---|---|
tgBotEnable | false | Главный переключатель вкл./выкл. |
tgBotToken | (секрет) | Токен Bot API. |
tgBotChatId | (нет) | Админские Telegram ID через запятую. |
tgBotProxy | (нет) | Прокси socks5://, http:// или https://. |
tgBotAPIServer | (по умолчанию) | Пользовательский сервер Telegram Bot API. |
tgRunTime | @daily | Расписание отчётов (cron / @daily / @every …). |
tgBotBackup | false | Прикладывать резервную копию БД к периодическому отчёту. |
tgCpu / tgMemory | 80 / 80 | Пороги оповещений по CPU / памяти (в процентах). |
tgLang | en-US | Язык бота. |
tgEnabledEvents | login.attempt,cpu.high | Какие события доставлять. |
Токен бота управляет вашим ботом — храните его в секрете и добавляйте только доверенные админские chat ID. Оповещения о входе никогда не содержат паролей.
Уведомления по электронной почте (SMTP) дублируют те же события
(smtpEnabledEvents), если вы предпочитаете получать оповещения на почту —
настройте SMTP в настройках панели.
Резервное копирование и восстановление
Создавайте резервные копии базы данных и сертификатов EasyXray и восстанавливайте их вручную или через Telegram-бота.
Discord-бот
Подключите Discord-бота к EasyXray для получения оповещений о событиях панели (сбои сервисов, доступность узлов, нагрузка CPU/RAM и попытки входа) прямо в канал Discord.

EasyXray