From 5338859e31068d83cf3c83dfc860c646c1ed42e8 Mon Sep 17 00:00:00 2001 From: jesopo Date: Fri, 6 May 2016 13:36:01 +0100 Subject: added a function to Utils to get the "closest" setting, with channel/user settings being more important than server-wide settings. --- Utils.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Utils.py') diff --git a/Utils.py b/Utils.py index 9cbc3a3f..6fef833b 100644 --- a/Utils.py +++ b/Utils.py @@ -174,3 +174,13 @@ def bool_or_none(s): return True elif s in IS_FALSE: return False + +def get_closest_setting(event, setting, default=None): + server = event["server"] + if "channel" in event: + closest = event["channel"] + elif "target" in event and "is_channel" in event and event["is_channel"]: + closest = event["target"] + else: + closest = event["user"] + return closest.get_setting(setting, server.get_setting(setting, default)) -- cgit v1.3.1-10-gc9f91