https://github.com/tylerlong/hubot-glip
Hubot adapter to use with Glip
https://github.com/tylerlong/hubot-glip
glip hubot
Last synced: 7 months ago
JSON representation
Hubot adapter to use with Glip
- Host: GitHub
- URL: https://github.com/tylerlong/hubot-glip
- Owner: tylerlong
- Created: 2016-08-29T15:02:09.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-23T23:21:41.000Z (over 2 years ago)
- Last Synced: 2024-04-10T04:50:55.543Z (over 1 year ago)
- Topics: glip, hubot
- Language: JavaScript
- Homepage:
- Size: 938 KB
- Stars: 7
- Watchers: 4
- Forks: 7
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hubot-ringcentral (legacy: hubot-glip)
[Hubot](https://hubot.github.com/) adapter to use with [RingCentral Team Messaging](https://app.ringcentral.com/).
## Video tutorials
- [How to createa a RingCentral private bot using Hubot](https://youtu.be/rEmd7SIDNe4)
- [How to create a RingCentral public bot using Hubot](https://youtu.be/al-RoNSdfO8)## Create a new bot
Create new project with the following structure:
```
your-bot/
scripts/
external-scripts.json
```In the root of your bot project, execute:
```
yarn add hubot@2.19.0 hubot-ringcentral && yarn add --dev babel-polyfill
```## Add external scripts
Take [hubot-help](https://www.npmjs.com/package/hubot-help) for example:
```
yarn add hubot-help
```Then config it to `external-scripts.json`:
```json
[
"hubot-help"
]
```## Add custom scripts
Let's assume that we want to add `ping` feature to the bot.
Create `scripts/ping.js` file with the following content:
```js
// Commands:
// hubot ping - ping the bot
module.exports = robot => {
robot.respond(/ping$/, res => {
res.send('pong')
})
}
```## Get RingCentral access_token
This step is different for provate bot and public bot.
### Private bot
If you bot is a private bot, you can simply use the default OAuth Redirect URI: `https://www.ringcentral.com`.
And you can get the token from GUI of https://developer.ringcentral.com.
Create `token.json` in the root of your bot project with the following content:```json
{
"access_token": "the-access-token-string"
}
```### Public bot
If you bot is a public bot, You need to set the OAuth Redirect URI to `${RINGCENTRAL_BOT_SERVER}/oauth`.
For example, if your bot is running on local with ngrok uri `https://xxxxx.ngrok.io`, you should set the OAuth Redirect URI to `https://xxxxx.ngrok.io/oauth`.
When you successfully add the bot to RingCentral Team Messaging, a `token.json` file will be created for you automatically.
## Run your bot
```
RINGCENTRAL_SERVER=https://platform.devtest.ringcentral.com \
RINGCENTRAL_CLIENT_ID=clientId \
RINGCENTRAL_CLIENT_SECRET=clientSecret \
RINGCENTRAL_BOT_SERVER=https://the-bot-server \
npx hubot -a ringcentral -n x
```- `RINGCENTRAL_SERVER` - This is the RingCentral API server. Optional. By default it's `https://platform.ringcentral.com`. Use `https://platform.devtest.ringcentral.com` for sandbox
- `RINGCENTRAL_BOT_SERVER` - **Optional**. The server that your bot is running on. If you use ngork for development, the uri should be `https://xxxxx.ngrok.io`. It is **only required** for public bot and when you do not have a RingCentral access token. Ignore this environment variable if your bot is a private bot or if you already have a RingCentral access token.
- `-n x` means the name of your bot is `x`. You can use any name## Test your bot
For production login https://app.ringcentral.com, for sandbox login https://app.devtest.ringcentral.com/
Find your bot in RingCentral and talk to it:
```
Send: x ping
Receive: pong
Send: x help
Receive: xping - ping the bot
```Example above assume that your bot's name is `x` and you have installed exernal script `hubot-help` and added custom script `ping`. For more details about them please read content above.