/
irc.js
58 lines (50 loc) · 1.29 KB
/
irc.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
var irc = require('irc')
var auth = require('./auth')
var networks = [
'chat.freenode.net'
]
var bots = module.exports = []
for (var i = 0; i < networks.length; i++) {
bots.push(new irc.Client(
networks[i],
'gov-zk'
))
}
var cmds = {
VERIFY: function (nick, args, lang) {
var slug = args[0]
if (!auth.isKey(slug)) {
return __({ phrase: 'irc-unrecognized', locale: lang })
}
if (auth.isUsedKey(slug)) {
return __({ phrase: 'irc-alreadyused', locale: lang })
}
auth.activateKey(slug, nick)
return __({ phrase: 'irc-return', locale: lang })
}
}
for (var j = 0; j < bots.length; j++) {
bots[j].addListener('pm', function (nick, message) {
var msg = message.split(' ')
var cmd = msg.shift().toUpperCase()
var lang = 'en'
var str = 'Unrecognized command.'
var verifyCommands = __h('irc-verify')
for (var i = 0; i < verifyCommands.length; i++) {
var curr = verifyCommands[i]
lang = Object.keys(curr)[0]
if (cmd === curr[lang]) {
cmd = 'VERIFY'
break
}
}
if (cmds[cmd]) {
console.log('d')
str = cmds[cmd](nick, msg, lang)
} else if (__l('irc-verify').indexOf(cmd) !== -1) {
console.log('e')
str = cmds.VERIFY(nick, msg, lang)
}
this.notice(nick, str)
})
}