-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathluis.js
48 lines (38 loc) · 1.75 KB
/
luis.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
* LUIS Configuration
*/
const builder = require('botbuilder')
const chalk = require('chalk')
const log = console.log
const localConf = require('./conf.json')
const luisAppIdEnglish = process.env['LuisAppId_English'] || process.env['LuisAppId'] || localConf.LuisAppId_English
const luisAppIdSpanish = process.env['LuisAppId_Spanish'] || localConf.LuisAppId_Spanish
const luisAPIKey = process.env['LuisAPIKey'] || localConf.LuisAPIKey
const luisAPIHostName = process.env['LuisAPIHostName'] || localConf.LuisAPIHostName
const dialogs = require('require-all')(__dirname + '/dialogs')
const _initialize = (bot) => {
const recognizer = new builder.LuisRecognizer({
//add a single model or model by language
'en': `https://${luisAPIHostName}/luis/v2.0/apps/${luisAppIdEnglish}?subscription-key=${luisAPIKey}&verbose=true&timezoneOffset=0&q=`,
'es': `https://${luisAPIHostName}/luis/v2.0/apps/${luisAppIdSpanish}?subscription-key=${luisAPIKey}&verbose=true&timezoneOffset=0&q=`
})
.onEnabled((session, callback) => {
//Prevent enable LUIS while the dialogs are running
//const enabled = session.dialogStack().length == 0
const enabled = session.userData.luisEnabled
log(chalk.green(`LUIS ENABLED: ${enabled}`))
callback(null, enabled)
})
bot.recognizer(recognizer)
const movieBook = dialogs.movieBook.init(bot)
movieBook.triggerAction({ matches: 'MovieTickets.Book' })
bot.dialog('/greeting', (session) => session.send('greetings'))
.triggerAction({ matches: 'Greeting' })
bot.dialog('/leave', (session) => session.send('leave'))
.triggerAction({ matches: 'Leave' })
bot.dialog('/none', (session) => session.send('dont_understand_you'))
.triggerAction({ matches: 'None' })
}
module.exports = {
initialize: _initialize
}