from src import ModuleManager, utils class ThrottleSetting(utils.Setting): def parse(self, value): lines, _, seconds = value.partition(":") if lines.isdigit() and seconds.isdigit(): return [int(lines), int(seconds)] return None @utils.export("serverset", ThrottleSetting("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)