File

plugins/receipts.lua @ 501:419c248919e8

util.dataforms: Remove local copy The main difference was the from_stanza() function, which was used in by 'clix adhoc', so moving it there seems sensible. Maybe reconsider upstreaming it to Prosody, but it's not used anywhere there.
author Kim Alvefur <zash@zash.se>
date Fri, 23 Jun 2023 12:38:58 +0200
parent 319:12b0e5cc72bf
line wrap: on
line source

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