80 lines
2.2 KiB
Bash
80 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# === Настройки ===
|
|
BOT_SCRIPT_URL="https://gitea.creative-tg1.ru/CREATIVE_tg1/server-bot-python/raw/branch/main/bash/bash-tg-bot.sh"
|
|
BOT_SCRIPT_NAME="bash_tg_bot.sh"
|
|
SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)"
|
|
BOT_SCRIPT="$SCRIPT_PATH/$BOT_SCRIPT_NAME"
|
|
SERVICE_FILE="/etc/systemd/system/bash_tg_bot.service"
|
|
|
|
set -e
|
|
|
|
# === Справка ===
|
|
show_help() {
|
|
echo "Usage: $0 --token TELEGRAM_BOT_TOKEN --user_id ALLOWED_TELEGRAM_ID"
|
|
exit 1
|
|
}
|
|
|
|
# === Разбор аргументов ===
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--token)
|
|
TG_TOKEN="$2"; shift 2;;
|
|
--user_id)
|
|
USER_ID="$2"; shift 2;;
|
|
*)
|
|
show_help;;
|
|
esac
|
|
done
|
|
|
|
[ -z "$TG_TOKEN" ] && show_help
|
|
[ -z "$USER_ID" ] && show_help
|
|
|
|
# === Проверка и установка jq ===
|
|
if ! command -v jq >/dev/null 2>&1; then
|
|
echo "Не найден jq. Устанавливаю..."
|
|
if command -v apt-get >/dev/null; then
|
|
sudo apt-get update && sudo apt-get install -y jq
|
|
elif command -v yum >/dev/null; then
|
|
sudo yum install -y jq
|
|
elif command -v dnf >/dev/null; then
|
|
sudo dnf install -y jq
|
|
else
|
|
echo "Пакетный менеджер не найден. Установите jq вручную."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# === Скачивание bash-скрипта бота ===
|
|
if [ ! -f "$BOT_SCRIPT" ]; then
|
|
echo "Скачиваю бота из $BOT_SCRIPT_URL..."
|
|
curl -fsSL "$BOT_SCRIPT_URL" -o "$BOT_SCRIPT" || {
|
|
echo "Ошибка загрузки $BOT_SCRIPT_URL"
|
|
exit 1
|
|
}
|
|
fi
|
|
chmod +x "$BOT_SCRIPT"
|
|
|
|
# === Создание systemd-сервиса ===
|
|
cat <<EOF | sudo tee "$SERVICE_FILE" > /dev/null
|
|
[Unit]
|
|
Description=Telegram Bash Control Bot
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
WorkingDirectory=$SCRIPT_PATH
|
|
ExecStart=$BOT_SCRIPT $TG_TOKEN $USER_ID
|
|
Restart=always
|
|
User=$USER
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable bash_tg_bot
|
|
sudo systemctl restart bash_tg_bot
|
|
|
|
echo "Бот установлен и добавлен в автозапуск!"
|
|
echo "Проверьте статус: sudo systemctl status bash_tg_bot" |