Skip to content

Telegram-бот ​

Бот — второй интерфейс к тем же данным, что и веб-панель, плюс канал уведомлений. Управлять из чата удобно, когда под рукой только телефон: посмотреть пользователя, перезапустить ноду, ответить на нарушение кнопкой прямо под уведомлением.

Кто имеет доступ ​

Список числовых Telegram ID в ADMINS:

ini
ADMINS=123456789,987654321

Свой ID подскажет @userinfobot. Всем остальным бот не отвечает.

Команды ​

КомандаЧто делает
/startГлавное меню
/helpСправка
/healthСостояние системы
/statsСтатистика панели
/bandwidthСтатистика трафика
/configНастройки без перезапуска
/user <username|id>Карточка пользователя
/node <uuid>Карточка ноды
/host <uuid>Карточка хоста

Всё остальное — кнопками из меню: пользователи, ноды, хосты, шаблоны подписок, сниппеты, API-токены, биллинг.

Уведомления ​

События панели и собственные события Remnawave Admin приходят в указанный чат:

ini
NOTIFICATIONS_CHAT_ID=-1001234567890

Чтобы приходили события самой панели Remnawave (продления, изменения пользователей), нужен ещё webhook от панели.

Уведомление приходит карточкой: главные поля — таблицей, второстепенное — в сворачиваемых секциях, слова клиента и причины — цитатой, время — в часовом поясе того, кто читает. Ник, UUID, email, Telegram ID, IP-адреса и HWID копируются касанием. Если Telegram не принял карточку, уходит обычное сообщение с теми же данными; выключить карточки можно настройкой «Rich-оформление уведомлений».

Раскладка по топикам ​

Если чат — группа-форум, уведомления раскладываются по темам:

ini
NOTIFICATIONS_TOPIC_USERS=456       # пользователи
NOTIFICATIONS_TOPIC_NODES=789       # ноды
NOTIFICATIONS_TOPIC_SERVICE=101     # сервисные
NOTIFICATIONS_TOPIC_HWID=102        # устройства
NOTIFICATIONS_TOPIC_CRM=103         # биллинг
NOTIFICATIONS_TOPIC_FINANCE=106     # финансы
NOTIFICATIONS_TOPIC_ERRORS=104      # ошибки
NOTIFICATIONS_TOPIC_VIOLATIONS=105  # нарушения
NOTIFICATIONS_TOPIC_BACKUPS=107     # файлы бэкапов

Для чего топик не указан, уходит в общий NOTIFICATIONS_TOPIC_ID.

Кнопки под уведомлениями ​

Уведомление о нарушении несёт действия: заблокировать, разорвать соединения, внести в белый список. Кнопки стоят прямо в карточке и раскрашены по смыслу: красные карают, зелёные снимают подозрение. После нажатия карточка меняется на месте — кнопки уходят, внутри появляется отметка о действии. Нажатие проверяется по правам того, кто нажал, — кнопка не даёт больше, чем даёт роль.

Белых списков два, и это разные вещи. «В белый список» снимает с человека все проверки разом. «Не проверять: HWID» (или гео, ASN — что именно сработало) исключает только тот разрез, из-за которого пришло это уведомление, остальные анализаторы продолжают работать. Вторая кнопка появляется, когда понятно, какой анализатор дал основной вклад; прежние частичные исключения при этом сохраняются — новое добавляется к ним, а не заменяет их.

Плагины тоже кладут свои кнопки: плагин описывает действие тройкой «текст, действие, объект» (цвет кнопки — по желанию) и ничего не знает про Telegram — панель собирает кнопку сама.

Бот на закрытом сервере ​

Если сервер стоит на адресе, с которого Telegram недоступен:

ini
BOT_PROXY_URL=socks5://user:pass@proxy.example.com:1080

Поддерживаются схемы socks5://, socks4:// и http://, с логином и паролем. Схемы socks5h:// и https:// не поддерживаются.

Язык ​

ini
DEFAULT_LOCALE=ru   # или en

Интерфейс бота и веб-панели переведён полностью, включая тексты уведомлений.

AGPL-3.0 с исключением для плагинов