add throttle.py

closes #101
This commit is contained in:
jesopo 2019-07-23 17:46:40 +01:00
parent b6844303cb
commit a27aa6f7d8

18
modules/throttle.py Normal file
View file

@ -0,0 +1,18 @@
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)