From af2f48553f5c0e2db311e6f55afbda29631abf49 Mon Sep 17 00:00:00 2001 From: Jakob Ovrum Date: Mon, 22 Feb 2010 03:09:13 +0900 Subject: [PATCH] Added support for keyed channels --- init.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/init.lua b/init.lua index 5d927fc..bdc206a 100644 --- a/init.lua +++ b/init.lua @@ -56,8 +56,12 @@ meta.__index = meta local meta_preconnect = {} -local function postAuth_join(o, channel) - o:send("JOIN %s", channel) +local function postAuth_join(o, channel, key) + if key then + o:send("JOIN %s :%s", channel, key) + else + o:send("JOIN %s", channel) + end end function meta_preconnect.__index(o, k) @@ -136,7 +140,7 @@ meta_preconnect.connect = meta.connect function meta:disconnect(message) local message = message or "Bye!" - o:invoke("OnDisconnect", message, false) + self:invoke("OnDisconnect", message, false) self:send("QUIT :%s", message) self:shutdown() @@ -221,7 +225,7 @@ end handlers["001"] = function(o) o.join = postAuth_join for k,room in ipairs(o.rooms) do - o:join(room) + o:join(room.name, room.key) end o.rooms = nil @@ -269,8 +273,8 @@ function meta:sendChat(channel, msg) end --preAuth_join -function meta:join(channel) - table.insert(self.rooms, channel) +function meta:join(channel, key) + table.insert(self.rooms, {name = channel, key = key}) end meta_preconnect.join = meta.join