https://github.com/ojacques/hubot-apiai
Add smartness and conversational UX to Hubot with API.AI as back-end
https://github.com/ojacques/hubot-apiai
api-ai chatbot chatbotai hubot hubot-scripts natural-language-understanding nlu
Last synced: about 1 year ago
JSON representation
Add smartness and conversational UX to Hubot with API.AI as back-end
- Host: GitHub
- URL: https://github.com/ojacques/hubot-apiai
- Owner: ojacques
- License: apache-2.0
- Created: 2017-06-30T13:54:04.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-03-01T16:49:26.000Z (over 8 years ago)
- Last Synced: 2024-05-02T04:38:01.877Z (about 2 years ago)
- Topics: api-ai, chatbot, chatbotai, hubot, hubot-scripts, natural-language-understanding, nlu
- Language: CoffeeScript
- Homepage: https://www.npmjs.com/package/hubot-apiai
- Size: 243 KB
- Stars: 14
- Watchers: 6
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Add smartness to hubot with API.AI
A hubot script that adds conversational user experience with [api.ai](https://api.ai)
as back-end.
When you talk to Hubot, this script sends the text to api.ai, which
in turns handles the dialog and detects intents and parameters.
Finally, the script [emits an event (robot.emit)](https://github.com/hubotio/hubot/blob/master/docs/scripting.md#events)
so that it can be consumed by other scripts.

See [`src/apiai.coffee`](https://github.com/ojacques/hubot-apiai/blob/master/src/apiai.coffee)
for full documentation.
## Installation
In hubot project repo, run:
`npm install hubot-apiai --save`
Then add **hubot-apiai** to your `external-scripts.json`:
```json
[
"hubot-apiai"
]
```
## Configuration variable
`API_AI_CLIENT_ACCESS_TOKEN`: API AI client access token which you get from https://console.api.ai/api-client/
## Create listener scripts
hubot-apiai will [emit events](https://github.com/hubotio/hubot/blob/master/docs/scripting.md#events)
which correspond to intents that you describe in API.AI.
Let's say that you have an intent called `help-me` in API.AI. You can create
an hubot script which will act on `help-me` intents:
```
module.exports = (robot) ->
robot.on "help-me", (msg, params) ->
# Your code here
```
The parameters from the intent are passed as part of Hubot's event.
## NPM Module
https://www.npmjs.com/package/hubot-apiai
## TODO
- Add tests