diff options
| author | 2020-03-08 14:14:34 +0000 | |
|---|---|---|
| committer | 2020-03-08 14:14:34 +0000 | |
| commit | 1d384dfd8b0e46e9a4ee82628d1a6499f158febe (patch) | |
| tree | 1de892c1ef58b1941f80195a1bcf9623b9a3f23b /src/core_modules | |
| parent | exports.get_one() -> exports.get() (diff) | |
| signature | ||
move _get_hostmask logic out in to banmask.py core module, for reuse
Diffstat (limited to 'src/core_modules')
| -rw-r--r-- | src/core_modules/banmask.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/core_modules/banmask.py b/src/core_modules/banmask.py new file mode 100644 index 00000000..bebe0d11 --- /dev/null +++ b/src/core_modules/banmask.py @@ -0,0 +1,23 @@ +from src import ModuleManager, utils + +SETTING = utils.Setting("ban-format", + "Set ban format " + "(${n} = nick, ${u} = username, ${h} = hostname, ${a} = account", + example="*!${u}@${h}") + +@utils.export("channelset", SETTING) +@utils.export("serverset", SETTING) +class Module(ModuleManager.BaseModule): + def _format_hostmask(self, user, s): + vars = {} + vars["n"] = vars["nickname"] = user.nickname + vars["u"] = vars["username"] = user.username + vars["h"] = vars["hostname"] = user.hostname + vars["a"] = vars["account"] = user.account or "" + return utils.parse.format_token_replace(s, vars) + @utils.export("ban-mask") + def banmask(self, server, channel, user): + format = channel.get_setting("ban-format", + server.get_setting("ban-format", "*!${u}@${h}")) + return self._format_hostmask(user, format) + |
