aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-07-11 21:34:16 +0100
committerGravatar jesopo2019-07-11 21:34:16 +0100
commitbaa13d9e7fe02a7d9656f57caf278380345bd2fb (patch)
treea64ae809444eaad1fef4948f178fe8c04171252a /modules
parentadd kick-rejoin.py (diff)
signature
add configurable kick-rejoin delay (default 5s)
Diffstat (limited to 'modules')
-rw-r--r--modules/kick-rejoin.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/kick-rejoin.py b/modules/kick-rejoin.py
index 7544ba9f..4e9d48af 100644
--- a/modules/kick-rejoin.py
+++ b/modules/kick-rejoin.py
@@ -2,10 +2,20 @@
from src import ModuleManager, utils
+DELAY = 5
+
@utils.export("serverset", utils.BoolSetting("kick-rejoin",
"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):
@utils.hook("self.kick")
def on_kick(self, event):
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"])