45 lines
1.0 KiB
Python
45 lines
1.0 KiB
Python
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)
|