aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaria Lisina <sekoohaka.sarisan@gmail.com>2025-12-01 22:43:50 +0300
committerMaria Lisina <sekoohaka.sarisan@gmail.com>2025-12-01 22:44:03 +0300
commit7cb5b7516b48946c44dfd29c6c494296707d10ee (patch)
tree78ce7aa2df607d063d26bd2c478e0015006c021e
parent4e3135b797252b7a209cfc807da8958fcbdc093a (diff)
units/user: Read lists dynamically to prevent high memory use
Signed-off-by: Maria Lisina <sekoohaka.sarisan@gmail.com>
-rwxr-xr-xbot.zsh18
-rw-r--r--units/user.zsh10
2 files changed, 7 insertions, 21 deletions
diff --git a/bot.zsh b/bot.zsh
index 13c264d..7f09acf 100755
--- a/bot.zsh
+++ b/bot.zsh
@@ -773,24 +773,6 @@ log_text="files/donate.txt"
donate_content="$(< "${files}/donate.txt")"
-log_text="files/aliases.txt"
-. "${units}/log.zsh"
-
-aliases_list="$(< "${files}/aliases.txt")"
-aliases_length=${#aliases_list}
-
-log_text="files/blacklist.txt"
-. "${units}/log.zsh"
-
-blacklist_list="$(< "${files}/blacklist.txt")"
-blacklist_length=${#blacklist_list}
-
-log_text="files/whitelist.txt"
-. "${units}/log.zsh"
-
-whitelist_list="$(< "${files}/whitelist.txt")"
-whitelist_length=${#whitelist_list}
-
strftime %s > "${cache}.timer"
log_text="Startup succeeded"
diff --git a/units/user.zsh b/units/user.zsh
index 64d1b2e..de22c76 100644
--- a/units/user.zsh
+++ b/units/user.zsh
@@ -2,19 +2,23 @@
# Copyright (C) 2024-2025 Danil Lisin
# SPDX-License-Identifier: Apache-2.0
+aliases_list="${files}/aliases.txt"
+blacklist_list="${files}/blacklist.txt"
+whitelist_list="${files}/whitelist.txt"
+
target_user="${user_id}"
-if [[ ${aliases_length} -gt 0 ]] && alias="$(grep -x "${user_id} .*" <<< "${aliases_list}")"
+if [[ -s "${aliases_list}" ]] && alias="$(grep -x "${user_id} .*" "${aliases_list}")"
then
user_id="$(cut -d ' ' -f 2 <<< "${alias}")"
fi
-if [[ ${blacklist_length} -gt 0 ]] && grep -qx "${user_id}" <<< "${blacklist_list}"
+if [[ -s "${blacklist_list}" ]] && grep -qx "${user_id}" "${blacklist_list}"
then
exit 0
fi
-if [[ ${whitelist_length} -gt 0 ]] && ! grep -qx "${user_id}" <<< "${whitelist_list}"
+if [[ -s "${whitelist_list}" ]] && ! grep -qx "${user_id}" "${whitelist_list}"
then
exit 0
fi