Software /
code /
verse
Comparison
plugins/browsing.lua @ 403:6f4f60ebb796
Add plugin for XEP-0195: User Browsing
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 15 May 2016 16:23:54 +0200 |
child | 466:1eaec52ff71a |
comparison
equal
deleted
inserted
replaced
402:81b109281879 | 403:6f4f60ebb796 |
---|---|
1 local verse = require "verse"; | |
2 | |
3 local xmlns_browsing = "urn:xmpp:browsing:0"; | |
4 | |
5 function verse.plugins.browsing(stream) | |
6 stream:add_plugin("pep"); | |
7 function stream:browsing(infos, callback) | |
8 if type(infos) == "string" then | |
9 infos = { uri = infos; }; | |
10 end | |
11 | |
12 local link = verse.stanza("page", {xmlns=xmlns_browsing}) | |
13 for info, value in pairs(infos) do | |
14 link:tag(info):text(value):up(); | |
15 end | |
16 return stream:publish_pep(link, callback); | |
17 end | |
18 | |
19 stream:hook_pep(xmlns_browsing, function(event) | |
20 local item = event.item; | |
21 return stream:event("browsing", { | |
22 from = event.from; | |
23 description = item:get_child_text"description"; | |
24 keywords = item:get_child_text"keywords"; | |
25 title = item:get_child_text"title"; | |
26 uri = item:get_child_text"uri"; | |
27 }); | |
28 end); | |
29 end | |
30 |