forked from kidchenko/eliascecon-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
82 lines (68 loc) · 2.23 KB
/
index.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
var SlackBots = require('slackbots')
var express = require('express')
var app = express()
var http = require('http')
var _ = require('underscore')
const elias = new SlackBots({
token: process.env.TOKEN,
name: 'eliascecon'
});
const startMessages = [
'Cheguei senhores. COMO ESTAMOS?',
'Acabei de chegar da minha aula de PNL. Foi FUDIDO!',
'Olá SENHORES, como estamos? Se vocês estão bem, eu também estou!',
'Estou de volta! Estava trabalhando no meu gerador de energia infinita. FUDIDO!'
]
const morningMessages = [
'BOM DIA SENHORES! COMO ESTAMOS?',
'BOM DIA! HOJE É DIA DE FAZER O CAFÉ PINGAR!',
'BOM DIA? OTIMO DIA! HOJE EU SINTO QUE O CAFÉ VAI PINGAR!',
'BOM DIA! JÁ FIZ TRÊS VENDAS HOJE! PAAAH!',
]
const howAreYouMessages = [
'SE VOCÊ ESTÁ BEM EU TAMBÉM ESTOU!',
]
const howAreWeMessages = [
'SE VOCÊS ESTÃO BEM EU TAMBÉM ESTOU!',
]
const triggers = {
'bom dia': morningMessages,
'estou otimo': howAreYouMessages,
'estou ótimo': howAreYouMessages,
'estamos otimos': howAreWeMessages,
'estamos ótimos': howAreWeMessages
};
postMessage = exports.postMessage = function(message, channel) {
elias.postMessageToChannel(channel, message, {
as_user: '@eliascecon'
});
}
isTriggerMessage = exports.isTriggerMessage = function(data) {
return _.contains(_.keys(triggers), sanitize(data));
}
getRandomMessage = exports.getRandomMessage = function(messages) {
return messages[parseInt(Math.random() * messages.length)];
}
sanitize = exports.sanitize = function(message) {
return message.replace(new RegExp('[?.!]'), '').toLowerCase();
}
// Events
elias.on('start', function() {
postMessage(getRandomMessage(startMessages), 'random')
console.log('> Elias has been started!')
});
elias.on('message', function(data) {
const eliasId = 'U10NFSVN3'
if (data.type === 'message' && data.user !== eliasId) {
if (isTriggerMessage(sanitize(data.text))) {
postMessage(getRandomMessage(triggers[sanitize(data.text)]), 'random');
}
}
})
// For avoidong Heroku $PORT error
app.set('port', (process.env.PORT || 5000));
app.get('/', function(request, response) {
response.send('Elias lives here...');
}).listen(app.get('port'), function() {
console.log('Running Elias server...', app.get('port'));
});