diff options
| author | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2025-12-01 22:43:50 +0300 |
|---|---|---|
| committer | Maria Lisina <sekoohaka.sarisan@gmail.com> | 2025-12-01 22:44:03 +0300 |
| commit | 7cb5b7516b48946c44dfd29c6c494296707d10ee (patch) | |
| tree | 78ce7aa2df607d063d26bd2c478e0015006c021e | |
| parent | 4e3135b797252b7a209cfc807da8958fcbdc093a (diff) | |
units/user: Read lists dynamically to prevent high memory use
Signed-off-by: Maria Lisina <sekoohaka.sarisan@gmail.com>
| -rwxr-xr-x | bot.zsh | 18 | ||||
| -rw-r--r-- | units/user.zsh | 10 |
2 files changed, 7 insertions, 21 deletions
@@ -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 |
