File

mod_muc_lang/mod_muc_lang.lua @ 6319:63ef69b2f046

mod_http_oauth2: Assume Prosody 13.0+ roles are available Per the README, 0.12 is not supported, so we should not need to worry about this. Plus it is assumed to be present elsewhere and that would throw errors.
author Kim Alvefur <zash@zash.se>
date Wed, 02 Jul 2025 16:15:32 +0200
parent 3546:ef5d52ca31bb
line wrap: on
line source

assert(module:depends"muc".rooms, "This module is not required with Prosody >= 0.11");

module:hook("muc-config-form", function(event)
	local room, form = event.room, event.form;
	table.insert(form, {
		name = "muc#roomconfig_lang",
		type = "text-single",
		label = "Natural Language for Room Discussions",
		value = room._data.language,
	});
end);

module:hook("muc-config-submitted", function(event)
	local room, fields, changed = event.room, event.fields, event.changed;
	local new = fields["muc#roomconfig_lang"];
	if new ~= room._data.language then
		room._data.language = new;
		if type(changed) == "table" then
			changed["muc#roomconfig_lang"] = true;
		else
			event.changed = true;
		end
	end
end);

module:hook("muc-disco#info", function (event)
	local room, form, formdata = event.room, event.form, event.formdata;

	table.insert(form, {
		name = "muc#roominfo_lang",
		value = room._data.language,
	});
	formdata["muc#roominfo_lang"] = room._data.language;
end);