from bot import IRCLine BOT = None def respond(ev,msg): target = ev.target if ev.target.startswith("#") else ev.hostmask.nick prefix = ev.hostmask.nick+": " if ev.target.startswith("#") else "" BOT.socket.send(IRCLine("PRIVMSG",target,prefix+msg)) from dictdata import DictData pronouns = DictData("pronouns.json") assocd = DictData("assoc_pronouns.json") def on_cmd_pronouns(event): if not BOT: return nick = event.hostmask.nick account = event.tags.get("account",nick) if len(event.parts)==1: if event.parts[0].lower() in "help set".split(): respond(event,f"Usage: {BOT.prefix}pronouns [nick] or {BOT.prefix}pronouns set ") return nick = event.parts[0].lower() account = assocd.get(nick,nick) elif len(event.parts)>1: if event.parts[0].lower()=="set": pronouns[account]=" ".join(event.parts[1:]) pn = pronouns.get(account,"not set") respond(event,f"Pronouns for {nick}: {pn}") def assoc(event): try: event = event.parsed assocd[event.hostmask.nick]=event.tags.get("account",event.hostmask.nick) except: pass def register(bot): global BOT BOT=bot bot.event_manager.on("command_pronouns",on_cmd_pronouns) bot.event_manager.on("raw_line",assoc)