forked from watson-developer-cloud/botkit-middleware
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
54 lines (50 loc) · 1.97 KB
/
app.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
49
50
51
52
53
54
/**
* Copyright 2016 IBM Corp. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require('dotenv').load();
var middleware = require('botkit-middleware-watson')({
username: process.env.CONVERSATION_USERNAME,
password: process.env.CONVERSATION_PASSWORD,
workspace_id: process.env.WORKSPACE_ID,
url: process.env.CONVERSATION_URL || 'https://gateway.watsonplatform.net/conversation/api',
version_date: '2017-05-26'
});
module.exports = function(app) {
if (process.env.USE_SLACK) {
var Slack = require('./bot-slack');
Slack.controller.middleware.receive.use(middleware.receive);
Slack.bot.startRTM();
console.log('Slack bot is live');
}
if (process.env.USE_FACEBOOK) {
var Facebook = require('./bot-facebook');
Facebook.controller.middleware.receive.use(middleware.receive);
Facebook.controller.createWebhookEndpoints(app, Facebook.bot);
console.log('Facebook bot is live');
}
if (process.env.USE_TWILIO) {
var Twilio = require('./bot-twilio');
Twilio.controller.middleware.receive.use(middleware.receive);
Twilio.controller.createWebhookEndpoints(app, Twilio.bot);
console.log('Twilio bot is live');
}
// Customize your Watson Middleware object's before and after callbacks.
middleware.before = function(message, conversationPayload, callback) {
callback(null, conversationPayload);
}
middleware.after = function(message, conversationResponse, callback) {
callback(null, conversationResponse);
}
};