diff options
| author | 2019-02-16 11:23:40 +0000 | |
|---|---|---|
| committer | 2019-02-16 11:23:40 +0000 | |
| commit | 342c1afa7e03cf98dd5ed3bae4e20b575cf5bb0f (patch) | |
| tree | 5fd512b6d62c62377354070f684cc8c8adbe0c18 | |
| parent | 'src/IRCServer.capabilities' -> 'src/IRCServer.agreed_capabilities' (diff) | |
| signature | ||
Keep a track of channels we're in, in case we RESUME and need to get channel
information (e.g. `chathistory`) (resume.py)
| -rw-r--r-- | modules/resume.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/resume.py b/modules/resume.py index 4b3352dc..de3e6951 100644 --- a/modules/resume.py +++ b/modules/resume.py @@ -33,6 +33,7 @@ class Module(ModuleManager.BaseModule): @utils.hook("received.resume") def on_resume(self, event): if event["args"][0] == "SUCCESS": + resume_channels = event["server"].get_setting("resume-channels", []) self.log.info("Successfully resumed session", []) elif event["args"][0] == "ERR": @@ -53,7 +54,17 @@ class Module(ModuleManager.BaseModule): @utils.hook("received.numeric.001") def on_connect(self, event): + event["server"].del_setting("resume-channels") + new_token = self._get_token(event["server"], new=True) if new_token: self._set_token(event["server"], new_token) self._del_token(event["server"], new=True) + + @utils.hook("self.join") + def on_join(self, event): + resume_channels = event["server"].get_settings("resume-channels", []) + channel_name = event["server"].irc_lower(event["channel"].name) + if not channel_name in resume_channels: + resume_channels.append(channel_name) + event["server"].set_setting("resume-channels", resume_channels) |
