diff options
Diffstat (limited to 'src/core_modules/ircv3_metadata.py')
| -rw-r--r-- | src/core_modules/ircv3_metadata.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core_modules/ircv3_metadata.py b/src/core_modules/ircv3_metadata.py new file mode 100644 index 00000000..e0e6d387 --- /dev/null +++ b/src/core_modules/ircv3_metadata.py @@ -0,0 +1,16 @@ +from src import IRCBot, ModuleManager, utils + +CAP = utils.irc.Capability(None, "draft/metadata", alias="metadata") + +class Module(ModuleManager.BaseModule): + @utils.hook("received.cap.new") + @utils.hook("received.cap.ls") + def on_cap(self, event): + cap = CAP.copy() + cap.on_ack(lambda: self._ack(event["server"])) + return cap + + def _ack(self, server): + url = self.bot.get_setting("bot-url", IRCBot.SOURCE) + server.send_raw("METADATA * SET bot BitBot") + server.send_raw("METADATA * SET homepage :%s" % url) |
