Software /
code /
prosody-modules
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); +