diff options
| author | 2019-02-15 19:58:51 +0000 | |
|---|---|---|
| committer | 2019-02-15 19:58:51 +0000 | |
| commit | e51c653c1e280331b7d540f755fcd6b7aa7a5389 (patch) | |
| tree | 7f37bee13cade0f04650164486b7f6f1b506c64a /modules/line_handler.py | |
| parent | Actually grab resume timestamp before it's overwritten (resume.py) (diff) | |
| signature | ||
Parse and print when we send QUIT commands (line_handler, print_activity)
Diffstat (limited to 'modules/line_handler.py')
| -rw-r--r-- | modules/line_handler.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/modules/line_handler.py b/modules/line_handler.py index 8a017ed7..d9ddbaad 100644 --- a/modules/line_handler.py +++ b/modules/line_handler.py @@ -290,17 +290,26 @@ class Module(ModuleManager.BaseModule): # a user has disconnected! @utils.hook("raw.received.quit") + @utils.hook("raw.send.quit") def quit(self, event): + nickname = None + if event["direction"] == Direction.RECV: + nickname = event["prefix"].nickname reason = event["args"].get(0) - if (not event["server"].is_own_nickname(event["prefix"].nickname) and - not event["prefix"].hostmask == "*"): - user = event["server"].get_user(event["prefix"].nickname) - event["server"].remove_user(user) - self._event(event, "quit", reason=reason, user=user, - server=event["server"]) + if event["direction"] == Direction.RECV: + nickname = event["prefix"].nickname + if (not event["server"].is_own_nickname(nickname) and + not event["prefix"].hostmask == "*"): + user = event["server"].get_user(nickname) + event["server"].remove_user(user) + self.events.on("received.quit").call(reason=reason, user=user, + server=event["server"]) + else: + event["server"].disconnect() else: - event["server"].disconnect() + self.events.on("send.quit").call(reason=reason, + server=event["server"]) def _match_caps(self, capabilities): return set(capabilities) & CAPABILITIES |
