bitbot-3.11-fork/modules/strip_color.py

24 lines
1 KiB
Python

#--depends-on config
from src import ModuleManager, utils
@utils.export("serverset", {"setting": "strip-color",
"help": "Set whether I strip colors from my messages on this server",
"validate": utils.bool_or_none, "example": "on"})
@utils.export("channelset", {"setting": "strip-color",
"help": "Set whether I strip colors from my messages on in this channel",
"validate": utils.bool_or_none, "example": "on"})
class Module(ModuleManager.BaseModule):
@utils.hook("preprocess.send.privmsg")
@utils.hook("preprocess.send.notice")
def preprocess(self, event):
strip_color = event["server"].get_setting("strip-color", False)
target = event["line"].args[0]
if not strip_color and target in event["server"].channels:
channel = event["server"].channels.get(target)
strip_color = channel.get_setting("strip-color", False)
if strip_color:
message = event["line"].args.get(-1)
if not message == None:
event["line"].args[-1] = utils.irc.strip_font(message)