diff options
| author | 2018-10-02 14:55:12 +0100 | |
|---|---|---|
| committer | 2018-10-02 14:55:12 +0100 | |
| commit | 150788c6c69d5ae65eae391312634d6e1b1536ac (patch) | |
| tree | 320a61e968731b7e42048c4491701caa0adcf3bc | |
| parent | Don't complain when modules/karma.py can't find a user when it's in (diff) | |
Add !leave to modules/channel_op.py
| -rw-r--r-- | modules/channel_op.py | 8 | ||||
| -rw-r--r-- | src/IRCChannel.py | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/modules/channel_op.py b/modules/channel_op.py index 49d9682c..93c8101a 100644 --- a/modules/channel_op.py +++ b/modules/channel_op.py @@ -237,3 +237,11 @@ class Module(ModuleManager.BaseModule): event["user"].username, event["user"].hostname)) event["channel"].send_kick(event["user"].nickname, "highlight spam detected") + + @Utils.hook("received.command.leave", channel_only=True) + def leave(self, event): + """ + :help: Part me from the current channel + :require_mode: o + """ + event["target"].send_part() diff --git a/src/IRCChannel.py b/src/IRCChannel.py index 6569450f..ed7064d7 100644 --- a/src/IRCChannel.py +++ b/src/IRCChannel.py @@ -117,6 +117,8 @@ class Channel(IRCObject.Object): self.server.send_mode(self.name, "-b", hostmask) def send_topic(self, topic): self.server.send_topic(self.name, topic) + def send_part(reason=None): + self.server.send_part(self.name, reason) def mode_or_above(self, user, mode): mode_orders = list(self.server.mode_prefixes.values()) |
