Annotate

mod_csi_muc_priorities/mod_csi_muc_priorities.lua @ 5173:460f78654864

mod_muc_rtbl: also filter messages This was a bit tricky because we don't want to run the JIDs through SHA256 on each message. Took a while to come up with this simple plan of just caching the SHA256 of the JIDs on the occupants. This will leave some dirt in the occupants after unloading the module, but that should be ok; once they cycle the room, the hashes will be gone. This is direly needed, otherwise, there is a tight race between the moderation activities and the actors joining the room.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 21 Feb 2023 21:37:27 +0100
parent 4014:1b68954a743a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
1 local jid_bare, jid_split = import("util.jid", "bare", "split");
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
2
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
3 -- luacheck: ignore 122
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
4 local user_sessions = prosody.hosts[module.host].sessions;
3532
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 module:hook("csi-is-stanza-important", function (event)
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 local stanza, session = event.stanza, event.session;
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 if stanza.name == "message" then
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 if stanza.attr.type == "groupchat" then
3534
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3533
diff changeset
10 local room_jid = jid_bare(stanza.attr.from);
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3533
diff changeset
11
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
12 local username = session.username;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
13 local priorities = user_sessions[username].csi_muc_priorities;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
14
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
15 if priorities then
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
16 local priority = priorities[room_jid];
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
17 if priority ~= nil then
4014
1b68954a743a mod_csi_muc_priorities: Report reason for importance decision
Kim Alvefur <zash@zash.se>
parents: 3992
diff changeset
18 event.reason = "muc priority";
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
19 return priority;
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
20 end
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
21 end
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
22
3535
bcb0eb9121a9 mod_csi_muc_priorities: Add a comment
Kim Alvefur <zash@zash.se>
parents: 3534
diff changeset
23 -- Look for mention
3532
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 local rooms = session.rooms_joined;
3538
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
25 if rooms then
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
26 local body = stanza:get_child_text("body");
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
27 if not body then return end
3538
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
28 local room_nick = rooms[room_jid];
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
29 if room_nick then
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
30 if body:find(room_nick, 1, true) then
4014
1b68954a743a mod_csi_muc_priorities: Report reason for importance decision
Kim Alvefur <zash@zash.se>
parents: 3992
diff changeset
31 event.reason = "muc mention";
3538
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
32 return true;
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
33 end
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
34 -- Your own messages
3539
6d51f44bc725 mod_csi_muc_priorities: Consider own MUC messages as important
Kim Alvefur <zash@zash.se>
parents: 3538
diff changeset
35 if stanza.attr.from == (room_jid .. "/" .. room_nick) then
4014
1b68954a743a mod_csi_muc_priorities: Report reason for importance decision
Kim Alvefur <zash@zash.se>
parents: 3992
diff changeset
36 event.reason = "muc own message";
3539
6d51f44bc725 mod_csi_muc_priorities: Consider own MUC messages as important
Kim Alvefur <zash@zash.se>
parents: 3538
diff changeset
37 return true;
6d51f44bc725 mod_csi_muc_priorities: Consider own MUC messages as important
Kim Alvefur <zash@zash.se>
parents: 3538
diff changeset
38 end
3538
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
39 end
946902fa4088 mod_csi_muc_priorities: Undo early return to make following commit clearer
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
40 end
3628
2444fb3b05b7 mod_csi_muc_priorities: Signal unimportance (thanks tmolitor)
Kim Alvefur <zash@zash.se>
parents: 3601
diff changeset
41
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
42 -- Standard importance and no mention, leave to other modules to decide for now
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
43 return nil;
3532
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44 end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46 end);
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
48 module:depends("adhoc");
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
49
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
50 local dataform = require"util.dataforms";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
51 local adhoc_inital_data = require "util.adhoc".new_initial_data_form;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
52 local instructions = [[
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
53 These settings affect battery optimizations performed by the server
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
54 while your client has indicated that it is inactive.
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
55 ]]
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
56
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
57 local priority_settings_form = dataform.new {
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
58 title = "Prioritize addresses of group chats";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
59 instructions = instructions;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
60 {
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
61 type = "hidden";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
62 name = "FORM_TYPE";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
63 value = "xmpp:modules.prosody.im/mod_"..module.name;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
64 };
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
65 {
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
66 type = "jid-multi";
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
67 name = "important";
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
68 label = "Higher priority";
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
69 desc = "Group chats more important to you";
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
70 };
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
71 {
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
72 type = "jid-multi";
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
73 name = "unimportant";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
74 label = "Lower priority";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
75 desc = "E.g. large noisy public channels";
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
76 };
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
77 }
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
78
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
79 local store = module:open_store();
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
80 module:hook("resource-bind", function (event)
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
81 local username = event.session.username;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
82 user_sessions[username].csi_muc_priorities = store:get(username);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
83 end);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
84
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
85 local adhoc_command_handler = adhoc_inital_data(priority_settings_form, function (data)
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
86 local username = jid_split(data.from);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
87 local prioritized_jids = user_sessions[username].csi_muc_priorities or store:get(username);
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
88 local important = {};
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
89 local unimportant = {};
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
90 if prioritized_jids then
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
91 for jid, priority in pairs(prioritized_jids) do
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
92 if priority then
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
93 table.insert(important, jid);
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
94 else
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
95 table.insert(unimportant, jid);
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
96 end
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
97 end
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
98 table.sort(important);
3537
7d6fb9570395 mod_csi_muc_priorities: Sort list of JIDs
Kim Alvefur <zash@zash.se>
parents: 3536
diff changeset
99 table.sort(unimportant);
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
100 end
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
101 return {
3988
569f754bd126 mod_csi_muc_priorities: Adjust indentation
Kim Alvefur <zash@zash.se>
parents: 3754
diff changeset
102 important = important;
569f754bd126 mod_csi_muc_priorities: Adjust indentation
Kim Alvefur <zash@zash.se>
parents: 3754
diff changeset
103 unimportant = unimportant;
569f754bd126 mod_csi_muc_priorities: Adjust indentation
Kim Alvefur <zash@zash.se>
parents: 3754
diff changeset
104 };
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
105 end, function(fields, form_err, data)
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
106 if form_err then
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
107 return { status = "completed", error = { message = "Problem in submitted form" } };
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
108 end
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
109 local prioritized_jids = {};
3601
013ef96a6d4d mod_csi_muc_priorities: Fix traceback due to empty field
Kim Alvefur <zash@zash.se>
parents: 3540
diff changeset
110 if fields.unimportant then
3992
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
111 if fields.unimportant then
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
112 for _, jid in ipairs(fields.unimportant) do
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
113 prioritized_jids[jid] = false;
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
114 end
3601
013ef96a6d4d mod_csi_muc_priorities: Fix traceback due to empty field
Kim Alvefur <zash@zash.se>
parents: 3540
diff changeset
115 end
3992
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
116 if fields.important then
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
117 for _, jid in ipairs(fields.important) do
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
118 prioritized_jids[jid] = true;
0233da912ab6 mod_csi_muc_priorities: Fix bad argument to 'ipairs' on a missing list
Kim Alvefur <zash@zash.se>
parents: 3988
diff changeset
119 end
3754
d77a61d81555 mod_csi_muc_priorities: Add a high priority list (BC)
Kim Alvefur <zash@zash.se>
parents: 3628
diff changeset
120 end
3536
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
121 end
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
122
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
123 local username = jid_split(data.from);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
124 local ok, err = store:set(username, prioritized_jids);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
125 if ok then
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
126 user_sessions[username].csi_muc_priorities = prioritized_jids;
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
127 return { status = "completed", info = "Priorities updated" };
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
128 else
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
129 return { status = "completed", error = { message = "Error saving priorities: "..err } };
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
130 end
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
131 end);
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
132
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
133 module:add_item("adhoc", module:require "adhoc".new("Configure group chat priorities",
eed657091329 mod_csi_muc_priorities: Allow specifying which MUC JIDs are less important
Kim Alvefur <zash@zash.se>
parents: 3535
diff changeset
134 "xmpp:modules.prosody.im/mod_"..module.name, adhoc_command_handler, "local_user"));