import plugin from bot import IRCLine BOT = None def say(target,msg): BOT.socket.send(IRCLine("PRIVMSG",target,":"+msg)) class DefaultDict(dict): def __init__(self,f,takes_args=True): self.f = f self.takes_args = takes_args def __get__(self,k): if k not in self: if self.takes_args: self[k]=self.f(k) else: self[k]=self.f() return self[k] PREFIX = "regional_indicator_" mapping = dict() for letter in "abcdefghijklmnopqrstuvwxyz": mapping[letter]=":"+PREFIX+letter+":" mapping["a"]=":a:" mapping["b"]=":b:" mapping[" "]=" " def emojitext(event): if not BOT: return None channel = event.target if event.target.startswith("#") else event.hostmask.nick words = event.parts nick = event.hostmask.nick try: text = " ".join(words) say(nick," ".join([mapping[c] for c in text]).replace(":a: :b:",":ab:")) if channel!=nick: say(channel,nick+": PMed!") except Exception as e: say(nick,"ACCESS VIOLATON: "+e.__class__.__name__+": "+e.args[0]) def register(bot): global BOT BOT = bot bot.event_manager.on("command_emojitext",emojitext)