comparison mod_muc_limits/mod_muc_limits.lua @ 3968:bf5d91769f99

Merge commit
author tmolitor <thilo@eightysoft.de>
date Sun, 05 Apr 2020 23:39:08 +0200
parents 2b10e51d85a6
children 731ba9400c10
comparison
equal deleted inserted replaced
3967:0957ba6aeb99 3968:bf5d91769f99
11 11
12 local period = math.max(module:get_option_number("muc_event_rate", 0.5), 0); 12 local period = math.max(module:get_option_number("muc_event_rate", 0.5), 0);
13 local burst = math.max(module:get_option_number("muc_burst_factor", 6), 1); 13 local burst = math.max(module:get_option_number("muc_burst_factor", 6), 1);
14 14
15 local max_nick_length = module:get_option_number("muc_max_nick_length", 23); -- Default chosen through scientific methods 15 local max_nick_length = module:get_option_number("muc_max_nick_length", 23); -- Default chosen through scientific methods
16 local join_only = module:get_option_boolean("muc_limit_joins_only", false);
16 local dropped_count = 0; 17 local dropped_count = 0;
17 local dropped_jids; 18 local dropped_jids;
18 19
19 local function log_dropped() 20 local function log_dropped()
20 module:log("warn", "Dropped %d stanzas from %d JIDs: %s", dropped_count, #dropped_jids, t_concat(dropped_jids, ", ")); 21 module:log("warn", "Dropped %d stanzas from %d JIDs: %s", dropped_count, #dropped_jids, t_concat(dropped_jids, ", "));
72 end 73 end
73 end 74 end
74 75
75 if rooms then 76 if rooms then
76 function module.unload() 77 function module.unload()
77 for room_jid, room in pairs(rooms) do 78 for room_jid, room in pairs(rooms) do --luacheck: ignore 213/room_jid
78 room.throttle = nil; 79 room.throttle = nil;
79 end 80 end
80 end 81 end
81 82
82 module:hook("message/bare", handle_stanza, 501);
83 module:hook("message/full", handle_stanza, 501);
84 module:hook("presence/bare", handle_stanza, 501);
85 module:hook("presence/full", handle_stanza, 501); 83 module:hook("presence/full", handle_stanza, 501);
84 if not join_only then
85 module:hook("message/bare", handle_stanza, 501);
86 module:hook("message/full", handle_stanza, 501);
87 module:hook("presence/bare", handle_stanza, 501);
88 end
86 else 89 else
87 module:hook("muc-occupant-pre-join", handle_stanza); 90 module:hook("muc-occupant-pre-join", handle_stanza);
88 module:hook("muc-occupant-pre-change", handle_stanza); 91 if not join_only then
89 module:hook("muc-occupant-groupchat", handle_stanza); 92 module:hook("muc-occupant-pre-change", handle_stanza);
93 module:hook("muc-occupant-groupchat", handle_stanza);
94 end
90 end 95 end