ringcentral-personal-chatbot

1.1.1 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i ringcentral-personal-chatbot

Weekly Downloads

43

Version

1.1.1

License

MIT

Unpacked Size

738 kB

Total Files

33

Last publish

Collaborators

  • zxdong262