aboutsummaryrefslogtreecommitdiff
path: root/Utils.py
diff options
context:
space:
mode:
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))