Diff

mod_muc_lang/mod_muc_lang.lua @ 3069:e1db146984a0

mod_muc_lang: Advertises the room language
author Kim Alvefur <zash@zash.se>
date Wed, 30 May 2018 08:40:59 +0200
child 3073:ef8fe8bec5b1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_muc_lang/mod_muc_lang.lua	Wed May 30 08:40:59 2018 +0200
@@ -0,0 +1,36 @@
+
+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.archiving = 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#roomconfig_lang",
+		type = "text-single",
+		label = "Natural Language for Room Discussions",
+		value = room._data.language,
+	});
+	formdata["muc#roominfo_lang"] = room._data.language;
+end);
+