Mercurial > prosody-hg
comparison plugins/muc/mod_muc.lua @ 8867:c601c834bf01
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
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 03 Jun 2018 14:43:06 +0200 |
| parents | 2a8bbfcb6868 |
| children | b9e56f46916e |
comparison
equal
deleted
inserted
replaced
| 8866:2c60ae791bdc | 8867:c601c834bf01 |
|---|---|
| 280 reply:tag("item", { jid = jid, name = room_name }):up(); | 280 reply:tag("item", { jid = jid, name = room_name }):up(); |
| 281 end | 281 end |
| 282 end | 282 end |
| 283 end | 283 end |
| 284 end); | 284 end); |
| 285 | |
| 286 module:hook("muc-room-pre-create", function (event) | |
| 287 local room = event.room; | |
| 288 room:set_public(module:get_option_boolean("muc_rooom_default_public", room:get_public())); | |
| 289 room:set_persistent(module:get_option_boolean("muc_rooom_default_persistent", room:get_persistent())); | |
| 290 room:set_members_only(module:get_option_boolean("muc_rooom_default_members_only", room:get_members_only())); | |
| 291 room:set_moderated(module:get_option_boolean("muc_rooom_default_moderated", room:get_moderated())); | |
| 292 room:set_whois(module:get_option_boolean("muc_rooom_default_public_jids", room:get_whois() == "anyone") and "anyone" or "moderators"); | |
| 293 room:set_changesubject(module:get_option_boolean("muc_rooom_default_change_subject", room:get_changesubject())); | |
| 294 room:set_historylength(module:get_option_number("muc_room_default_history_length", room:get_historylength())); | |
| 295 room:set_language(module:get_option_string("muc_room_default_language")); | |
| 296 end, 1); | |
| 285 | 297 |
| 286 module:hook("muc-room-pre-create", function(event) | 298 module:hook("muc-room-pre-create", function(event) |
| 287 local origin, stanza = event.origin, event.stanza; | 299 local origin, stanza = event.origin, event.stanza; |
| 288 if not track_room(event.room) then | 300 if not track_room(event.room) then |
| 289 origin.send(st.error_reply(stanza, "wait", "resource-constraint")); | 301 origin.send(st.error_reply(stanza, "wait", "resource-constraint")); |
