Table of Contents |
---|
Warning |
---|
Бот не сможет работать без подтверждённого SSL-сертификата |
Настройка БД
Для корректной работы надо создать таблицу
Code Block |
---|
mysql -D abills < Abills/modules/Viber/Viber.sql |
Создание бота
(если у вас уже есть бот, эту часть можно пропустить)
- Заходим сюда: https://partners.viber.com/account/create-bot-account, входим в акаунт если спросит.
- Заполняем поля и запоминаем Uri URL (это наш VIBER
VIBER_BOT_NAME
) - Получаем токен, вставляем в конфиг config.pl (
VIBER_TOKEN
) Подключаем Веб-Хук
Бот не будет роботать без надежного сертификатаWarning вебхук
Настройка
Создайте директорию для бота, лучше всего с длинным и сложным именем, для этого можно использовать токен (или его часть).
например:
/usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/
Скопируйте в эту директорию файл viber_bot.cgi
Code Block | ||
---|---|---|
| ||
ln -s /usr/abills/Abills/modules/Viber/viber_bot.cgi /usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/ |
Установка веб хука
Code Block | ||
---|---|---|
| ||
curl --header "X-Viber-Auth-Token: <TOKEN>" --request POST --data '{ "url":"<URL>", "event_types":[ "delivered", "seen", "failed", "subscribed", "unsubscribed", "conversation_started" ], "send_name": false, "send_photo": false }' https://chatapi.viber.com/pa/set_webhook |
Вместо <TOKEN> вставьте свой токен, которий вам выдал бот.
Вместо <URL> вставьте сылку к viber_bot.cgi (https://YOUR.URL:YOURPORT/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/viber_bot.cgi)
Вы должны получить в ответ JSON строку, в котором будет будет
Code Block | ||
---|---|---|
| ||
{ "status_message":"ok" |
} |
config.pl
В config.pl нужно добавить:
Параметр | Описание | ||
---|---|---|---|
$conf{VIBER_TOKEN} | Обязательный параметр. Пример: 4cbdb2fbb8e1de02 | ||
$conf{VIBER_BOT_NAME} | Обязательный параметр. Uri URL, которое вы указывали при создании бота | ||
| Подпись и номер телефона разделяются знаком ' | ' а каждый следующий номер знаком ' ; ' Пример: 'MTC|09600000;Lifecell|123456789' | ||
$conf{VIBER_LINK_URL} | Подпись и url разделяются знаком ' | ' а каждый следующий url знаком ' ; ' Пример: 'Акция|https://test.ua;Магазин|https://shop.ua;' | ||
$conf{VIBER_CHANEL} | Ссылка на произвольный вайбер канал. Пример: 'https://t.me/test_abills' | ||
$conf{VIBER_SITE} | Ссылка на сайт провайдера. Пример: 'http://abills.net.ua' | ||
$conf{VIBER_LANG} | $conf{VIBER_USER_PORTAL} | Ссылка для перехода на портал абонента: Пример: | Локализация бота. По умолчанию, доступны три значения: |
$conf{MONEY_UNIT_NAMES} | Валюта отображения в модуле Viber Пример: | ||
$conf{BILLING_URL} | Ссылка на биллинг. Требуется для рассылки файлов. Пример: | ||
$conf{ DOCSVIBER_BOT_ MONEYSENDER_ NAMESNAME} | Валюта отображения в модуле Viber Пример: 'грн.' |
Интерфейс бота
Бот загружает файлы из папки /usr/abills/Abills/modules/Viber/buttons-enabled/
Каждый файл - это отдельная кнопка, которая добавляется в меню.
Для подключения новых функций, необходимо скопировать нужные вам кнопки (или создать ссылку) из папки /usr/abills/Abills/modules/Viber/buttons-avaiable/
Code Block | ||
---|---|---|
| ||
mkdir /usr/abills/Abills/modules/Viber/buttons-enabled/
ln -s /usr/abills/Abills/modules/Viber/buttons-avaiable/Balance.pm /usr/abills/Abills/modules/Viber/buttons-enabled/ |
Название бота, которое будет отображаться в переписке с абонентом. |
Интерфейс бота
На сегодняшний день доступны следующие функции.
Название файла | Кнопка | Описание | |||||
---|---|---|---|---|---|---|---|
Balance.pm | Баланс | Выводит состояние счета, информацию о последнем пополнении счета и последнем списанииInternet | |||||
Equipment_info.pm | ИнтернетПроверка связи | Выводит информацию о подключенных услугах.Информация о состоянии подключения оптического терминала (в сети или выключен терминал) и состоянии порта оптического терминала, подключен ли к нему роутер.
| |||||
Invoices.pm | Счета | Отображает последние 5 счетов. | |||||
Isp_info.pm | О компании | Выводит информацию о компании (Данные заполняются в Настройка>Другое>Параметры организации)Make_payment | |||||
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...) включает в себя также информацию о счете. Есть возможность взять кредит или отменить приостановление или расписание на смену тп. | |||||
CallSet_credit.pm | Контакты тех. поддержки | Показывает информацию с конфига VIBER_SUPPORT_PHONE, VIBER_CHANEL, VIBER_LINK_URL... | Send_message.pm | Отправить сообщение | Позволяет пользователю создать сообщение в службу поддержки | Кредит | Возможность взятия кредита. |
User_faq.pm | Частые вопросы | Модуль Expert. Интерактивное меню частых вопросов и ответов на них. | |||||
User_info.pm | Аккаунт | Показывает некоторую информацию о пользователе. |
Начало работы с ботом
Для того чтобы начать работать с ботом абонент должен подписаться на него. Сделать это можно двумя способами.1. Пользователь
- Пользователь может нажать
- кнопку в личном кабинете.
Дополнительно при нажатии на правую подкнопку открывается QR-код:- Пользователю откроеться Вайбер, и текст /start, который он должен отправить для авторизации.
Пользователь может открыть чат с ботом, и там подтвердить свой телефон. (Необходимо чтобы его телефон был занесен в базу биллинга).
Note Для корректной работы с ботом нужно, чтобы номер телефона абонента в биллинге был уникален.
Подписаться на бота можно только с одного логина.
Оповещения с файлами от Msgs
Чтобы отправлялись файлы с ответов на Viber bot нужно подключить следующие параметры:
$conf{MSGS_ATTACH2FILE} = 1; |
---|
$conf{ATTACH2FILE} = 1; |
По умолчанию отправляются только изображения. Чтобы отправить файлы других типов, необходимо сделать следующее.
В файле /etc/apache2/sites-enabled/abills_httpd.conf вставляем в конце:
Code Block | ||
---|---|---|
| ||
Alias "/files" "/usr/abills/Abills/templates"
<Directory "/usr/abills/Abills/templates">
AllowOverride None
Order allow,deny
Deny from all
<FilesMatch "\.(pdf|doc|docx|xls|xlsx)$">
Order allow,deny
Allow from all
Require all granted
Satisfy Any
</FilesMatch>
</Directory> |
QR-коды для Viber-бота
Для отображения установите модуль:
В файле config.pl :
Code Block | ||
---|---|---|
| ||
@MODULES = (
'Viber'
); |
Разработчикам - Создание кнопок для Telegram-бота