blob: 9006f79339097f7319f3e66ff1b4a278e9396c1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
"""
This plugin uses figlet to transform every message into a big ascii-art
message.
Installation
------------
You only have to load the plugin (and have :file:`figlet` installed, of course).
::
/load figlet
Usage
-----
Say something in a Chat tab.
.. note:: Can create fun things when used with :ref:`The rainbow plugin <rainbow-plugin>`.
"""
from plugin import BasePlugin
import subprocess
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)
def figletize(self, msg, tab):
process = subprocess.Popen(['figlet', '--', msg['body']], stdout=subprocess.PIPE)
result = process.communicate()[0].decode('utf-8')
msg['body'] = result
|