#!/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; 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; 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; 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; 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