Commit 4dcab66a17f9a2a62db8451d64c9d20f17c24132
1 parent
9d4184e0e1
Exists in
master
debug color
Showing 1 changed file with 2 additions and 2 deletions Inline Diff
index.js
1 | var fs = require('fs'); | 1 | var fs = require('fs'); |
2 | var ini = require('ini'); | 2 | var ini = require('ini'); |
3 | var config = ini.parse(fs.readFileSync(__dirname + '/config.ini', 'utf-8')); | 3 | var config = ini.parse(fs.readFileSync(__dirname + '/config.ini', 'utf-8')); |
4 | var redis = require('redis'); | 4 | var redis = require('redis'); |
5 | 5 | ||
6 | var irc = require('irc'); | 6 | var irc = require('irc'); |
7 | var options = { | 7 | var options = { |
8 | userName: config.globals.irc_nick, | 8 | userName: config.globals.irc_nick, |
9 | password: config.globals.nickserv_password, | 9 | password: config.globals.nickserv_password, |
10 | sasl: true, | 10 | sasl: true, |
11 | stripColors: true, | 11 | stripColors: true, |
12 | channels: [config.globals.aaa_pull_channel, config.globals.topup_message_channel] | 12 | channels: [config.globals.aaa_pull_channel, config.globals.topup_message_channel] |
13 | }; | 13 | }; |
14 | var client = new irc.Client(config.globals.irc_server, config.globals.irc_nick, options); | 14 | var client = new irc.Client(config.globals.irc_server, config.globals.irc_nick, options); |
15 | 15 | ||
16 | var redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); | 16 | var redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); |
17 | 17 | ||
18 | client.addListener('message', function (from, to, message) { | 18 | client.addListener('message', function (from, to, message) { |
19 | console.log('MESSAGE ' + from + ' => ' + to + ': ' + message); | 19 | console.log('MESSAGE ' + from + ' => ' + to + ': ' + message); |
20 | }); | 20 | }); |
21 | 21 | ||
22 | client.addListener('registered', function () { | 22 | client.addListener('registered', function () { |
23 | console.log('Connected'); | 23 | console.log('Connected'); |
24 | //client.say('NickServ', 'identify ' + config.globals.nickserv_password); | 24 | //client.say('NickServ', 'identify ' + config.globals.nickserv_password); |
25 | }); | 25 | }); |
26 | 26 | ||
27 | client.addListener('join', function (channel, nick, message) { | 27 | client.addListener('join', function (channel, nick, message) { |
28 | console.log('JOIN ' + channel); | 28 | console.log('JOIN ' + channel); |
29 | 29 | ||
30 | if (channel == config.globals.aaa_pull_channel) { | 30 | if (channel == config.globals.aaa_pull_channel) { |
31 | redisClient.psubscribe('kimochi.*.text'); | 31 | redisClient.psubscribe('kimochi.*.text'); |
32 | } | 32 | } |
33 | else if (channel == config.globals.topup_message_channel) { | 33 | else if (channel == config.globals.topup_message_channel) { |
34 | redisClient.psubscribe('echi.topup_report.*.message'); | 34 | redisClient.psubscribe('echi.topup_report.*.message'); |
35 | } | 35 | } |
36 | }); | 36 | }); |
37 | 37 | ||
38 | client.addListener('notice', function (from, to, message) { | 38 | client.addListener('notice', function (from, to, message) { |
39 | console.log('NOTICE ' + from + ' => ' + to + ': ' + message); | 39 | console.log('NOTICE ' + from + ' => ' + to + ': ' + message); |
40 | return; | 40 | return; |
41 | 41 | ||
42 | if (from == 'NickServ' && message.match('You are now identified for')) { | 42 | if (from == 'NickServ' && message.match('You are now identified for')) { |
43 | console.log('Joining ' + config.globals.aaa_pull_channel); | 43 | console.log('Joining ' + config.globals.aaa_pull_channel); |
44 | client.join(config.globals.aaa_pull_channel); | 44 | client.join(config.globals.aaa_pull_channel); |
45 | 45 | ||
46 | console.log('Joining ' + config.globals.topup_message_channel); | 46 | console.log('Joining ' + config.globals.topup_message_channel); |
47 | client.join(config.globals.topup_message_channel); | 47 | client.join(config.globals.topup_message_channel); |
48 | } | 48 | } |
49 | }); | 49 | }); |
50 | 50 | ||
51 | client.addListener('pm', function (from, message) { | 51 | client.addListener('pm', function (from, message) { |
52 | console.log('PM ' + from + ' => ME: ' + message); | 52 | console.log('PM ' + from + ' => ME: ' + message); |
53 | }); | 53 | }); |
54 | 54 | ||
55 | redisClient.on("pmessage", function (pattern, channel, message) { | 55 | redisClient.on("pmessage", function (pattern, channel, message) { |
56 | if (channel.match(/^kimochi/)) { | 56 | if (channel.match(/^kimochi/)) { |
57 | var gateway = channel.match(/gw:(.*)\.text/)[1]; | 57 | var gateway = channel.match(/gw:(.*)\.text/)[1]; |
58 | client.say(config.globals.aaa_pull_channel, message + irc.colors.wrap(irc.colors.code.purple, ' (' + gateway + ')')); | 58 | client.say(config.globals.aaa_pull_channel, message + irc.colors.wrap(irc.colors.code.dark_red, ' (' + gateway + ')')); |
59 | } | 59 | } |
60 | else if (channel.match(/^echi/)) { | 60 | else if (channel.match(/^echi/)) { |
61 | var gateway = channel.match(/gw:(.*)\.message$/)[1]; | 61 | var gateway = channel.match(/gw:(.*)\.message$/)[1]; |
62 | if (gateway == config.globals.echi_gw_blacklist) { | 62 | if (gateway == config.globals.echi_gw_blacklist) { |
63 | return; | 63 | return; |
64 | } | 64 | } |
65 | client.say(config.globals.topup_message_channel, message + irc.colors.wrap('purple', ' (' + gateway + ')')); | 65 | client.say(config.globals.topup_message_channel, message + irc.colors.wrap(irc.colors.code.dark_red, ' (' + gateway + ')')); |
66 | } | 66 | } |
67 | }); | 67 | }); |
68 | 68 |