Настройка работы с базой данных и создание таблиц:
mysql -D abills < /usr/abills/Abills/modules/Telegram/Telegram.sql |
(если у вас уже есть бот, эту часть можно пропустить)
Эту операцию нужно делать с устройства где установлен Telegram.
/newbot
.TestAbills_bot
.https://t.me/TestAbills_bot
167953392:AAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg
Необходимо создать конфигурацию доступа веб-сервера Apache для работы Telegram-бота.
Заходим в директории, где находится конфиг Apache.
cd /etc/apache2/sites-enabled/ touch telegram_httpd.conf cat abills_httpd.conf >> telegram_httpd.conf |
telegram_httpd.conf
меняем порт з 9443 на 8443.Создайте директорию со сложным названием:
mkdir /usr/abills/cgi-bin/TelegramAAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg/ |
Название директории желательно сделать сложным и уникальным, для этого можно использовать токен (или его часть).
telegram_bot.cgi
ln -s /usr/abills/Abills/modules/Telegram/telegram_bot.cgi /usr/abills/cgi-bin/TelegramAAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg/ |
config.pl
обязательные параметры (ниже в таблице).В config.pl нужно добавить:
Параметр | Описание |
---|---|
$conf{TELEGRAM_TOKEN}=' '; | Обязательный параметр. Пример: |
$conf{TELEGRAM_BOT_NAME}=' '; | Обязательный параметр. Пример: |
| Локализация бота. По умолчанию, доступны три значения: |
$conf{MONEY_UNIT_NAMES}='грн.;коп.' | Название валюты, используется ботом |
$conf{TELEGRAM_NUMBER_EXPR} = '^380/0'; | Регулярное выражение для номера телефона. В примере |
| Текст, который будет отображаться для ввода карт пополнения. |
Проверьте появился ли доступ к файлу (https://YOUR.URL:YOURPORT/Telegram
AAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg/
telegram_bot.cgi
).
Если доступ есть – можно установить вебхук, соединение с Bot API Telegram.
Если используется действующий SSL-сертификат:
curl -F "url=https://YOUR.URL:YOURPORT/TelegramAAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg/telegram_bot.cgi" https://api.telegram.org/bot<YOURTOKEN>/setWebhook |
Если используется самоподписанный SSL-сертификат:
curl -F "url=https://YOUR.URL:YOURPORT/TelegramAAHVUmXdEOTzLbdzSuV23QuEBTmDMjzg/telegram_bot.cgi" -F "certificate=@/usr/abills/Certs/server.crt" https://api.telegram.org/bot<YOURTOKEN>/setWebhook |
Примечание:
Успешное выполнение команды установки вебхука выглядит примерно так:
{"ok":true,"result":true,"description":"Webhook was set"} |
После настройки телеграм бота нужно перезапустить бота "Остановить и блокировать/Остановить бота", а затем нажать кнопку "Перезапустить бота". |
Бот загружает файлы из папки /usr/abills/Abills/modules/Telegram/buttons-enabled/
Каждый файл - это отдельная кнопка, которая добавляется в меню.
Для подключения новых функций, необходимо скопировать нужные вам кнопки (или создать ссылку) из папки /usr/abills/Abills/modules/Telegram/buttons-avaiable/
mkdir /usr/abills/Abills/modules/Telegram/buttons-enabled/ ln -s /usr/abills/Abills/modules/Telegram/buttons-avaiable/Send_message.pm /usr/abills/Abills/modules/Telegram/buttons-enabled/ |
На сегодняшний день доступны следующие функции.
Название файла | Кнопка | Описание | |
---|---|---|---|
Balance.pm | Баланс | Выводит состояние счета. Дополнительно указывает сумму всех сервисов. | |
Card_payment.pm | Карточки пополения | Пополнения счёта через скретч карточки | |
Crm_new_lead.pm | Оставить заявку | Позволяет добавлять потенциальных клиентов через Телеграм. Если пользователя не найдено по номеру телефона, ему будет предложено оставить заявку на подключение. | |
Equipment_info.pm | Проверка связи | Информация о состоянии подключения оптического терминала (в сети или выключен терминал) и состоянии порта оптического терминала, подключен ли к нему роутер.
| |
Isp_info.pm | О компании | Выводит информацию о компании (Данные заполняются в Настройка>Другое>Параметры организации) | |
Msgs_reply.pm | Позволяет пользователю отвечать на сообщения тех. поддержки. | ||
Paysys_pay.pm | Пополнить счет | Оплата с Телеграм-бота с модуля Paysys | |
Portal_articles.pm | Новости | Модуль Portal. Показывает последние 10 новостей. | |
Send_message.pm | Отправить сообщение | Позволяет пользователю создать сообщение в службу поддержки. | |
Services_and_account.pm | Услуги и счет | Кнопка всех сервисов (Internet, IPTV, Abon, Cams, VoIP, Mobile), включает в себя также информацию о счете. Есть отменить приостановление или расписание на новый тариф. | |
Set_credit.pm | Кредит | Возможность взятия кредита. | |
User_faq.pm | Частые вопросы | Модуль Expert. Интерактивное меню частых вопросов и ответов на них. | |
User_info.pm | Аккаунт | Показывает некоторую информацию о пользователе. |
Для того чтобы начать работать с ботом абонент должен подписаться на него. Сделать это можно двумя способами.
Для корректной работы с ботом нужно, чтобы номер телефона абонента в биллинге был уникален. Подписаться на бота можно только с одного логина. |
Для проверки результата после установки бота, используйте эту команду:
curl https://api.telegram.org/bot<TELEGRAM_TOKEN>/getWebhookInfo |
Разработчикам - Создание кнопок для Telegram-бота Тестирование бота
Пользователь должен быть подписан на бота, тогда будет работать авторизация.
Данный функционал предназначен для автоматической отправки напоминаний пользователям, которые не отвечают в течение определенного времени (не более 3-х уведомлений на одно действие пользователя).
Если клиент не отвечает на вопрос бота более двух минут (не более суток), система отправляет ему напоминание с вопросом, нуждается ли он в дополнительной помощи.
Это помогает поддерживать непрерывное взаимодействие и повышает удовлетворенность клиентов.
Для активации этого функционала необходимо запустить плагин telegram_ping
, расположенный по пути /usr/abills/libexec/billd
.
Добавьте следующую строку для запуска плагина каждые 5 минут (или с другой необходимой периодичностью):
*/5 * * * * /usr/abills/libexec/billd telegram_ping |
Для отображения установите модуль:
В файле config.pl :
@MODULES = ( 'Telegram' ); |