# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1528029786 -7200
# Node ID c601c834bf015f1a10182415ab3d78d8ae48bcce
# Parent  2c60ae791bdcaf6ff97e530b06649b028d4e7ec0
MUC: Add support for setting MUC room defaults from the config file

Defaults are roughtly like this:

muc_rooom_default_public = true
muc_rooom_default_persistent = false
muc_rooom_default_members_only = false
muc_rooom_default_moderated = false
muc_rooom_default_public_jids = false
muc_rooom_default_change_subject = false
muc_room_default_history_length = 20
muc_room_default_language = nil

diff -r 2c60ae791bdc -r c601c834bf01 plugins/muc/mod_muc.lua
--- a/plugins/muc/mod_muc.lua	Sun Jun 03 14:46:57 2018 +0200
+++ b/plugins/muc/mod_muc.lua	Sun Jun 03 14:43:06 2018 +0200
@@ -283,6 +283,18 @@
 	end
 end);
 
+module:hook("muc-room-pre-create", function (event)
+	local room = event.room;
+	room:set_public(module:get_option_boolean("muc_rooom_default_public", room:get_public()));
+	room:set_persistent(module:get_option_boolean("muc_rooom_default_persistent", room:get_persistent()));
+	room:set_members_only(module:get_option_boolean("muc_rooom_default_members_only", room:get_members_only()));
+	room:set_moderated(module:get_option_boolean("muc_rooom_default_moderated", room:get_moderated()));
+	room:set_whois(module:get_option_boolean("muc_rooom_default_public_jids", room:get_whois() == "anyone") and "anyone" or "moderators");
+	room:set_changesubject(module:get_option_boolean("muc_rooom_default_change_subject", room:get_changesubject()));
+	room:set_historylength(module:get_option_number("muc_room_default_history_length", room:get_historylength()));
+	room:set_language(module:get_option_string("muc_room_default_language"));
+end, 1);
+
 module:hook("muc-room-pre-create", function(event)
 	local origin, stanza = event.origin, event.stanza;
 	if not track_room(event.room) then