Software /
code /
prosody
Diff
plugins/muc/muc.lib.lua @ 6101:a861dc18e08d
plugins/muc/muc.lib: Add disco iq handlers with compatible argument signature
author | daurnimator <quae@daurnimator.com> |
---|---|
date | Fri, 21 Feb 2014 19:06:33 -0500 |
parent | 6100:c78ba94d3261 |
child | 6102:385772166289 |
line wrap: on
line diff
--- a/plugins/muc/muc.lib.lua Fri Feb 21 18:04:38 2014 -0500 +++ b/plugins/muc/muc.lib.lua Fri Feb 21 19:06:33 2014 -0500 @@ -827,6 +827,16 @@ module:fire_event("muc-room-destroyed", { room = self }); end +function room_mt:handle_disco_info_get_query(origin, stanza) + origin.send(self:get_disco_info(stanza)); + return true; +end + +function room_mt:handle_disco_items_get_query(origin, stanza) + origin.send(self:get_disco_items(stanza)); + return true; +end + function room_mt:handle_admin_item_set_command(origin, stanza) local item = stanza.tags[1].tags[1]; if item.attr.jid then -- Validate provided JID @@ -951,11 +961,9 @@ local type = stanza.attr.type; local xmlns = stanza.tags[1] and stanza.tags[1].attr.xmlns; if xmlns == "http://jabber.org/protocol/disco#info" and type == "get" and not stanza.tags[1].attr.node then - origin.send(self:get_disco_info(stanza)); - return true; + return self:handle_disco_info_get_query(origin, stanza) elseif xmlns == "http://jabber.org/protocol/disco#items" and type == "get" and not stanza.tags[1].attr.node then - origin.send(self:get_disco_items(stanza)); - return true; + return self:handle_disco_items_get_query(origin, stanza) elseif xmlns == "http://jabber.org/protocol/muc#admin" then local item = stanza.tags[1].tags[1]; if item and item.name == "item" then