plugins/muc/muc.lib: Add decline event for parity with invite
authordaurnimator <quae@daurnimator.com>
Thu, 20 Mar 2014 15:50:29 -0400
changeset 6131 8dd0c6145603
parent 6130 c95d9132592a
child 6132 96a1aa23ae0d
plugins/muc/muc.lib: Add decline event for parity with invite
plugins/muc/muc.lib.lua
--- a/plugins/muc/muc.lib.lua	Thu Mar 20 15:22:02 2014 -0400
+++ b/plugins/muc/muc.lib.lua	Thu Mar 20 15:50:29 2014 -0400
@@ -1064,7 +1064,7 @@
 			:tag('body') -- Add a plain message for clients which don't support declines
 				:text(from..' declined your invite to the room '..to..(reason and (' ('..reason..')') or ""))
 			:up();
-		self:_route_stanza(decline);
+		module:fire_event("muc-decline", { room = self, stanza = decline, origin = origin, incoming = stanza });
 		return true;
 	else
 		origin.send(st.error_reply(stanza, "cancel", "jid-malformed"));
@@ -1072,6 +1072,11 @@
 	end
 end
 
+module:hook("muc-decline", function(event)
+	event.room:_route_stanza(event.stanza);
+	return true;
+end, -1)
+
 function room_mt:handle_message_to_room(origin, stanza)
 	local type = stanza.attr.type;
 	if type == "groupchat" then