Files
Jogo3/iniciar.sh
T
2026-09-27 12:17:34 -03:00

118 lines
4.5 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)
HORA_INICIO=$(grep_val HORA_INICIO)
HORA_FIM=$(grep_val HORA_FIM)
# Configuração de cada envio automático
declare -a ENVIAR_ATIVO ENVIAR_INTERVALO ENVIAR_ARQUIVO ENVIAR_QUANTIDADE
for n in 1 2 3 4 5 6 7 8 9 10; do
ENVIAR_ATIVO[$n]=$(grep_val "ENVIAR${n}_ATIVO")
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")
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; 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 HORA_INICIO HORA_FIM
for n in 1 2 3 4 5 6 7 8 9 10; do
export "ENVIAR${n}_ATIVO=${ENVIAR_ATIVO[$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]}"
done
# ─── Python virtual env ──────────────────────────────────────────────────────
if [ ! -d venv ]; then
echo "[+] Criando ambiente virtual Python 3..."
python3 -m venv venv
fi
echo "[+] Ativando ambiente virtual..."
source venv/bin/activate
# ─── Dependências ──────────────────────────────────────────────────────────────
echo "[+] Instalando dependências..."
pip install --upgrade pip -q
pip install -r requirements.txt -q
# ─── 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 " Horário: ${HORA_INICIO:-08:00} - ${HORA_FIM:-22:00}"
echo ""
for n in 1 2 3 4 5 6 7 8 9 10; 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
echo " Envio Automático $n: $status"
echo " Intervalo: ${ENVIAR_INTERVALO[$n]:-1} min | Qtd: $qtd_info | Arquivo: ${ENVIAR_ARQUIVO[$n]:-ordens${n}.json}"
done
echo ""
echo "Pressione Ctrl+C para parar."
echo "----------------------------------------------"
python3 main.py