Software /
code /
prosody
Annotate
plugins/muc/restrict_pm.lib.lua @ 13744:34ac05f6bd10 13.0
core.configmanager: Fix reporting delayed warnings from global section
A Credential in the global section would be stored at
delayed_warnings["*/secret"], but get("example.com","secret") would look
for delayed_warnings["example.com/secret"]
Storing the warnings in the config itself has the unfortunate
side-effect that the config now contains util.error objects, which may
be awkward if something bypasses get(). Should rawget() also do this
filtering? getconfig() too?
Currently this only affects prosodyctl, so maybe it won't be much of a
problem.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Feb 2025 00:08:18 +0100 |
parent | 13578:5fb7b9a9346f |
rev | line source |
---|---|
13495
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 -- Based on code from mod_muc_restrict_pm in prosody-modules@d82c0383106a |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 -- by Nicholas George <wirlaburla@worlio.com> |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 |
13578
5fb7b9a9346f
MUC: Use fully qualified import
Kim Alvefur <zash@zash.se>
parents:
13495
diff
changeset
|
4 local st = require "prosody.util.stanza"; |
13495
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 local muc_util = module:require "muc/util"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 local valid_roles = muc_util.valid_roles; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 -- COMPAT w/ prosody-modules allow_pm |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 local compat_map = { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 everyone = "visitor"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 participants = "participant"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 moderators = "moderator"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 members = "affiliated"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 local function get_allow_pm(room) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 local val = room._data.allow_pm; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 return compat_map[val] or val or "visitor"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 local function set_allow_pm(room, val) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 if get_allow_pm(room) == val then return false; end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 room._data.allow_pm = val; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 return true; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 local function get_allow_modpm(room) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 return room._data.allow_modpm or false; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 local function set_allow_modpm(room, val) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 if get_allow_modpm(room) == val then return false; end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 room._data.allow_modpm = val; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 return true; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 module:hook("muc-config-form", function(event) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 local pmval = get_allow_pm(event.room); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 table.insert(event.form, { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 name = 'muc#roomconfig_allowpm'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 type = 'list-single'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 label = 'Allow private messages from'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 options = { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 { value = 'visitor', label = 'Everyone', default = pmval == 'visitor' }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 { value = 'participant', label = 'Participants', default = pmval == 'participant' }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 { value = 'moderator', label = 'Moderators', default = pmval == 'moderator' }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 { value = 'affiliated', label = "Members", default = pmval == "affiliated" }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 { value = 'none', label = 'No one', default = pmval == 'none' }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 } |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
50 }); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 table.insert(event.form, { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 name = '{xmpp:prosody.im}muc#allow_modpm'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 type = 'boolean'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 label = 'Always allow private messages to moderators'; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 value = get_allow_modpm(event.room) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 }); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 end); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 module:hook("muc-config-submitted/muc#roomconfig_allowpm", function(event) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 if set_allow_pm(event.room, event.value) then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 event.status_codes["104"] = true; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 end); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 module:hook("muc-config-submitted/{xmpp:prosody.im}muc#allow_modpm", function(event) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 if set_allow_modpm(event.room, event.value) then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 event.status_codes["104"] = true; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 end); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 local who_restricted = { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
72 none = "in this group"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
73 participant = "from guests"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 moderator = "from non-moderators"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
75 affiliated = "from non-members"; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 }; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 module:hook("muc-private-message", function(event) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 local stanza, room = event.stanza, event.room; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 local from_occupant = room:get_occupant_by_nick(stanza.attr.from); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 local to_occupant = room:get_occupant_by_nick(stanza.attr.to); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 -- To self is always okay |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 if to_occupant.bare_jid == from_occupant.bare_jid then return; end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 if get_allow_modpm(room) then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 if to_occupant and to_occupant.role == 'moderator' |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 or from_occupant and from_occupant.role == "moderator" then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 return; -- Allow to/from moderators |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 local pmval = get_allow_pm(room); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 if pmval ~= "none" then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 if pmval == "affiliated" and room:get_affiliation(from_occupant.bare_jid) then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
97 return; -- Allow from affiliated users |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
98 elseif valid_roles[from_occupant.role] >= valid_roles[pmval] then |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 module:log("debug", "Allowing PM: %s(%d) >= %s(%d)", from_occupant.role, valid_roles[from_occupant.role], pmval, valid_roles[pmval]); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 return; -- Allow from a permitted role |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 end |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 local msg = ("Private messages are restricted %s"):format(who_restricted[pmval]); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
105 module:log("debug", "Blocking PM from %s %s: %s", from_occupant.role, stanza.attr.from, msg); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
106 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
107 room:route_to_occupant( |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
108 from_occupant, |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
109 st.error_reply(stanza, "cancel", "policy-violation", msg, room.jid) |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
110 ); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
111 return false; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
112 end, 1); |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
113 |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
114 return { |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
115 get_allow_pm = get_allow_pm; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
116 set_allow_pm = set_allow_pm; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
117 get_allow_modpm = get_allow_modpm; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
118 set_allow_modpm = set_allow_modpm; |
47e1df2d0a37
MUC: Add per-room PM restriction functionality (thanks Wirlaburla)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
119 }; |