Changeset

403:6f4f60ebb796

Add plugin for XEP-0195: User Browsing
author Kim Alvefur <zash@zash.se>
date Sun, 15 May 2016 16:23:54 +0200
parents 402:81b109281879
children 404:7c6a610c3ff5
files plugins/browsing.lua
diffstat 1 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/browsing.lua	Sun May 15 16:23:54 2016 +0200
@@ -0,0 +1,30 @@
+local verse = require "verse";
+
+local xmlns_browsing = "urn:xmpp:browsing:0";
+
+function verse.plugins.browsing(stream)
+	stream:add_plugin("pep");
+	function stream:browsing(infos, callback)
+		if type(infos) == "string" then
+			infos = { uri = infos; };
+		end
+
+		local link = verse.stanza("page", {xmlns=xmlns_browsing})
+		for info, value in pairs(infos) do
+			link:tag(info):text(value):up();
+		end
+		return stream:publish_pep(link, callback);
+	end
+
+	stream:hook_pep(xmlns_browsing, function(event)
+		local item = event.item;
+		return stream:event("browsing", {
+			from = event.from;
+			description = item:get_child_text"description";
+			keywords = item:get_child_text"keywords";
+			title = item:get_child_text"title";
+			uri = item:get_child_text"uri";
+		});
+	end);
+end
+