-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
47 lines (44 loc) · 1.18 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
const config = require('./config');
const botController = config['bot-controller'];
const commands = require('./commands');
const { getIssueRegexString, getIssueRegex } = require('./modules/jira-regex');
const listenFor = [
{
regex: '^link',
on: ['mention', 'direct_mention', 'direct_message'],
handler: commands.jira.link,
},
{
regex: new RegExp(`^assign me to (${getIssueRegexString()})`, 'i'),
on: ['mention', 'direct_mention', 'direct_message'],
handler: commands.jira.assign,
},
{
regex: getIssueRegex(),
on: ['ambient', 'direct_message'],
handler: commands.jira.find,
},
{
regex: '^register',
on: ['direct_message'],
handler: commands.jira.register,
},
{
regex: '^whoami',
on: ['direct_message'],
handler: commands.jira.whoami,
},
{
regex: new RegExp('love|heart', 'gi'),
on: ['direct_message', 'mention', 'direct_mention'],
handler: commands.love,
},
{
regex: new RegExp('help', 'gi'),
on: ['direct_message', 'mention', 'direct_mention'],
handler: commands.help,
},
];
listenFor.forEach((listenItem) => {
botController.hears(listenItem.regex, listenItem.on, listenItem.handler);
});