Files
Jogo3/iniciar.sh
T
2026-10-10 08:27:19 -03:00

124 lines
5.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
echo "=============================================="
echo " Jogo3 - Sistema Automático de Ordens"
echo "=============================================="
# ─── Verificar .env ───────────────────────────────────────────────────────────
if [ ! -f .env ]; then
echo "[!] Arquivo .env não encontrado."
echo " Copie e configure: cp .env.example .env"
exit 1
fi
# ─── Extrair valores do .env com grep (evita problemas com source) ───────────
grep_val() {
local var="$1"
grep -E "^${var}=" .env 2>/dev/null | head -1 | cut -d '=' -f2- | xargs || echo ""
}
TELEGRAM_TOKEN=$(grep_val TELEGRAM_TOKEN)
TELEGRAM_CHAT_ID=$(grep_val TELEGRAM_CHAT_ID)
SEXO=$(grep_val SEXO)
IDADE=$(grep_val IDADE)
# Configuração de cada envio automático
declare -a ENVIAR_ATIVO ENVIAR_IA ENVIAR_INTERVALO ENVIAR_ARQUIVO ENVIAR_QUANTIDADE ENVIAR_HORA_INICIO ENVIAR_HORA_FIM
for n in 1 2 3 4 5 6 7 8 9 10 11; do
ENVIAR_ATIVO[$n]=$(grep_val "ENVIAR${n}_ATIVO")
ENVIAR_IA[$n]=$(grep_val "ENVIAR${n}_IA")
ENVIAR_INTERVALO[$n]=$(grep_val "ENVIAR${n}_INTERVALO_MINUTOS")
ENVIAR_ARQUIVO[$n]=$(grep_val "ENVIAR${n}_ARQUIVO_ORDENS")
ENVIAR_QUANTIDADE[$n]=$(grep_val "ENVIAR${n}_QUANTIDADE_ORDENS")
ENVIAR_HORA_INICIO[$n]=$(grep_val "ENVIAR${n}_HORA_INICIO")
ENVIAR_HORA_FIM[$n]=$(grep_val "ENVIAR${n}_HORA_FIM")
done
if [ -z "$TELEGRAM_TOKEN" ] || [ "$TELEGRAM_TOKEN" = "seu_token_aqui" ]; then
echo "[!] TELEGRAM_TOKEN não configurado no .env"
exit 1
fi
if [ -z "$TELEGRAM_CHAT_ID" ] || [ "$TELEGRAM_CHAT_ID" = "seu_chat_id_aqui" ]; then
echo "[!] TELEGRAM_CHAT_ID não configurado no .env"
exit 1
fi
# Validação dos arquivos de ordens
for n in 1 2 3 4 5 6 7 8 9 10 11; do
if [ "${ENVIAR_ATIVO[$n]}" = "s" ] && [ ! -f "${ENVIAR_ARQUIVO[$n]}" ]; then
echo "[!] Arquivo de ordens '${ENVIAR_ARQUIVO[$n]}' não encontrado (envio automático $n)"
exit 1
fi
done
export TELEGRAM_TOKEN TELEGRAM_CHAT_ID SEXO IDADE
for n in 1 2 3 4 5 6 7 8 9 10 11; do
export "ENVIAR${n}_ATIVO=${ENVIAR_ATIVO[$n]}"
export "ENVIAR${n}_IA=${ENVIAR_IA[$n]}"
export "ENVIAR${n}_INTERVALO_MINUTOS=${ENVIAR_INTERVALO[$n]}"
export "ENVIAR${n}_ARQUIVO_ORDENS=${ENVIAR_ARQUIVO[$n]}"
export "ENVIAR${n}_QUANTIDADE_ORDENS=${ENVIAR_QUANTIDADE[$n]}"
export "ENVIAR${n}_HORA_INICIO=${ENVIAR_HORA_INICIO[$n]}"
export "ENVIAR${n}_HORA_FIM=${ENVIAR_HORA_FIM[$n]}"
done
# ─── Dependências ──────────────────────────────────────────────────────────────
echo "[+] Instalando dependências..."
# Garantir que pip está instalado (sistema Debian sem pip nativo)
if ! python3 -m pip --version >/dev/null 2>&1; then
echo "[+] Instalando pip via get-pip.py..."
curl -sS https://bootstrap.pypa.io/get-pip.py | python3 - --break-system-packages
fi
python3 -m pip install --upgrade pip -q --break-system-packages 2>/dev/null || true
python3 -m pip install -r requirements.txt -q --break-system-packages
# ─── Ativar /start do bot ────────────────────────────────────────────────────
echo "[+] Ativando /start no bot do Telegram..."
python3 << 'PYEOF'
import asyncio
import os
from telegram import Bot
async def start():
bot = Bot(token=os.environ['TELEGRAM_TOKEN'])
await bot.send_message(
chat_id=os.environ['TELEGRAM_CHAT_ID'],
text='Sistema de ordens iniciado!\n\nO bot esta online e comecara a enviar ordens em breve.'
)
print('[+] /start enviado com sucesso!')
asyncio.run(start())
PYEOF
# ─── Rodar o programa ─────────────────────────────────────────────────────────
echo "[+] Iniciando sistema de ordens..."
echo " Sexo: ${SEXO:-masculino} | Idade: ${IDADE:-30}"
echo ""
for n in 1 2 3 4 5 6 7 8 9 10 11; do
status="❌ DESATIVADO"
if [ "${ENVIAR_ATIVO[$n]}" = "s" ]; then
status="✅ ATIVO"
fi
qtd_info="sem limite"
if [ "${ENVIAR_QUANTIDADE[$n]}" -gt 0 ] 2>/dev/null; then
qtd_info="${ENVIAR_QUANTIDADE[$n]} ordens"
fi
hora_info="${ENVIAR_HORA_INICIO[$n]:-00:00}-${ENVIAR_HORA_FIM[$n]:-23:59}"
ia_tag=""
if [ "${ENVIAR_IA[$n]}" = "s" ]; then
ia_tag=" 🤖 IA"
fi
echo " Envio Automático $n: $status$ia_tag"
echo " Intervalo: ${ENVIAR_INTERVALO[$n]:-1} min | Qtd: $qtd_info | Horário: $hora_info | Arquivo: ${ENVIAR_ARQUIVO[$n]:-ordens${n}.json}"
done
echo ""
echo "Pressione Ctrl+C para parar."
echo "----------------------------------------------"
python3 main.py