aboutsummaryrefslogtreecommitdiff
path: root/src/core_modules/ircv3_metadata.py
blob: e0e6d38770494d6b7e5a7c72c535f94d862bb65d (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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)