Бот не сможет работать без подтверждённого SSL-сертификата
Настройка БД
Для корректной работы надо создать таблицу
mysql -D abills < Abills/modules/Viber/Viber.sql
Создание бота
(если у вас уже есть бот, эту часть можно пропустить)
- Заходим сюда: https://partners.viber.com/account/create-bot-account, входим в акаунт если спросит.
- Заполняем поля и запоминаем URL (
VIBER_BOT_NAME
) - Получаем токен, вставляем в config.pl (
VIBER_TOKEN
) Подключаем вебхук
Настройка
Создайте директорию для бота, лучше всего с длинным и сложным именем, для этого можно использовать токен (или его часть).
например:
/usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/
Скопируйте в эту директорию файл viber_bot.cgi
ln -s /usr/abills/Abills/modules/Viber/viber_bot.cgi /usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/
Установка веб хука
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 строку, в котором будет
{ "status_message":"ok" }
config.pl
В config.pl нужно добавить:
Параметр | Описание |
---|---|
$conf{VIBER_TOKEN} | Обязательный параметр. Пример: |
$conf{VIBER_BOT_NAME} | Обязательный параметр. URL, которое вы указывали при создании бота |
| Локализация бота. По умолчанию, доступны три значения: |
$conf{MONEY_UNIT_NAMES} | Валюта отображения в модуле Viber Пример: |
$conf{BILLING_URL} | Ссылка на биллинг. Требуется для рассылки файлов. Пример: |
Интерфейс бота
Бот загружает файлы из папки /usr/abills/Abills/modules/Viber/buttons-enabled/
Каждый файл - это отдельная кнопка, которая добавляется в меню.
Для подключения новых функций, необходимо скопировать нужные вам кнопки (или создать ссылку) из папки /usr/abills/Abills/modules/Viber/buttons-avaiable/
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 | Баланс | Выводит состояние счета, информацию о последнем пополнении счета и последнем списании |
Equipment_info.pm | Проверка связи | Информация о состоянии подключения оптического терминала (в сети или выключен терминал) и состоянии порта оптического терминала, подключен ли к нему роутер. Шаблон для отображения действий при ошибке: modules/Viber/templates/viber_equipment_info_error.tpl |
Invoices.pm | Счета | Отображает последние 5 счетов. |
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 | Аккаунт | Показывает некоторую информацию о пользователе. |
Начало работы с ботом
Для того чтобы начать работать с ботом абонент должен подписаться на него. Сделать это можно двумя способами.
- Пользователь может нажать кнопку в личном кабинете.
Дополнительно при нажатии на правую подкнопку открывается QR-код: - Пользователю откроеться Вайбер, и текст /start, который он должен отправить для авторизации.
Пользователь может открыть чат с ботом, и там подтвердить свой телефон. (Необходимо чтобы его телефон был занесен в базу биллинга).
Для корректной работы с ботом нужно, чтобы номер телефона абонента в биллинге был уникален.
Подписаться на бота можно только с одного логина.
Оповещения с файлами от Msgs
Чтобы отправлялись файлы с ответов на Viber bot нужно подключить следующие параметры:
$conf{MSGS_ATTACH2FILE} = 1; |
---|
$conf{ATTACH2FILE} = 1; |
По умолчанию отправляются только изображения. Чтобы отправить файлы других типов, необходимо сделать следующее.
В файле /etc/apache2/sites-enabled/abills_httpd.conf вставляем в конце:
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 :
@MODULES = ( 'Viber' );
Разработчикам - Создание кнопок для Telegram-бота