aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-07-02 07:41:48 +0100
committerGravatar jesopo2019-07-02 07:41:48 +0100
commita3c62f117a7e0195f43fcd4f7b168ef6ae11d31d (patch)
treea9d429af82e2348d18181cb60c3f915e9b833498 /modules
parentDon't double-shorten `push` range urls (diff)
signature
Add setting to disable relaying joins/parts/quits/modes/etc
Diffstat (limited to 'modules')
-rw-r--r--modules/relay.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/modules/relay.py b/modules/relay.py
index 4308a8d6..a69b528c 100644
--- a/modules/relay.py
+++ b/modules/relay.py
@@ -4,6 +4,8 @@
from src import EventManager, ModuleManager, utils
+@utils.export("channelset", utils.BoolSetting("relay-extras",
+ "Whether or not to relay joins/parts/quits/modes/etc"))
class Module(ModuleManager.BaseModule):
@utils.hook("new.server")
def new_server(self, event):
@@ -54,6 +56,10 @@ class Module(ModuleManager.BaseModule):
@utils.hook("formatted.message.channel")
@utils.hook("formatted.notice.channel")
+ @utils.kwarg("priority", EventManager.PRIORITY_LOW)
+ def formatted(self, event):
+ self._relay(event, event["channel"])
+
@utils.hook("formatted.join")
@utils.hook("formatted.part")
@utils.hook("formatted.nick")
@@ -62,12 +68,14 @@ class Module(ModuleManager.BaseModule):
@utils.hook("formatted.quit")
@utils.hook("formatted.rename")
@utils.kwarg("priority", EventManager.PRIORITY_LOW)
- def formatted(self, event):
+ def formatted_extra(self, event):
if event["channel"]:
- self._relay(event, event["channel"])
+ if event["channel"].get_setting("relay-extras", True):
+ self._relay(event, event["channel"])
elif event["user"]:
for channel in event["user"].channels:
- self._relay(event, channel)
+ if channel.get_setting("relay-extras", True):
+ self._relay(event, channel)
@utils.hook("received.command.relaygroup")
@utils.kwarg("min_args", 1)