Skip to content

Telegram ​

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

Страница Telegram: карточка сервиса с токеном бота, прокси и адресом Bot API над списком привязанных чатовСтраница Telegram: карточка сервиса с токеном бота, прокси и адресом Bot API над списком привязанных чатов

Настройка бота ​

  1. В Telegram напишите @BotFather, отправьте /newbot и скопируйте токен, который он выдаст.
  2. Вставьте его в Токен бота. Используйте для панели отдельного бота: пока чат привязывается, панель читает сообщения бота, и другая программа, читающая того же бота, заберёт их первой.
  3. Если этот сервер не может достучаться до api.telegram.org (в некоторых странах он заблокирован), заполните одно из полей:
    • Прокси: socks5://host:port или http://host:port. Логин и пароль указываются в адресе: socks5://user:pass@host:port.
    • Адрес Bot API: сервер Telegram Bot API, который вы держите там, откуда Telegram доступен, — вместо прокси.
  4. Включите Сервис включён, сохраните и нажмите Проверить. Проверка использует сохранённые значения, поэтому сначала сохраните.

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

Привязка чата ​

  1. Привязать чат.
  2. Выберите Аккаунт, уведомления которого будет получать чат.
  3. Выберите Язык его уведомлений.
  4. Выберите его События: Всё, что может видеть этот аккаунт (включая события, которые добавит следующий выпуск), или снимите отметку и выберите сами. Событие, которое аккаунт не может видеть, показано серым; этот чат его никогда не получит.
  5. Получить код.

Затем окно предлагает три способа завершить привязку:

  • ссылка и QR-код: откройте её в Telegram в том аккаунте, который должен получать уведомления, и нажмите Start (в русском интерфейсе Telegram — «Запустить»);
  • сам код, чтобы отправить его боту вручную;
  • для группы — Добавить бота в группу: так можно выбрать группу, и код будет отправлен туда, или строка /start@yourbot CODE, чтобы отправить её в группе, где бот уже есть.

В группе бот слышит только команды, обращённые к нему по имени, поэтому отправленный туда голый код он не увидит. Код действует десять минут. Как только бот его получит, окно сообщает Чат привязан.

WARNING

Каждый участник группы читает то, что может видеть её аккаунт. Привязывайте группу к реселлеру, только если всем её участникам можно видеть клиентов этого реселлера.

Каждый аккаунт привязывает свои чаты ​

Каждый аккаунт может привязать свой чат из своего меню, Мой Telegram, теми же шагами. Реселлеру для этого не нужен главный администратор. В Мой Telegram также перечислены чаты аккаунта и их доставки.

Что приходит ​

Уведомление — это короткое сообщение на языке чата: что произошло, затем поля, важные для человека (аккаунт, его трафик и дата, узел и его ошибка). Выбрать можно любое событие из Каталог событий. Несколько событий, которые операторы обычно оставляют:

СобытиеКогда
user.quota_warning, user.expiringаккаунт близок к пределу трафика или к дате окончания
user.disabledаккаунт выключен из-за трафика или даты
node.disconnected, node.connectedузел перестал или начал отвечать
node.disk_high, node.memory_highдиск или память узла превысили порог
panel.backup_failed, panel.backup_upload_failedрезервная копия или её загрузка не удалась
admin.login_new_ipаккаунт вошёл с нового адреса

Чат реселлера получает только события о его пользователях и его собственном аккаунте: события узлов и панели до него никогда не доходят.

Список чатов ​

Каждая строка показывает чат, его Аккаунт, его События, его Язык и время, когда он Привязан, с переключателем для паузы. В меню строки:

  • Изменить: изменить события или язык.
  • Отправить тестовое сообщение.
  • Доставки: каждое уведомление, отправленное в чат, — доставленное, ожидающее новой попытки или прекращённое, с ответом Telegram и кнопкой Отправить снова у каждого.
  • Отвязать: чат перестаёт получать уведомления; для новой привязки нужен новый код.

Отправка в чат повторяется так же, как у вебхука (см. Вебхуки и события), поэтому уведомления, отправленные, пока Telegram или прокси были недоступны, придут, когда связь вернётся. Пока сервис выключен, привязанные чаты ничего не получают, пока его снова не включат.

Команды ​

В привязанном чате:

КомандаОтвет
/statusсводка: аккаунты по статусам и кто сейчас онлайн (реселлеру — только свои), а для главных администраторов и операторов — узлы
/user nameодин аккаунт: трафик, срок, онлайн (реселлеру — только свои)
/node nameодин узел (главные администраторы и операторы)

В группе добавьте имя бота: /user@yourbot name. Команды только читают: ничто в чате не может изменить панель. Чату, привязанному к реселлеру с истёкшим аккаунтом, бот так и отвечает.

Удаление чатов аккаунта ​

При удалении аккаунта удаляются его чаты. То же происходит, когда главный администратор сбрасывает пароль аккаунта на странице Администраторы, чтобы у того, кто знал старый пароль, не осталось способа читать уведомления аккаунта. Затем аккаунт заново привязывает свои чаты.

Текст и изображения — CC BY 4.0.