Git Product home page Git Product logo

glip-botman's Introduction

Build Status Code Climate License: MIT Chat Coverage Status Codacy Badge Scrutinizer Code Quality

Glip - Botman

Glip Adaptor for Botman.

APP screenshots

This is a simple Botman Adaptor for Glip which is ready to use and fairly simple to install. Before we install, lets look at the requirements below :

Requirement

  • PHP 5.5+
  • CURL extension
  • MCrypt extension

Note: for PHP v 5.6 you would need to comment the below line in the php.ini file.
"always_populate_raw_post_data = -1"

Installation & Setup

Via Github Repo

$ git clone https://github.com/anilkumarbp/glip-botman.git
$ cd glip-botman
$ curl -sS https://getcomposer.org/installer | php
$ composer install

Via Composer

Require this package with composer using the following command:

$ composer require anilkumarbp/glip-botman

Require Composer's autoloader in your PHP script ( index.php ) assuming it is in the same directory where you installed Composer :

require('vendor/autoload.php');

Configure your Bot

Provide Bot User details in .env file:

$ vi .env

Edit the .env file and copy the below and edit app details and user details.

    GLIP_SERVER=https://platform.devtest.ringcentral.com        // Server Url ( Production: https://platform.ringcentral.com || Sandbox: https://platform.devtest.ringcentral.com )
    GLIP_APPKEY=appKey                                              
    GLIP_APPSECRET=appSecret                                     
    GLIP_USERNAME=Username                                  
    GLIP_PASSWORD=Password                                
    GLIP_EXTENSION=Extension                                

Define an Application in RingCentral

In order to communicate with the RingCentral API, you will need to have RingCentral API Keys for the appropriate environment, either Sandbox or Production.

  1. Login to the Developer Portal https://developer.ringcentral.com/login.html#/ if you haven't already. 2. Click on 'Create App' to define a new application
    • Application Name: Your choice, but something easy to identify and associate with purpose is good
    • Description: Your suitable description for the application.
    • Application Type: Private
    • Platform Type: Server-only (No UI)
    • Permissions Needed:
      • Glip
      • Webhook Subscriptions

Note : This bot uses Webhook Based Subscriptions to Listen to conversations posted on Glip

For more information on Webhooks, refer to our QuickStart Guide on Webhooks

Usage

Note: The demo assumes that you are not using a Live server instead the PHP's Built-In Web server and the tunneling service from ngrok.

Start the PHP built-in Web Server locally

$ cd glip-botman
$ php -S localhost:8080

Start ngrok ( Optional )

For demo purposes we are using ngrok.

Open another terminal and:

$ ngrok http 8080

Setup Webhook URL for the Bot

Just point the webhook subscription URL to: ( you must start ngrok if using it ) lets say the above step gives you an endpoint for the server as below:

https://f0aad057.ngrok.io/index.php

Add this to the .env parameter GLIP_WEBHOOK_URL created above.

Start the Bot

In the terminal, just run this command:

$ cd glip-botman
$ php index.php

If its successful, you will get a message as below :

Wohooo, your Bot is Registered. Please follow the instructions on on-boarding the bot into Glip

On-Boarding Bot into Glip

  1. Assign a Name and Unique Email Address to the Bot
    https://service.devtest.ringcentral.com Bot user screenshots

Note: The above user refers to the same user whose credentials was used in the .env file to configure the bot.

  1. Invite the bot into a group using the email ID
    https://glip.devtest.ringcentral.com/ Glip group screenshots

Note: Create a group on Glip and invite the Bot using Add Member button on the top extreme right.

  1. Start chatting with the Bot Glip group screenshots

Extending the Botman-Glip Adapter

You can set the Bot to listen to any specific commands/instructions . You can include the commands in the php file whihc is used to setup the Webhook. In our case, it is webhook.php

// Give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
    $bot->reply('Hello yourself.');
});


$botman->hears('how are you doing', function (BotMan $bot) {
    $bot->reply('I am fine how are you doing today ?');
});

For more details, please take a look at Botman's official guide on Hearing Messages

Dependencies

Currently used RingCentral-PHP SDK version for this demo:
"ringcentral/ringcentral-php": "^2.0.0"
"mpociot/botman":"latest"

  • Make sure to change the SDK version in the composer.json before you chose to use a different SDK Version.

Links

Project Repo

RingCentral SDK for PHP

RingCentral API Docs

RingCentral API Explorer

Contributions

Any reports of problems, comments or suggestions are most welcome.

Please report these on glip-botman's Issue Tracker in Github.

License

RingCentral SDK is available under an MIT-style license. See LICENSE.txt for details.

RingCentral SDK © 2017 by RingCentral

FAQ

glip-botman's People

Contributors

anilkumarbp avatar carusogabriel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glip-botman's Issues

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.