v2.3.1: admin management (auto-register first admin, /addadmin, /deladmin, menu button)

This commit is contained in:
anten-ka
2026-04-09 10:46:50 +03:00
parent a21d2ebea2
commit 046a08fdb6
2 changed files with 290 additions and 32 deletions

View File

@@ -799,14 +799,20 @@ bot_install() {
[ -z "$token" ] && log_error "Токен не может быть пустым"
done
echo -ne " ${WHITE}ID администратора (Enter = доступ для всех):${NC} "
read -r admin_id
echo -ne " ${WHITE}ID администраторов (через пробел/запятую, Enter = авто):${NC} "
read -r admin_ids
# Нормализуем: пробелы и запятые → запятые
admin_ids=$(echo "$admin_ids" | tr ' ' ',' | sed 's/,,*/,/g; s/^,//; s/,$//')
{
echo "BOT_TOKEN=$token"
[ -n "$admin_id" ] && echo "ALLOWED_IDS=$admin_id"
[ -n "$admin_ids" ] && echo "ALLOWED_IDS=$admin_ids"
} > "$BOT_DIR/.env"
if [ -z "$admin_ids" ]; then
echo -e " ${YELLOW}Авто-режим: первый кто напишет /start станет админом${NC}"
fi
chmod 600 "$BOT_DIR/.env"
log_success ".env создан"
else
@@ -908,9 +914,10 @@ bot_edit_config() {
fi
;;
2)
echo -ne " ${WHITE}ALLOWED_IDS (через запятую, пусто = все):${NC} "
echo -ne " ${WHITE}ALLOWED_IDS (через пробел/запятую, пусто = авто):${NC} "
read -r new_ids
new_ids=$(echo "$new_ids" | tr -d '[:space:]')
# Нормализуем: пробелы и запятые → запятые, убираем лишнее
new_ids=$(echo "$new_ids" | tr ' ' ',' | sed 's/,,*/,/g; s/^,//; s/,$//')
if grep -q "^ALLOWED_IDS=" "$BOT_DIR/.env" 2>/dev/null; then
if [ -n "$new_ids" ]; then
sed -i "s|^ALLOWED_IDS=.*|ALLOWED_IDS=$new_ids|" "$BOT_DIR/.env"