Як створити viber-бота за допомогою php

Як створити Viber-бота за допомогою PHP +19

  • 06.02.17 09:28 •
  • hcbogdan •
  • # 321246 •
  • Хабрахабр •
  • З пісочниці •
  • 23 •
  • 11000

- такий же як Forbes, тільки краще.


  • вести переписку з користувачем
  • перевіряти статус передплатників (онлайн, офлайн)
  • отримати інформацію про конкретний передплатника
  • вносити записи (пости) на свою сторінку

Все це дозволяє створити досить непоганого бота, або ж інтегрувати бота в уже існуючий проект, що цілком може поліпшити якість взаємодія з користувачами. Якщо ви вже створювали ботів для telegram або slack - то створити бота для Viber не складе великих труднощів.

вступ

Ще деякий час тому в мене з'явилася необхідність взаємодіяти з користувачами вайбера. Хотілося б впровадити в свій додаток типові діалоги з користувачами, а ще надавати "кнопкові діалоги" (в тих випадках коли користувач бачить кілька кнопок під чатом). Але на той момент відкритого (публічного) API для цього не було, і доводилося або відмовлятися або викручуватися з граблями.

Перші кроки

На останньому кроці буде доступний вибір способу роботи з повідомленнями, виберіть "api" і скопіюйте ключ. (Або його можна просто подивитися на екрані "редагування інформації" PA):

Як створити viber-бота за допомогою php

Для прикладу, мій ключ буде: 1111111111111111-2222222222222222-3333333333333333

серверна частина

І зареєструємо вебхук виконавши файл:

Можна трохи поліпшити функціонал бота і додати логгірованіе. Зробимо це за допомогою monolog:

І додамо логгірованіе винятків:

Всі виключення будуть надходити в /tmp/bot.log.

Базова версія вашого бота готова, ви можете вносити свою логіку, додавати кнопки в чат, використовувати глибокі посилання (deep link) і html розмітку - все це доступно в SDK. Я створив кілька демок які ви можете побачити в чаті viber: // pa? ChatURI = viber-bot-phpcontext = habrahabr. Якщо у вас ще немає viber клієнта, ви можете знайти чат за цим посиланням: viber-bot-php.

Корисні посилання

Ви можете допомогти і перевести трохи коштів на розвиток сайту

Наведу кілька кейсів (дещо реалізовував):
1. ваші користувачі люблять вайбер (не знають що таке slack або telegram), і вам потрібно частенько посилати їм смс (за їхніми ж підписці), чому б не перевести це в чат?
2. автоматизований діалог, користувач натискає на кнопку - у нього поповнюється (або списується) баланс в внутрішній системі (скажімо клікнув «виконав завдання»)
Ну а придумати можна ще багато чого. Можливостей набагато менше, ніж скажімо в телеграмі, але теж не погано.

Дуже радий був би, якщо можна було б прикрутити до zabbix viber-бота, а то користуюся тільки viber, а заради одного бота ставити telegram не хочеться

Схожі статті