Добавить 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