Skip to content

Commit 32dbf57

Browse files
committed
skype bots code test
1 parent 31ccf94 commit 32dbf57

12 files changed

Lines changed: 70 additions & 1993 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,5 @@ typings/
5757
# dotenv environment variables file
5858
.env
5959

60+
#VisualStudio Code
61+
.vscode

app.js

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ const bodyParser = require('body-parser')
99
const csp = require('helmet-csp')
1010
const index = require('./routes/index')
1111
const app = express()
12-
const telegramBot = require(path.join(__dirname,'./middleware/bots/telegram.js'))
13-
const messengerBot = require(path.join(__dirname,'./middleware/bots/messenger.js'))
12+
const errors = require(path.join(__dirname,'./middleware/errors'))
1413

1514
app.set('trust proxy', process.env.APP_LOCALHOST)
1615

@@ -30,7 +29,9 @@ app.use(csp({
3029
, `https://${process.env.APP_WEB_URL}`
3130
, 'https://api.telegram.org'
3231
, 'https://www.facebook.com'
33-
, 'https://www.facebook.com'
32+
, 'https://ran.eu.everynet.io'
33+
, 'https://ns.eu.everynet.io'
34+
, process.env.AZURE_SRV_ADDRESS
3435
]
3536

3637
, scriptSrc: [ "'self'" ]
@@ -62,41 +63,8 @@ app.use(function(req, res, next) {
6263
})
6364

6465
// error handler
65-
app.use(function(err, req, res, next) {
66-
67-
if ( !err.status || err.status !==403 ) {
68-
69-
// Reply according to the bot type
70-
switch (res.locals.bot_type) {
71-
72-
case 'telegram' :
73-
telegramBot.sendMessageTo({text: err.message}, res.locals.sender)
74-
res.sendStatus(200).end()
75-
break
76-
77-
case 'messenger' :
78-
messengerBot.sendMessageTo({text: err.message}, res.locals.sender)
79-
res.sendStatus(200).end()
80-
break
81-
82-
case 'twitter' :
83-
res.sendStatus(200).end()
84-
break
85-
86-
case 'skype' :
87-
res.sendStatus(200).end()
88-
break
89-
90-
default: res.sendStatus(200).end()
91-
}
92-
93-
} else {
94-
95-
res.sendStatus(err.status).end()
96-
}
97-
98-
})
66+
app.use(errors)
9967

100-
console.log(`Bots app started on port ${process.env.PORT}`)
68+
console.log(`Bots app started on port ${process.env.APP_PORT}`)
10169

10270
module.exports = app

bin/www

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var http = require('http');
1212
* Get port from environment and store in Express.
1313
*/
1414

15-
var port = normalizePort(process.env.PORT);
15+
var port = normalizePort(process.env.APP_PORT);
1616
app.set('port', port);
1717

1818
/**

middleware/bots/skype.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
require('dotenv').config()
22
const builder = require('botbuilder')
3-
43
const config = {
54
appId: process.env.AZURE_BOT_APPID,
65
appPassword: process.env.AZURE_BOT_APPPWD
76
}
87

98
const connector = new builder.ChatConnector(config)
9+
const bot = new builder.UniversalBot(connector)
1010

11-
var bot = new builder.UniversalBot(connector, function (session) {
12-
13-
session.send("You said: %s", session.message.text)
14-
15-
});
16-
17-
module.exports = connector
11+
module.exports = {
12+
bot: bot,
13+
connector : connector
14+
}

middleware/db/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module.exports = (req, res, next) => {
66
// TODO use json: true
77

88
rpn({ method: 'POST',
9-
url: 'https://' + process.env.APP_WEB_URL + ':' + process.env.APP_WEB_PORT + '/api/authenticate'
9+
url: `https://${process.env.APP_WEB_URL}:${process.env.APP_WEB_PORT }/api/authenticate`
1010
, formData: {
1111
email : process.env.APP_EMAIL
1212
, password : process.env.APP_MDP
@@ -26,7 +26,7 @@ module.exports = (req, res, next) => {
2626
}
2727

2828
let options = {
29-
url: 'https://' + process.env.APP_WEB_URL + ':' + process.env.APP_WEB_PORT + '/api/trashes'
29+
url: `https://${process.env.APP_WEB_URL}:${process.env.APP_WEB_PORT }/api/trashes`
3030
, method: 'POST'
3131
, headers: headers
3232
, formData: {

middleware/errors/index.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
const path = require('path')
2+
const telegramBot = require(path.join(__dirname,'./../bots/telegram.js'))
3+
const messengerBot = require(path.join(__dirname,'./../bots/messenger.js'))
4+
const {bot} = require(path.join(__dirname,'./../bots/skype.js'))
5+
6+
module.exports = (err, req, res, next) => {
7+
8+
if ( !err.status || err.status !==403 ) {
9+
10+
// Reply according to the bot type
11+
switch (res.locals.bot_type) {
12+
13+
case 'telegram' :
14+
telegramBot.sendMessageTo({text: err.message}, res.locals.sender)
15+
res.sendStatus(200).end()
16+
break
17+
18+
case 'messenger' :
19+
messengerBot.sendMessageTo({text: err.message}, res.locals.sender)
20+
res.sendStatus(200).end()
21+
break
22+
23+
case 'twitter' :
24+
res.sendStatus(200).end()
25+
break
26+
27+
case 'skype' :
28+
//bot.
29+
res.sendStatus(200).end()
30+
break
31+
32+
default: res.sendStatus(200).end()
33+
}
34+
35+
} else {
36+
37+
res.sendStatus(err.status).end()
38+
}
39+
40+
}

middleware/exif/extract.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const ExifImage = require('exif').ExifImage
22
const dms2dec = require('dms2dec')
3+
const rpn = require('request-promise-native')
4+
35
// Exif gps format
46
// gps:
57
// { ...,
@@ -45,5 +47,11 @@ module.exports = (req, res, next) => {
4547
return next()
4648
}
4749
})
50+
}).catch(err => {
51+
52+
console.log(`Error fetching image data in extract.js: ${err}`)
53+
let error = new Error(`Error fetching image data: ${err}`)
54+
55+
return next(error)
4856
})
4957
}

middleware/exif/imageurl.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ module.exports = (req, res, next) => {
2828
}
2929

3030
// With telegram we need to query the API to get the actual file url
31-
let file_id = 'https://api.telegram.org/bot' + process.env.TELEGRAM_API_TOKEN + '/getFile?file_id=' + req.body.message.document.file_id
31+
let file_id = `https://api.telegram.org/bot${process.env.TELEGRAM_API_TOKEN}/getFile?file_id=${req.body.message.document.file_id}`
3232

3333
rpn({ method: 'POST', uri: file_id }).then((body) => {
3434

3535
let parsed = JSON.parse(body)
3636

37-
res.locals.image_url = 'https://api.telegram.org/file/bot' + process.env.TELEGRAM_API_TOKEN + '/' + parsed.result.file_path
37+
res.locals.image_url = `https://api.telegram.org/file/bot${process.env.TELEGRAM_API_TOKEN}/${parsed.result.file_path}`
3838

3939
return next()
4040

middleware/type/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module.exports = (req, res, next) => {
1414
break
1515
case 'telegram' : res.locals.sender = req.body.message.from.id
1616
break
17-
case 'skype' : console.log("Hit msft bot: ", req.body)// res.locals.sender = req.body.message.from.id
17+
case 'skype' : res.locals.sender = req.body.from.id
1818
break
1919
default : res.locals.sender = null
2020
}

0 commit comments

Comments
 (0)