plugins/receipts.lua

Mon, 06 Dec 2021 09:09:50 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 06 Dec 2021 09:09:50 +0000
changeset 438
98dc1750584d
parent 319
12b0e5cc72bf
permissions
-rw-r--r--

pubsub: Support for 'notify' in retract and purge operations

This is a slight API change for :retract(), but should be backwards-compatible.

local verse = require"verse";
local xmlns_receipts = "urn:xmpp:receipts";

function verse.plugins.receipts(stream)
	stream:add_plugin("disco");
	local function send_receipt(stanza)
		if stanza:get_child("request", xmlns_receipts) then
			stream:send(verse.reply(stanza)
				:tag("received", { xmlns = xmlns_receipts, id = stanza.attr.id }));
		end
	end

	stream:add_disco_feature(xmlns_receipts);
	stream:hook("message", send_receipt, 1000);
end

mercurial