Skip to end of metadata
Go to start of metadata

Бот не сможет работать без подтверждённого SSL-сертификата

Настройка БД

 Для корректной работы надо создать таблицу

mysql -D abills < Abills/modules/Viber/Viber.sql

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

(если у вас уже есть бот, эту часть можно пропустить)

  1. Заходим сюда: https://partners.viber.com/account/create-bot-account, входим в акаунт если спросит.
  2. Заполняем поля и запоминаем URL (VIBER_BOT_NAME)
  3. Получаем токен, вставляем в config.pl (VIBER_TOKEN)
  4. Подключаем вебхук

Настройка

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

например:
/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}

Обязательный параметр.

Пример: 4cbdb2fbb8e1de02-6a6ef282503c9ec9-596a8222f48a7880

$conf{VIBER_BOT_NAME}

Обязательный параметр.

URL, которое вы указывали при создании бота

$conf{VIBER_LANG}

Локализация бота. По умолчанию, доступны три значения: "english", "russian", "ukrainian".

$conf{MONEY_UNIT_NAMES}

Валюта отображения в модуле Viber 

Пример: 'грн.;коп'

$conf{BILLING_URL}

Ссылка на биллинг. Требуется для рассылки файлов.

Пример: 'https://demo.abills.net.ua:9443/'

Интерфейс бота

Бот загружает файлы из папки /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АккаунтПоказывает некоторую информацию о пользователе.

Начало работы с ботом

Для того чтобы начать работать с ботом абонент должен подписаться на него. Сделать это можно двумя способами.

  1. Пользователь может нажать кнопку в личном кабинете.

    Дополнительно при нажатии на правую подкнопку открывается QR-код:
  2. Пользователю откроеться Вайбер, и текст /start, который он должен отправить для авторизации.
  3. Пользователь может открыть чат с ботом, и там подтвердить свой телефон. (Необходимо чтобы его телефон был занесен в базу биллинга).

    Для корректной работы с ботом нужно, чтобы номер телефона абонента в биллинге был уникален.

    Подписаться на бота можно только с одного логина.


Оповещения с файлами от 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'
            );

  • No labels