poezio/plugins/figlet.py

29 lines
754 B
Python
Raw Normal View History

"""
This plugin uses figlet to transform every message into a big ascii-art
message.
Usage
-----
Say something in a Chat tab.
.. note:: Can create fun things when used with :ref:`The rainbow plugin <rainbow-plugin>`.
"""
from poezio.plugin import BasePlugin
2011-11-06 22:46:35 +00:00
import subprocess
2018-08-15 11:13:17 +00:00
2011-11-06 22:46:35 +00:00
class Plugin(BasePlugin):
def init(self):
self.api.add_event_handler('muc_say', self.figletize)
self.api.add_event_handler('conversation_say', self.figletize)
self.api.add_event_handler('private_say', self.figletize)
2011-11-06 22:46:35 +00:00
2011-11-09 13:29:13 +00:00
def figletize(self, msg, tab):
2018-08-15 11:13:17 +00:00
process = subprocess.Popen(
['figlet', '--', msg['body']], stdout=subprocess.PIPE)
2011-11-06 22:46:35 +00:00
result = process.communicate()[0].decode('utf-8')
msg['body'] = result