Mercurial > prosody-modules
comparison mod_discoitems/mod_discoitems.lua @ 78:ae91c98b7e4c
mod_discoitems: Initial commit.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 01 Nov 2009 18:14:42 +0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
77:85b8622ccffd | 78:ae91c98b7e4c |
---|---|
1 -- mod_discoitems.lua | |
2 -- | |
3 -- In the config, you can add: | |
4 -- | |
5 -- disco_items = { | |
6 -- {"proxy.eu.jabber.org", "Jabber.org SOCKS5 service"}; | |
7 -- {"conference.jabber.org", "The Jabber.org MUC"}; | |
8 -- }; | |
9 -- | |
10 | |
11 local st = require "util.stanza"; | |
12 | |
13 local result_query = st.stanza("query", {xmlns="http://jabber.org/protocol/disco#items"}); | |
14 for _, item in ipairs(module:get_option("disco_items") or {}) do | |
15 result_query:tag("item", {jid=item[1], name=item[2]}):up(); | |
16 end | |
17 | |
18 module:hook('iq/host/http://jabber.org/protocol/disco#items:query', function(event) | |
19 local stanza = event.stanza; | |
20 local query = stanza.tags[1]; | |
21 if stanza.attr.type == 'get' and not query.attr.node then | |
22 event.origin.send(st.reply(stanza):add_child(result_query)); | |
23 return true; | |
24 end | |
25 end, 100); |