dr.botzo/text_manip/zalgo.py

43 lines
1.2 KiB
Python

"""Turn text into zalgo text."""
import logging
import irc.client
from zalgo_text import zalgo
from ircbot.lib import Plugin
logger = logging.getLogger(__name__)
class Zalgo(Plugin):
"""Zalgoify text on demand."""
zalgo_regex = r'^!zalgo\s+(.*)$'
def start(self):
"""Set up the handlers."""
logger.debug("%s starting up", __name__)
self.connection.reactor.add_global_regex_handler(['pubmsg', 'privmsg'], self.zalgo_regex,
self.zalgofy, 0)
super(Zalgo, self).start()
def stop(self):
"""Tear down handlers."""
logger.debug("%s shutting down", __name__)
self.connection.reactor.remove_global_regex_handler(['pubmsg', 'privmsg'], self.zalgofy)
super(Zalgo, self).stop()
def zalgofy(self, connection, event, match):
"""Turn text into zalgo text."""
who = irc.client.NickMask(event.source).nick
what = match.group(1)
logger.debug("%s requested zelgo text for %s", who, what)
zalgoed = zalgo.zalgo().zalgofy(what)
self.bot.reply(event, f"{zalgoed}")
return 'NO MORE'
plugin = Zalgo