Як створити Viber-бота за допомогою PHP +19
- 06.02.17 09:28 •
- hcbogdan •
- # 321246 •
- Хабрахабр •
- З пісочниці •
- 23 •
- 11000
- такий же як Forbes, тільки краще.
- вести переписку з користувачем
- перевіряти статус передплатників (онлайн, офлайн)
- отримати інформацію про конкретний передплатника
- вносити записи (пости) на свою сторінку
Все це дозволяє створити досить непоганого бота, або ж інтегрувати бота в уже існуючий проект, що цілком може поліпшити якість взаємодія з користувачами. Якщо ви вже створювали ботів для telegram або slack - то створити бота для Viber не складе великих труднощів.
вступ
Ще деякий час тому в мене з'явилася необхідність взаємодіяти з користувачами вайбера. Хотілося б впровадити в свій додаток типові діалоги з користувачами, а ще надавати "кнопкові діалоги" (в тих випадках коли користувач бачить кілька кнопок під чатом). Але на той момент відкритого (публічного) API для цього не було, і доводилося або відмовлятися або викручуватися з граблями.
Перші кроки
На останньому кроці буде доступний вибір способу роботи з повідомленнями, виберіть "api" і скопіюйте ключ. (Або його можна просто подивитися на екрані "редагування інформації" PA):
Для прикладу, мій ключ буде: 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 не хочеться