Comparison

plugins/muc/muc.lib.lua @ 1996:3e6b36c6d7b7

MUC: Kick occupants on sending error messages to other occupants.
author Waqas Hussain <waqas20@gmail.com>
date Sun, 18 Oct 2009 05:35:33 +0500
parent 1989:97c3236cc4ac
child 1997:c70ee886e309
comparison
equal deleted inserted replaced
1995:03ecc636af1e 1996:3e6b36c6d7b7
349 else 349 else
350 origin.send(st.error_reply(stanza, "cancel", "not-acceptable")); 350 origin.send(st.error_reply(stanza, "cancel", "not-acceptable"));
351 end 351 end
352 elseif stanza.name == "message" and type == "groupchat" then -- groupchat messages not allowed in PM 352 elseif stanza.name == "message" and type == "groupchat" then -- groupchat messages not allowed in PM
353 origin.send(st.error_reply(stanza, "modify", "bad-request")); 353 origin.send(st.error_reply(stanza, "modify", "bad-request"));
354 elseif current_nick and stanza.name == "message" and type == "error" and get_kickable_error(stanza) then
355 log("debug", "%s kicked from %s for sending an error message", current_nick, self.jid);
356 self:handle_to_occupant(origin, st.presence({type='unavailable', from=stanza.attr.from, to=stanza.attr.to})
357 :tag('status'):text('This participant is kicked from the room because he sent an error message to another occupant')); -- send unavailable
354 else -- private stanza 358 else -- private stanza
355 local o_data = self._occupants[to]; 359 local o_data = self._occupants[to];
356 if o_data then 360 if o_data then
357 log("debug", "%s sent private stanza to %s (%s)", from, to, o_data.jid); 361 log("debug", "%s sent private stanza to %s (%s)", from, to, o_data.jid);
358 local jid = o_data.jid; 362 local jid = o_data.jid;