Добавить bash/installer.sh
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
BOT_SCRIPT_URL="https://raw.githubusercontent.com/YOURUSER/YOURREPO/main/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
|
||||
}
|
||||
|
||||
# Parse args
|
||||
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
|
||||
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"
|
||||
Reference in New Issue
Block a user