Child pages
  • Telegram Bot

Skip to end of metadata
Go to start of metadata

Подключение API

Для соединения с API используется модуль AnyEvent (это позволяет создавать одно подключение для передачи нескольких сообщений) Поэтому, нужно установить модуль AnyEvent.

Telegram Bot

Бот Telegram позволяет проводить массовые рассылки и сократить время на поддержку абонентов. На данном этапе, используется один бот для администраторов и клиентов (для каждого создаётся свой уникальный чат).

Возможности

Для правильной работы, нужно использовать новую модель контактов ($conf{CONTACTS_NEW} = 1).

Клиенты могут подписаться через кнопку на первой странице кабинета.


Администраторы - в любом меню Профиль (как в основном меню так и в секции меню справа).

Кнопка формирует ссылку с секретом, который передастся приложением Telegram.

Создание бота

Эту операцию нужно делать с устройства где установлен Telegram.

1) Заходим https://telegram.me/botfather . Если есть аккаунт нажимаем кнопку “Send message”. Если нету, то регистрируемся в Telegram-е, затем снова заходим и нажимаем “Send message”. Или можно сразу зайти в Telegram, в поиске вбить Botfather и перейти к диалогу с ним.

2) На главном экране бота нажимаем “Start”.

3) Покажется список возможных команд для обращения к BotFather. Нам нужно ввести команду

/newbot.

4) BotFather спросит имя нашего бота. Это имя будет отображаться в деталях контакта. Вводим имя бота, например, Testbot.

5) Следующий шаг нас спрашивают Имя пользователя бота. Это параметр будет использоваться для запросов к боту. От 5 до 32 символов, регистро-чувствительная латиница, цифры и нижние подчеркивания. Имя пользователя бота должно заканчиваться на bot. Вводим наше имя пользователя, например TestAbills_bot.

6) Мы зарегистрировали нашего бота. Мы получили линк на нешего бота https://telegram.me/TestAbills_bot, а так же очень важный параметр - токен.

Токен: 167953392:AAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg-io .

7) Бот создан!

Локализация интерфейса

По умолчанию, бот общается с пользователями на языке $conf{default_language}. Есть возможность отправлять каждому пользователю сообщения на своём языке. Для этого добавьте информационное поле _language (обратите внимание на дополнительное _). После этого, пользователь сможет менять язык через команду /language.

Запуск и привязка бота к биллингу

Установить perl модули:

  • AnyEvent

  • AnyEvent::HTTP

  • Net::SSLeay

В файл настроек config.pl прописать следующие параметры:

$conf{TELEGRAM_TOKEN} = '267953392:AAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg-io';Токен, который получили при создании бота
$conf{TELEGRAM_MSGS_BOT_ENABLE} = 1;Позволить отвечать на сообщения из чата Telegram
$conf{BILLING_URL} = 'https://demo.abills.net.ua:9443/'Ссылка на биллинг, для построения ссылок просмотра сообщений
$conf{TELEGRAM_DEBUG} = 3;1..7 Уровень отладки
$conf{TELEGRAM_DEBUG_FILE} = '/usr/abills/var/log/telegram.log'Куда писать лог Telegram
$conf{TELEGRAM_API_REQUEST_INTERVAL} = 3;Частота обращений к Telegram API в секунду
$conf{TELEGRAM_API_DEBUG} = 3;1..7 Уровень отладки Telegram API
$conf{TELEGRAM_API_DEBUG_FILE} = '/usr/abills/var/log/telegram.log'Куда писать лог Telegram API
$conf{MSGS_MESSAGING_DEBUG_FILE} = '/usr/abills/var/log/telegram_msgs.log'Куда писать лог вызовов Telegram из модуля Msgs


После этого, нужно перезапустить websocket_backend.pl (если еще не установлен, Установка WebSocket Backend)

Файл логирования Telegram находится в /usr/abills/var/log/telegram.log

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

Основной целью работы бота с биллингом через систему поддержки (support.abills.net.ua) есть своевременное уведомление администратора в Telegram о назначении его ответственным за новую заявку,  или же быстрое общение с клиентом через Telegram - просмотр и ответ на сообщения от клиента.

  • No labels