comparison mod_ircd/mod_ircd.lua @ 329:febfb59502fc

mod_ircd: Add QUIT command.
author Kim Alvefur <zash@zash.se>
date Thu, 03 Feb 2011 23:57:37 +0100
parents 282abba844e8
children 8b81257c9dc5
comparison
equal deleted inserted replaced
327:b92c81f8aed4 329:febfb59502fc
134 session.full_jid = full_jid; 134 session.full_jid = full_jid;
135 session.type = "c2s"; 135 session.type = "c2s";
136 session.send(":"..session.host.." 001 "..session.nick.." :Welcome to XMPP via the "..session.host.." gateway "..session.nick); 136 session.send(":"..session.host.." 001 "..session.nick.." :Welcome to XMPP via the "..session.host.." gateway "..session.nick);
137 end 137 end
138 138
139 function commands.USER(session, params)
140 -- FIXME
141 -- Empty command for now
142 end
143
139 local joined_mucs = {}; 144 local joined_mucs = {};
140 function commands.JOIN(session, channel) 145 function commands.JOIN(session, channel)
141 if not session.nick then 146 if not session.nick then
142 return ":"..session.host.." 451 :You have not registered"; 147 return ":"..session.host.." 451 :You have not registered";
143 end 148 end
163 if nick ~= session.nick then 168 if nick ~= session.nick then
164 if body:sub(1,4) == "/me " then 169 if body:sub(1,4) == "/me " then
165 body = "\1ACTION ".. body:sub(5) .. "\1" 170 body = "\1ACTION ".. body:sub(5) .. "\1"
166 end 171 end
167 session.send(":"..nick.." PRIVMSG "..channel.." :"..body); 172 session.send(":"..nick.." PRIVMSG "..channel.." :"..body);
173 --FIXME PM's probably won't work
168 end 174 end
169 end); 175 end);
170 end 176 end
171 177
172 c:hook("groupchat/joined", function(room) 178 c:hook("groupchat/joined", function(room)
224 230
225 function commands.MODE(session, channel) 231 function commands.MODE(session, channel)
226 session.send(":"..session.host.." 324 "..session.nick.." "..channel.." +J"); 232 session.send(":"..session.host.." 324 "..session.nick.." "..channel.." +J");
227 end 233 end
228 234
235 function commands.QUIT(session, message)
236 session.send("ERROR :Closing Link: "..session.nick);
237 for _, room in pairs(session.rooms) do
238 room:leave(message);
239 end
240 session:close();
241 end
229 242
230 function commands.RAW(session, data) 243 function commands.RAW(session, data)
231 --c:send(data) 244 --c:send(data)
232 end 245 end
233 246