Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Warning

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

Настройка БД

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

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


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

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

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

    WarningБот не будет роботать без надежного сертификата

    вебхук

Настройка

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

например:
/usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/ 

Скопируйте в эту директорию файл viber_bot.cgi

Code Block
languagebash
ln -s /usr/abills/Abills/modules/Viber/viber_bot.cgi /usr/abills/cgi-bin/ViberABHVUmXdOOSzLbdzSaV23QuEBTmDMjzg/


Установка веб хука

Code Block
languagebash
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
languagejs
{ "status_message":"ok"
.
 }


config.pl

В config.pl нужно добавить:

ПараметрОписание
$conf{VIBER_TOKEN}

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

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

$conf{VIBER_BOT_NAME}

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

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

$conf{VIBER_SUPPORT_PHONE}

Подпись и номер телефона разделяются знаком ' | ' а каждый следующий номер знаком ' ; '

Пример: '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}

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

$conf{VIBER_USER_PORTAL}

Ссылка для перехода на портал абонента:

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

$conf{DOCS_MONEY_NAMES}

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

Пример: 'грн.'


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

Бот загружает файлы из папки /usr/abills/Abills/modules/Viber/buttons-enabled/
Каждый файл - это отдельная кнопка, которая добавляется в меню.
Для подключения новых функций, необходимо скопировать  нужные вам кнопки (или создать ссылку) из папки /usr/abills/Abills/modules/Viber/buttons-avaiable/


Code Block
languagebash
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_info.pmИнтернетВыводит информацию о подключенных услугах.
Isp_info.pmО компанииВыводит информацию о компании (Данные заполняются в Настройка>Другое>Параметры организации)
Make_payment.pmПополнить счетПодсказка о том как пополнить счет (текст нужно заполнять самому в файле)
Services_and_account.pmУслуги и счетРасширенная версия кнопки Интернет, включает в себя также информацию о счете. Есть возможность взять кредит или отменить приостановление.
Call.pmКонтакты тех. поддержкиПоказывает информацию с конфига VIBER_SUPPORT_PHONE, VIBER_CHANEL, VIBER_LINK_URL...
Send_message.pmpm Отправить сообщениеПозволяет пользователю создать сообщение в службу поддержки.
Equipment_info.pmПроверка связи

Информация о состоянии подключения оптического терминала (в сети или выключен терминал) и состоянии порта оптического терминала, подключен ли к нему роутер.

Info

Шаблон для отображения действий при ошибке: modules/Viber/templates/viber_equipment_info_error.tpl

Image Added


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

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

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

  1. Image Added
    Дополнительно при нажатии на правую подкнопку открывается QR-код:
    Image Added
  2. Пользователю откроеться Вайбер, и текст /start, который он должен отправить для авторизации.

Оповещения с файлами от Msgs

Чтобы отправлялись файлы с ответов на Viber bot нужно подключить следующие параметры:

$conf{MSGS_ATTACH2FILE} = 1;
$conf{ATTACH2FILE} = 1;

По умолчанию отправляются только изображения. Чтобы отправить файлы других типов, необходимо сделать следующее.

В файле /etc/apache2/sites-enabled/abills_httpd.conf вставляем в конце:

Code Block
languagebash
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>


Разработчикам - Создание кнопок для бота