Отправка уведомлений через Telegram

Skip to end of metadata
Go to start of metadata

В статье описано как настроить оповещения через Telegram.

Настройка

Создайте своего бота в Telegram.

Для этого добавьте себе бота @BotFather, с его помощью создать нового бота, следуя инструкциям.

Username обязательно должен заканчиваться на bot или Bot. Например: BestProviderBot

@BotFather выдаст Token для вашего нового бота - его необходимо записать.
Подробнее: https://core.telegram.org/bots#creating-a-new-bot

Настройте его в биллинге

В биллинге: "Настройки" -> "Настройки (в файле)" -> "Настройки демона отправки сообщений"
Заполните поля:

  • "Бот Telegram" - включите опцию
  • "Токен бота Telegram" - введите токен своего бота, полученный при создании;
  • "Прокси для Telegram" - укажите прокси, если api.telegram.org не доступен с сервера биллинга;
    Прокси укажите в формате - (http|https)://user:pass@host:port
    Например: https://user:secret@176.114.8.62:45785
    Поддерживаются только HTTP/HTTPS прокси!
  • "URL Telegram Bot API Server" - адрес локального сервера Telegram Bot API, указывается вместе с протоколом, например https://telegram.isp.ru/bot
    Локальный сервер может потребоваться, если Вам недостаточно возможностей публичного сервера или если Вы хотите перехватывать запросы от биллинга к боту.
    Код локального сервера и инструкция по установке доступны на github
    Если локальный сервер не требуется, оставьте поле пустым.

Перезапустите сервис отправки сообщений

chroot /app/asr_billing service msgd restart

Убедитесь что настройки применились

Посмотрите в лог /app/asr_billing/var/log/msgd.log, найдите там подобные строки:

msg_lib - INFO - Telegram params: token=952445308:XXXXXXXXXXX_VFpNO5fACP7Buo4CrPFM, proxy=https://user:secret@176.114.8.62:45785
msg_lib - INFO - Telegram Polling Started

Настройте шаблоны сообщений

В биллинге зайдите в настройки шаблонов: "Настройки" -> "Шаблоны сообщений"
В нужных шаблонах измените способ отправки на "Telegram" или добавьте для мессенджера новые шаблоны

Оповестите абонентов

Дайте абонентам ссылку на бота или просто его название

Сообщите абонентам как найти бота: ссылку можно отправить через SMS или оповестить их создав новость на локальном сайте.

Абонент добавляет бота в свой Telegram

Абоненты должны добавить бота в своем аккаунте мессенджера:

  • При первом запуске бот будет требовать логин (подойдет любой, от ЛК или IPTV) или номер телефона.
  • После ввода бот узнает абонента и создаст ему новый реквизит "Telegram ID", в котором будет сохранён ID контакта в Telegram.
    Нельзя изменять этот реквизит или его название вручную!

Работа с ботом

Для начала работы с ботом, введите команду /start, бот предложит ввести номер договора.

Если ввести его неправильно, бот предложит ввести номер договора повторно

Когда Вы введёте правильный номер договора, бот напишет приветствие и меню.

В любой момент можно снова получить меню, набрав команду /help

Используя команды бота, Вы можете получить информацию о:

  • Рекомендуемом платеже для оплаты чтобы проработать это месяц и следующий.
    Если рекомендуемый платёж равен "0", вероятно на балансе достаточно средств или нет услуг с абонентской платой.

  • Текущем тарифе, бот сообщит его наименование и стоимость услуг абонентской платы (только по тарифу, без стоимости доп. услуг)
  • Дополнительных услугах, если они есть
  • Текущем балансе
Проверьте корректность настроек отправки уведомлений через "Telegram".
Обратите внимание на пункт "Прокси для Telegram" - укажите прокси, если api.telegram.org не доступен с сервера биллинга;
Прокси укажите в формате - (http|https)://user:pass@host:port
Например: https://user:secret@176.114.8.62:45785
Поддерживаются только HTTP/HTTPS прокси!

Как узнать имя бота с помощью токена.

Узнать имя бота можно с помощью ссылки:

https://api.telegram.org/bot(токен)/getMe

Вместо скобок нужно указать токен своего бота.
Далее всю строку скопировать в адресную строку браузера.
Название бота будет указано в поле "username".

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.