Skip to content

ringcentral/ringcentral-personal-chatbot-js

Repository files navigation

ringcentral-personal-chatbot-js

RingCentral personal chatbot framework.

Quick start

First, need create a AWS account, we will use free local AWS dynamodb, and put your aws credentials in ~/.aws/credentials, check https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

Let's start a simple chatbot server and login to it with you sandbox glip account, and you account will auto respond to hello with Hi(any private message or message mentioned you).

# get the code
git clone git@github.com:ringcentral/ringcentral-personal-chatbot-js.git
cd ringcentral-personal-chatbot-js

# install dependecies
npm i

# start proxy server, this will make your local bot server can be accessed by RingCentral service
npm run ngrok

# will show
Forwarding                    https://xxxx.ap.ngrok.io -> localhost:6066
# Remember the https://xxxx.ap.ngrok.io, we will use it later

# start local dynamodb
npm run dynamo

Login to developer.ringcentral.com and create REST API App:

  • Application Type: Public
  • Platform Type: Browser-based
  • Carrier: accept the default values
  • Permissions Needed: Accounts, Team messaging, Read Accounts, Webhook Subscriptions
  • Set OAuth Redirect URI: Using your ngrok HTTPS URL from above, enter in the following value: https://xxxx.ap.ngrok.io/rc/oauth.
cp .env.sample .env
# then fill all required fields in .env, you can get client ID / secret from app setting

# run sample hello bot
npm start

# start client dev server
npm run c

Then visit https://xxxx.ap.ngrok.io to login, after auth, when someone talk to you with "hello"(any private message or message mentioned you), you will auto respond with "Hi".

Build and run in production

# build
npm run build

# run prodcution code
npm run p
# or
cross-env NODE_ENV=production node bin/rcpf.js example-bots/hello.js

# proxy for production code
npm run ngrok-p

Token renew

todo

Use as CLI tool

I will as simple as this:

npx ringcentral-personal-chatbot your-bot-file.js

Write a personal bot

docs/write-a-bot.md

Write/use a personal bot skill

docs/write-use-a-skill.md

Build-in commands

  • __test__: show bot info.

Origin

It is a project for RingCentral Xiamen Office 2019 Hackathon. It begin with Jakob Lewei's idea about fuzzy matching FAQ bot, then I decided to make it more generic: a bot framework for personal glip account.

Credits

It is based on the these projects, especially Tyler's work.

License

MIT

About

RingCentral chatbot framework for personal RingCentral account

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published