Subversion Repositories freemyipod

Rev

Rev 930 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 930 Rev 970
Line 25... Line 25...
25
var fs = require('fs');
25
var fs = require('fs');
26
var http = require('http');
26
var http = require('http');
27
 
27
 
28
var control = require('./control');
28
var control = require('./control');
29
 
29
 
30
var server = 'hitchcock.freenode.net';
30
var server = 'irc.freenode.net';
31
var nickname = 'fmibot';
31
var nickname = 'fmibot';
32
var nicknamePassword = fs.readFileSync('nickserv.txt');
32
var nicknamePassword = fs.readFileSync('nickserv.txt');
33
 
33
 
34
var announceChannel = '#freemyipod';
34
var announceChannel = '#freemyipod';
35
var socketPath = '/tmp/fmibot.sock';
35
var socketPath = '/tmp/fmibot.sock';
-
 
36
var pingTimer = null;
36
 
37
 
37
var config = {
38
var config = {
38
    autoConnect: false,
39
    autoConnect: false,
39
    channels: [
40
    channels: [
40
        announceChannel
41
        announceChannel
Line 81... Line 82...
81
 
82
 
82
ircbot.addListener('channellist_item', function(info) {
83
ircbot.addListener('channellist_item', function(info) {
83
    console.info(info.name, info.users, info.topic);
84
    console.info(info.name, info.users, info.topic);
84
});
85
});
85
 
86
 
-
 
87
function ircConnect() {
-
 
88
	ircbot.connect(Math.pow(2, 32) - 1);
-
 
89
}
-
 
90
 
-
 
91
// ping
-
 
92
ircbot.addListener('ping', function() {
-
 
93
	if (pingTimer !== null) {
-
 
94
		clearTimeout(pingTimer);
-
 
95
	}
-
 
96
 
-
 
97
	pingTimer = setTimeout(function() {
-
 
98
		pingTimer = null;
-
 
99
		ircbot.disconnect();
-
 
100
		setTimeout(ircConnect, 10 * 1000);
-
 
101
	}, 30 * 60 * 1000);
-
 
102
});
-
 
103
 
-
 
104
// misc
-
 
105
ircbot.addListener('action', function(from, to, message) {
-
 
106
    if (to.indexOf('#') === 0 && message === 'kicks ' + nickname) {
-
 
107
        ircbot.say(to, 'ouch!');
-
 
108
    }
-
 
109
});
-
 
110
 
86
// control socket
111
// control socket
87
var controlSocket = new control.Socket(socketPath, function() {
112
var controlSocket = new control.Socket(socketPath, ircConnect, function(cmd) {
88
    ircbot.connect();
-
 
89
}, function(cmd) {
-
 
90
    var args = cmd.split(' ');
113
    var args = cmd.split(' ');
91
    var cmd = args.shift().toLowerCase();
114
    var cmd = args.shift().toLowerCase();
92
    
115
    
93
    var argsOptional = false;
116
    var argsOptional = false;
94
    var knownCmd = true;
117
    var knownCmd = true;