api-ai-botkit-facebook
Advanced tools
Comparing version 1.1.0 to 1.2.0
@@ -60,2 +60,5 @@ /* jshint node: true */ | ||
if (message.type == 'user_message') { | ||
var isEvent = message.event && | ||
typeof message.event === 'object' && | ||
message.event.name; | ||
var requestText = decoder.decode(message.text); | ||
@@ -69,10 +72,17 @@ requestText = requestText.replace("’", "'"); | ||
} | ||
var options = { | ||
sessionId: worker.sessionIds[channel] | ||
}; | ||
// get options from message or set as empty | ||
var options = message.apiaiOptions || {}; | ||
options.sessionId = worker.sessionIds[channel]; | ||
worker.middleware.query.run(requestText, options, function(err, query, options) { | ||
var request = worker.apiaiService.textRequest( | ||
query, | ||
options | ||
); | ||
var request = isEvent ? | ||
worker.apiaiService.eventRequest( | ||
message.event, | ||
options | ||
) : | ||
worker.apiaiService.textRequest( | ||
query, | ||
options | ||
) | ||
; | ||
@@ -79,0 +89,0 @@ request.on('response', function (response) { |
{ | ||
"name": "api-ai-botkit-facebook", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"description": "Utility lib for creating Facebook Messenger bots with Botkit and api.ai", | ||
@@ -5,0 +5,0 @@ "main": "api-ai-botkit-facebook.js", |
@@ -86,1 +86,37 @@ # api-ai-botkit-facebook | ||
``` | ||
## Advanced Queries | ||
Add an `apiaiOptions` property to the `message` to pass options to api.ai in the query. | ||
```js | ||
controller.hears('contact me', 'message_received', function (bot, message) { | ||
message.apiaiOptions = { | ||
contexts: [ | ||
{ | ||
"name": "contact", | ||
"lifespan": 4, | ||
"parameters": { | ||
"username": "fred" | ||
} | ||
} | ||
] | ||
}; | ||
apiai.process(message, bot); | ||
}); | ||
``` | ||
Add an `event` property to the `message` to call the `eventRequest` function. By default, `process` calls the `textRequest` function. | ||
```js | ||
controller.hears('trigger event', 'message_received', function (bot, message) { | ||
message.event = { | ||
name: 'Event1', | ||
data: { | ||
parameterName: 'parameter_value', | ||
foo: 'bar' | ||
} | ||
}; | ||
apiai.process(message, bot); | ||
}); | ||
``` |
8966
104
122