diff options
Diffstat (limited to 'src/core_modules/throttle.py')
| -rw-r--r-- | src/core_modules/throttle.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/core_modules/throttle.py b/src/core_modules/throttle.py new file mode 100644 index 00000000..e204cc34 --- /dev/null +++ b/src/core_modules/throttle.py @@ -0,0 +1,17 @@ +from src import ModuleManager, utils + +def _parse(value): + lines, _, seconds = value.partition(":") + if lines.isdigit() and seconds.isdigit(): + return [int(lines), int(seconds)] + return None + +@utils.export("serverset", utils.FunctionSetting(_parse, "throttle", + "Configure lines:seconds throttle for the current server", example="4:2")) +class Module(ModuleManager.BaseModule): + @utils.hook("received.001") + def connect(self, event): + throttle = event["server"].get_setting("throttle", None) + if throttle: + lines, seconds = throttle + event["server"].socket.set_throttle(lines, seconds) |
