diff options
Diffstat (limited to 'modules/ircv3_metadata.py')
| -rw-r--r-- | modules/ircv3_metadata.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/modules/ircv3_metadata.py b/modules/ircv3_metadata.py new file mode 100644 index 00000000..55193dce --- /dev/null +++ b/modules/ircv3_metadata.py @@ -0,0 +1,17 @@ +from src import IRCBot, ModuleManager, utils + +CAP = utils.irc.Capability(None, "draft/metadata") + +class Module(ModuleManager.BaseModule): + @utils.hook("received.cap.new") + @utils.hook("received.cap.ls") + def on_cap(self, event): + cap = CAP.copy() + if cap.available(event["capabilities"]): + 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) |
