Add a new replace_word plugin.
This commit is contained in:
parent
48aa8d0bda
commit
5038367b92
1 changed files with 46 additions and 0 deletions
46
plugins/replace_word.py
Normal file
46
plugins/replace_word.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
"""
|
||||
Replace some word with some other word in a message before sending it.
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
You only have to load the plugin.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
/load replace_word
|
||||
|
||||
Configuration example
|
||||
---------------------
|
||||
.. code-block:: ini
|
||||
|
||||
[replace_word]
|
||||
# How to appear casual in your daily conversations.
|
||||
yes = yep
|
||||
no = nope
|
||||
|
||||
Usage
|
||||
-----
|
||||
Just use the word in a message. It will be replaced automatically.
|
||||
|
||||
"""
|
||||
|
||||
from plugin import BasePlugin
|
||||
import tabs
|
||||
import re
|
||||
|
||||
class Plugin(BasePlugin):
|
||||
def init(self):
|
||||
self.api.add_event_handler('conversation_say', self.replace_pattern)
|
||||
self.api.add_event_handler('muc_say', self.replace_pattern)
|
||||
self.api.add_event_handler('private_say', self.replace_pattern)
|
||||
|
||||
def replace_pattern(self, message, tab):
|
||||
"""
|
||||
Look for a given word in the message and replace it by the corresponding word.
|
||||
"""
|
||||
body = message['body']
|
||||
for before in self.config.options("replace_word"):
|
||||
after = self.config.get(before, before)
|
||||
body = re.sub(r"\b%s\b" % before, after, body)
|
||||
message['body'] = body
|
Loading…
Reference in a new issue