diff options
| -rw-r--r-- | app.py | 5 | ||||
| -rw-r--r-- | config.py | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -49,9 +49,14 @@ def fetch_teamspeak_data(cfg): client_list = clients_json.get("body") or [] + afk_threshold = cfg.get("afk_status_max_clients") + fetch_afk_status = afk_threshold is None or len(client_list) <= afk_threshold + for client in client_list: clid = client.get("clid") nickname = client.get("client_nickname") + if not fetch_afk_status: + continue if clid and nickname != "serveradmin": client_info_res = requests.get( f"{base_url}/clientinfo?clid={clid}", @@ -17,6 +17,7 @@ CONFIG = { "ts_domain": os.environ.get("TS_HOST", ""), # Used by the connect button "cache_time": 30, # Refresh interval in seconds (anti-spam) "cache_file": BASE_DIR / "cache.json", + "afk_status_max_clients": 3, # Skip per-client clientinfo (AFK/streaming) calls when client count exceeds this (due to potential rate limits) }, # Main design and copy |
