add configurable kick-rejoin delay (default 5s)
This commit is contained in:
parent
fa429a4c28
commit
baa13d9e7f
1 changed files with 11 additions and 1 deletions
|
@ -2,10 +2,20 @@
|
||||||
|
|
||||||
from src import ModuleManager, utils
|
from src import ModuleManager, utils
|
||||||
|
|
||||||
|
DELAY = 5
|
||||||
|
|
||||||
@utils.export("serverset", utils.BoolSetting("kick-rejoin",
|
@utils.export("serverset", utils.BoolSetting("kick-rejoin",
|
||||||
"Whether or not I should rejoin channels I get kicked from"))
|
"Whether or not I should rejoin channels I get kicked from"))
|
||||||
|
@utils.export("serverset", utils.IntSetting("kick-rejoin-delay",
|
||||||
|
"Amount of seconds to wait before rejoining a channel"))
|
||||||
class Module(ModuleManager.BaseModule):
|
class Module(ModuleManager.BaseModule):
|
||||||
@utils.hook("self.kick")
|
@utils.hook("self.kick")
|
||||||
def on_kick(self, event):
|
def on_kick(self, event):
|
||||||
if event["server"].get_setting("kick-rejoin", False):
|
if event["server"].get_setting("kick-rejoin", False):
|
||||||
event["server"].send_join(event["channel"].name)
|
delay = event["server"].get_setting("kick-rejoin-delay", DELAY)
|
||||||
|
self.timers.add("kick-rejoin", delay, server=event["server"],
|
||||||
|
channel_name=event["channel"].name)
|
||||||
|
|
||||||
|
@utils.hook("timer.kick-rejoin")
|
||||||
|
def timer(self, event):
|
||||||
|
event["server"].send_join(event["channel_name"])
|
||||||
|
|
Loading…
Reference in a new issue