aboutsummaryrefslogtreecommitdiff
path: root/Utils.py
diff options
context:
space:
mode:
authorGravatar jesopo2016-05-06 13:36:01 +0100
committerGravatar jesopo2016-05-06 13:36:01 +0100
commit5338859e31068d83cf3c83dfc860c646c1ed42e8 (patch)
tree4a171d106795ef74f89aa2cf597bcb3904110ab3 /Utils.py
parentadded wikipedia.py. (diff)
added a function to Utils to get the "closest" setting, with channel/user settings being more important than server-wide settings.
Diffstat (limited to 'Utils.py')
-rw-r--r--Utils.py10
1 files changed, 10 insertions, 0 deletions
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))