https://github.com/positlabs/dialogflow-tools
Simple CLI and JS module for interacting with the Dialogflow V1 API
https://github.com/positlabs/dialogflow-tools
cli dialogflow
Last synced: about 2 months ago
JSON representation
Simple CLI and JS module for interacting with the Dialogflow V1 API
- Host: GitHub
- URL: https://github.com/positlabs/dialogflow-tools
- Owner: positlabs
- License: mit
- Created: 2018-03-12T16:37:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-13T20:10:55.000Z (about 7 years ago)
- Last Synced: 2024-10-19T07:06:55.737Z (7 months ago)
- Topics: cli, dialogflow
- Language: JavaScript
- Homepage:
- Size: 84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dialogflow-tools
Simple CLI and JS module for interacting with the [Dialogflow V1 API](https://dialogflow.com/docs/reference/agent/)
You will need an access token to use the API. The developer access token is used for /intents and /entities endpoints. The client access token is used for /query, /contexts, and /userEntities endpoints.

## CLI
Install the CLI globally.
`npm install -g dialogflow-tools`
### Usage
View help: `dialogflow --help`
```
# create entities for dev app
dialogflow post entities --payload=path/to/entities.js --dev-token=./.dev-tokens/dev# update intents for prod app
dialogflow put intents -p=path/to/intents.json -t=./.dev-tokens/prod# get an intent from dev app
dialogflow get intents -t=./.dev-tokens/prod 05b02338-63b5-4a86-a08e-409ef5b5f208# get all intents and write to a file
dialogflow get intents -t=./.dev-tokens/prod >> output.json
```## Module
Install the module locally.
`npm install dialogflow-tools`
### Usage
Import the module
`const DF = require('dialogflow-tools')`
Set the access token. Either store in a .gitignore'd file, or retrieve from an environment variable.
```
const devToken = require('./.access_tokens/dev')
DF.setDevToken(devToken)
DF.setClientToken(process.env.DIALOGFLOW_CLIENT_TOKEN)
```Now you can call some methods!
`DF.(, )`
The module uses a DF method named by REST commands (get, post, put, delete).
Type is the name of the endpoint to call (query, intents, entities, userEntities, or contexts).
Opts is an object that contains an id for targeting a specific object, and a payload (json) for post / put requests.
```
// get basic info for all intents
DF.get('intents').then(intents => console.log(intents))// update an intent
var opts = {id: uuid, payload: json}
DF.put('intents', opts).then(...)// create an intent
var opts = {payload: json}
DF.post('intents', opts).then(...)// delete an intent
var opts = {id: uuid}
DF.delete('intents', opts).then(...)
```## Running Tests
`npm test`
The tests require you to create a directory in tests/.access_tokens that should contain dev.txt and client.txt. These files need the client and dev tokens for your agent.