diff options
author | mathieui <mathieui@mathieui.net> | 2015-05-11 23:35:47 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2015-05-11 23:35:47 +0200 |
commit | 1914cfe00365e67e8d82554cd10d2e35f68ad60d (patch) | |
tree | 303d48315889b7e4012bd8b038c1ca6b821984ef /plugins | |
parent | af0fe9d2e45d6216f1cb0417b03dff7425f57c28 (diff) | |
download | poezio-1914cfe00365e67e8d82554cd10d2e35f68ad60d.tar.gz poezio-1914cfe00365e67e8d82554cd10d2e35f68ad60d.tar.bz2 poezio-1914cfe00365e67e8d82554cd10d2e35f68ad60d.tar.xz poezio-1914cfe00365e67e8d82554cd10d2e35f68ad60d.zip |
Add a cyberplugin
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/cyber.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/cyber.py b/plugins/cyber.py new file mode 100644 index 00000000..67d6cdc7 --- /dev/null +++ b/plugins/cyber.py @@ -0,0 +1,40 @@ +""" +This plugin adds a "cyber" prefix to a random word in your chatroom messages. + +Usage +----- + +Say something in a MUC tab. + +Configuration options +--------------------- + +.. glossary:: + + frequency + **Default:** ``10`` + + The percentage of the time the plugin will activate (randomly). 100 for every message, <= 0 for never. +""" + +from plugin import BasePlugin +from random import choice, randint +import re + + +DEFAULT_CONFIG = {'cyber': {'frequency': 10}} + +class Plugin(BasePlugin): + + default_config = DEFAULT_CONFIG + + def init(self): + self.api.add_event_handler('muc_say', self.cyberize) + + def cyberize(self, msg, tab): + if randint(1, 100) > self.config.get('frequency'): + return + words = [word for word in re.split('\W+', msg['body']) if len(word) > 3] + if words: + word = choice(words) + msg['body'] = msg['body'].replace(word, 'cyber' + word) |