aboutsummaryrefslogtreecommitdiff
path: root/modules/ircv3_metadata.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/ircv3_metadata.py')
-rw-r--r--modules/ircv3_metadata.py17
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)