, (*1)
Glip - Botman
Glip Adaptor for Botman., (*2)
, (*3)
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 :, (*4)
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", (*5)
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:, (*6)
$ 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 :, (*7)
require('vendor/autoload.php');
Provide Bot User details in .env file:
$ vi .env
Edit the .env file and copy the below and edit app details and user details., (*8)
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., (*9)
- 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, (*10)
For more information on Webhooks, refer to our QuickStart Guide on Webhooks, (*11)
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., (*12)
Start the PHP built-in Web Server locally
$ cd glip-botman
```php
$ php -S localhost:8080, (*13)
### Start ngrok ( Optional )
For demo purposes we are using ngrok.
Open another terminal and:
```bash
$ 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:, (*14)
https://f0aad057.ngrok.io/index.php
Add this to the .env parameter GLIP_WEBHOOK_URL created above., (*15)
Start the Bot
In the terminal, just run this command:, (*16)
$ cd glip-botman
$ php index.php
If its successful, you will get a message as below :, (*17)
Wohooo, your Bot is Registered. Please follow the instructions on on-boarding the bot into Glip, (*18)
On-Boarding Bot into Glip
-
Assign a Name and Unique Email Address to the Bot
https://service.devtest.ringcentral.com
Note: The above user refers to the same user whose credentials was used in the .env file to configure the bot., (*19)
-
Invite the bot into a group using the email ID
https://glip.devtest.ringcentral.com/
Note: Create a group on Glip and invite the Bot using Add Member button on the top extreme right., (*20)
-
Start chatting with the Bot
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, (*21)
// 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, (*22)
Dependencies
Currently used RingCentral-PHP SDK version for this demo:
"ringcentral/ringcentral-php": "^2.0.0"
"mpociot/botman":"latest", (*23)
- Make sure to change the SDK version in the composer.json before you chose to use a different SDK Version.
Links
Project Repo, (*24)
- https://github.com/anilkumarbp/glip-botman
RingCentral SDK for PHP, (*25)
- https://github.com/ringcentral/ringcentral-php
RingCentral API Docs, (*26)
- https://developer.ringcentral.com/api-and-docs.html
RingCentral API Explorer, (*27)
- https://developer.ringcentral.com/api-explorer/latest/index.html
Contributions
Any reports of problems, comments or suggestions are most welcome., (*28)
Please report these on glip-botman's Issue Tracker in Github., (*29)
License
RingCentral SDK is available under an MIT-style license. See LICENSE.txt for details., (*30)
RingCentral SDK © 2017 by RingCentral, (*31)
FAQ