summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webchat/index.js6
-rw-r--r--webchat/serverCommands.js14
2 files changed, 9 insertions, 11 deletions
diff --git a/webchat/index.js b/webchat/index.js
index 14794e72..0ec448c4 100644
--- a/webchat/index.js
+++ b/webchat/index.js
@@ -24,7 +24,7 @@ clients.notifyAll = function (method, params) {
});
}
-
+serverstate.clients = clients;
var irc_reconnect = function() { //reconnt to irc
console.log("reconnecting due to pingtimeout");
@@ -50,7 +50,7 @@ var irc_client = new irc.Client('irc.freenode.net', 'kweb', { //create irc_clien
autoConnect: true,
stripColors: true
});
-
+serverstate.irc_client = irc_client;
irc_client.on('ping', function(server) { //restart timer on server ping
console.log("got ping from server, renewing timeout for automatic reconnect");
@@ -114,7 +114,7 @@ echo.on('connection', function(conn) {
if (!command || typeof command !== 'object') {
command = {}
}
- return (serverCommands[command.method] || serverCommands.badcommand)(settings, command.params)
+ return (serverCommands[command.method] || serverCommands.badcommand)(serverstate, settings, command.params)
});
conn.on('close', function() { //propagate if client quits the page
clients.splice(clients.indexOf(conn));
diff --git a/webchat/serverCommands.js b/webchat/serverCommands.js
index 0443bc91..dd755a97 100644
--- a/webchat/serverCommands.js
+++ b/webchat/serverCommands.js
@@ -1,22 +1,20 @@
-
-
var serverCommands = {};
-serverCommands.say = function (settings, params) {
+serverCommands.say = function (serverstate, settings, params) {
var nick = settings.nick
var message = params.msg
params.nick = nick
- irc_client.say("#krebs", nick + ' → ' + message);
- return clients.notifyAll('message', params)
+ serverstate.irc_client.say("#krebs", nick + ' → ' + message);
+ return serverstate.clients.notifyAll('message', params)
}
-serverCommands.nick = function (settings, params) {
+serverCommands.nick = function (serverstate, settings, params) {
var oldnick = settings.nick
var newnick = params.nick
settings.nick = newnick
- return clients.notifyAll('nickchange', { nick: oldnick, newnick: newnick });
+ return serverstate.clients.notifyAll('nickchange', { nick: oldnick, newnick: newnick });
}
-serverCommands.badcommand = function (settings, params) {
+serverCommands.badcommand = function (serversate, settings, params) {
settings.conn.write(JSON.stringify({ method: 'usererror', params: { message: 'bad command' }}))
}