Commit 4dcab66a17f9a2a62db8451d64c9d20f17c24132

Authored by Adhidarma Hadiwinoto
1 parent 9d4184e0e1
Exists in master

debug color

Showing 1 changed file with 2 additions and 2 deletions Inline Diff

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