Software /
code /
prosody
Annotate
plugins/muc/restrict_pm.lib.lua @ 13751:7c98981d3fe9
Merge 13.0->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Feb 2025 21:49:59 +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 }; |