diff --git a/plugins/Topic/plugin.py b/plugins/Topic/plugin.py index b7f2c599d..20bd5389f 100644 --- a/plugins/Topic/plugin.py +++ b/plugins/Topic/plugin.py @@ -573,6 +573,24 @@ class Topic(callbacks.Plugin): self._sendTopics(irc, channel, topics) swap = wrap(swap, ['canChangeTopic', 'topicNumber', 'topicNumber']) + @internationalizeDocstring + def save(self, irc, msg, args, channel): + """[] + + Saves the topic in to be restored with @topic default + later. is only necessary if the message isn't sent in + the channel itself. + """ + if not self._checkManageCapabilities(irc, msg, channel): + capabilities = self.registryValue('requireManageCapability') + irc.errorNoCapability(capabilities, Raise=True) + topic = irc.state.getTopic(channel) + if topic: + self.setRegistryValue('default', value=topic, channel=channel) + else: + self.setRegistryValue('default', value='', channel=channel) + save = wrap(save, ['canChangeTopic']) + @internationalizeDocstring def default(self, irc, msg, args, channel): """[]