GithubHelp home page GithubHelp logo

chgpbase / botman-viber-driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from polyskalov/botman-viber-driver

0.0 0.0 0.0 46 KB

Viber driver for botman —  a PHP library to build chat bots

Home Page: https://botman.io

License: MIT License

PHP 100.00%

botman-viber-driver's Introduction

BotMan Viber Driver

Connect Viber with BotMan

Latest Version on Packagist

Installation & Setup

First you need to pull in the Viber Driver.

composer require polyskalov/botman-viber-driver

Then load the driver before creating the BotMan instance (only when you don't use BotMan Studio):

DriverManager::loadDriver(\TheArdent\Drivers\Viber\ViberDriver::class);

// Create BotMan instance
BotManFactory::create($config);

This driver requires a valid and secure URL in order to set up webhooks and receive events and information from the chat users. This means your application should be accessible through an HTTPS URL.

To connect BotMan with your Viber Bot, you first need to follow the official guide to create your Viber Bot and an access token.

Once you have obtained the access token, place it in your .env file like VIBER_TOKEN=YOUR-VIBER-TOKEN-HERE. There it gets automatically loaded to your config/botman/viber.php file.

If you don't use BotMan Studio, add these line to $config array that you pass when you create the object from BotManFactory.

'viber' => [
    'token' => 'YOUR-VIBER-TOKEN-HERE',
]

Register Your Webhook

To let your Viber Bot know, how it can communicate with your BotMan bot, you have to register the URL where BotMan is running at, with Viber.

You can do this by sending a POST request to this URL:

https://chatapi.viber.com/pa/set_webhook

This POST request needs parameter called url with the URL that points to your BotMan logic / controller. If you use BotMan Studio it will be: https://yourapp.domain/botman. HTTPS is a must, because of security reasons.

{
   "url":"https://my.host.com",
   "event_types":[
      "delivered",
      "seen",
      "failed",
      "subscribed",
      "unsubscribed",
      "conversation_started"
   ],
   "send_name": true,
   "send_photo": true
}

You can read about other fields in the request in the official documentation.

Instead of manually sending the request to Viber you can use a console command to register your Webhook.

php artisan botman:viber:register

Example

<?php

/** @var \BotMan\BotMan\BotMan $botman */
$botman = resolve('botman');

$botman->on(
    'conversation_started',
    static function (array $payload, BotMan $bot) {
        $bot->reply('Hi, ' . $bot->getUser()->getUsername());
    }
);

$botman->hears('hi', static function (BotMan $bot) {
    $bot->reply('👋');
});

$botman->fallback(static function (BotMan $bot) {
    $bot->reply('I do not understand');
});

$botman->listen();

botman-viber-driver's People

Contributors

adellantado avatar chgpbase avatar krogla avatar polyskalov avatar sasha-ch avatar theardent avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.