This commit is contained in:
2026-10-10 08:17:15 -03:00
parent 082cc680ab
commit fa5e0fa156
5 changed files with 72 additions and 29 deletions
+24 -5
View File
@@ -11,73 +11,92 @@ ENVIAR1_ATIVO=n
ENVIAR1_INTERVALO_MINUTOS=1
ENVIAR1_ARQUIVO_ORDENS=ordens1.json
ENVIAR1_QUANTIDADE_ORDENS=2
ENVIAR1_HORA_INICIO=08:00
ENVIAR1_HORA_FIM=22:00
# ═══ Envio Automático 2 ═════════════════════════════════════════════
ENVIAR2_ATIVO=n
ENVIAR2_INTERVALO_MINUTOS=1
ENVIAR2_ARQUIVO_ORDENS=ordens2.json
ENVIAR2_QUANTIDADE_ORDENS=2
ENVIAR2_HORA_INICIO=08:00
ENVIAR2_HORA_FIM=22:00
# ═══ Envio Automático 3 ═════════════════════════════════════════════
ENVIAR3_ATIVO=n
ENVIAR3_INTERVALO_MINUTOS=1
ENVIAR3_ARQUIVO_ORDENS=ordens3.json
ENVIAR3_QUANTIDADE_ORDENS=2
ENVIAR3_HORA_INICIO=08:00
ENVIAR3_HORA_FIM=22:00
# ═══ Envio Automático 4 ═════════════════════════════════════════════
ENVIAR4_ATIVO=n
ENVIAR4_INTERVALO_MINUTOS=10
ENVIAR4_ARQUIVO_ORDENS=ordens4.json
ENVIAR4_QUANTIDADE_ORDENS=2
ENVIAR4_HORA_INICIO=08:00
ENVIAR4_HORA_FIM=22:00
# ═══ Envio Automático 5 ═════════════════════════════════════════════
ENVIAR5_ATIVO=n
ENVIAR5_INTERVALO_MINUTOS=1
ENVIAR5_ARQUIVO_ORDENS=ordens5.json
ENVIAR5_QUANTIDADE_ORDENS=2
ENVIAR5_HORA_INICIO=08:00
ENVIAR5_HORA_FIM=22:00
# ═══ Envio Automático 6 ═════════════════════════════════════════════
ENVIAR6_ATIVO=n
ENVIAR6_INTERVALO_MINUTOS=1
ENVIAR6_ARQUIVO_ORDENS=ordens6.json
ENVIAR6_QUANTIDADE_ORDENS=2
ENVIAR6_HORA_INICIO=08:00
ENVIAR6_HORA_FIM=22:00
# ═══ Envio Automático 7 ═════════════════════════════════════════════
ENVIAR7_ATIVO=n
ENVIAR7_INTERVALO_MINUTOS=1
ENVIAR7_ARQUIVO_ORDENS=ordens7.json
ENVIAR7_QUANTIDADE_ORDENS=2
ENVIAR7_HORA_INICIO=08:00
ENVIAR7_HORA_FIM=22:00
# ═══ Envio Automático 8 ═════════════════════════════════════════════
ENVIAR8_ATIVO=n
ENVIAR8_INTERVALO_MINUTOS=1
ENVIAR8_ARQUIVO_ORDENS=ordens8.json
ENVIAR8_QUANTIDADE_ORDENS=2
ENVIAR8_HORA_INICIO=08:00
ENVIAR8_HORA_FIM=22:00
# ═══ Envio Automático 9 ═════════════════════════════════════════════
ENVIAR9_ATIVO=n
ENVIAR9_INTERVALO_MINUTOS=1
ENVIAR9_ARQUIVO_ORDENS=ordens9.json
ENVIAR9_QUANTIDADE_ORDENS=1
ENVIAR9_HORA_INICIO=08:00
ENVIAR9_HORA_FIM=22:00
# ═══ Envio Automático 10 ════════════════════════════════════════════
ENVIAR10_ATIVO=n
ENVIAR10_INTERVALO_MINUTOS=1
ENVIAR10_ARQUIVO_ORDENS=ordens10.json
ENVIAR10_QUANTIDADE_ORDENS=1
ENVIAR10_HORA_INICIO=08:00
ENVIAR10_HORA_FIM=22:00
# ═══ Envio Automático 11 — IA ═══════════════════════════════════════
ENVIAR11_ATIVO=s
ENVIAR11_INTERVALO_MINUTOS=1
ENVIAR11_ARQUIVO_ORDENS=ordens12.json
ENVIAR11_QUANTIDADE_ORDENS=1
# ═══ Horário de funcionamento (formato HH:MM, 24h) ═══════════════════
HORA_INICIO=08:00
HORA_FIM=22:00
ENVIAR11_HORA_INICIO=08:00
ENVIAR11_HORA_FIM=22:00
# OpenRouter AI
OPENROUTER_API_KEY=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
OPENROUTER_MODEL=cognitivecomputations/dolphin-mistral-24b-venice-edition
#OPENROUTER_MODEL=cognitivecomputations/dolphin-mistral-24b-venice-edition
OPENROUTER_MODEL=thedrummer/cydonia-24b-v4.1
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_TIMEOUT=60
+23 -4
View File
@@ -17,60 +17,81 @@ ENVIAR1_INTERVALO_MINUTOS=1
ENVIAR1_ARQUIVO_ORDENS=ordens1.json
# Quantidade de ordens enviadas POR CICLO (1 = uma por ciclo, 3 = três de uma vez a cada intervalo)
ENVIAR1_QUANTIDADE_ORDENS=1
# Horário específico deste envio (HH:MM, 24h)
# ENVIAR1_HORA_INICIO=08:00
# ENVIAR1_HORA_FIM=22:00
# ═══ Envio Automático 2 ═════════════════════════════════════════════
ENVIAR2_ATIVO=s
ENVIAR2_INTERVALO_MINUTOS=1
ENVIAR2_ARQUIVO_ORDENS=ordens2.json
ENVIAR2_QUANTIDADE_ORDENS=1
# ENVIAR2_HORA_INICIO=08:00
# ENVIAR2_HORA_FIM=22:00
# ═══ Envio Automático 3 ═════════════════════════════════════════════
ENVIAR3_ATIVO=s
ENVIAR3_INTERVALO_MINUTOS=1
ENVIAR3_ARQUIVO_ORDENS=ordens3.json
ENVIAR3_QUANTIDADE_ORDENS=1
# ENVIAR3_HORA_INICIO=08:00
# ENVIAR3_HORA_FIM=22:00
# ═══ Envio Automático 4 ═════════════════════════════════════════════
ENVIAR4_ATIVO=s
ENVIAR4_INTERVALO_MINUTOS=1
ENVIAR4_ARQUIVO_ORDENS=ordens4.json
ENVIAR4_QUANTIDADE_ORDENS=1
# ENVIAR4_HORA_INICIO=08:00
# ENVIAR4_HORA_FIM=22:00
# ═══ Envio Automático 5 ═════════════════════════════════════════════
ENVIAR5_ATIVO=s
ENVIAR5_INTERVALO_MINUTOS=1
ENVIAR5_ARQUIVO_ORDENS=ordens5.json
ENVIAR5_QUANTIDADE_ORDENS=1
# ENVIAR5_HORA_INICIO=08:00
# ENVIAR5_HORA_FIM=22:00
# ═══ Envio Automático 6 ═════════════════════════════════════════════
ENVIAR6_ATIVO=s
ENVIAR6_INTERVALO_MINUTOS=1
ENVIAR6_ARQUIVO_ORDENS=ordens6.json
ENVIAR6_QUANTIDADE_ORDENS=1
# ENVIAR6_HORA_INICIO=08:00
# ENVIAR6_HORA_FIM=22:00
# ═══ Envio Automático 7 ═════════════════════════════════════════════
ENVIAR7_ATIVO=s
ENVIAR7_INTERVALO_MINUTOS=1
ENVIAR7_ARQUIVO_ORDENS=ordens7.json
ENVIAR7_QUANTIDADE_ORDENS=1
# ENVIAR7_HORA_INICIO=08:00
# ENVIAR7_HORA_FIM=22:00
# ═══ Envio Automático 8 ═════════════════════════════════════════════
ENVIAR8_ATIVO=s
ENVIAR8_INTERVALO_MINUTOS=1
ENVIAR8_ARQUIVO_ORDENS=ordens8.json
ENVIAR8_QUANTIDADE_ORDENS=1
# ENVIAR8_HORA_INICIO=08:00
# ENVIAR8_HORA_FIM=22:00
# ═══ Envio Automático 9 ═════════════════════════════════════════════
ENVIAR9_ATIVO=s
ENVIAR9_INTERVALO_MINUTOS=1
ENVIAR9_ARQUIVO_ORDENS=ordens9.json
ENVIAR9_QUANTIDADE_ORDENS=1
# ENVIAR9_HORA_INICIO=08:00
# ENVIAR9_HORA_FIM=22:00
# ═══ Envio Automático 10 ════════════════════════════════════════════
ENVIAR10_ATIVO=s
ENVIAR10_INTERVALO_MINUTOS=1
ENVIAR10_ARQUIVO_ORDENS=ordens10.json
ENVIAR10_QUANTIDADE_ORDENS=1
# ENVIAR10_HORA_INICIO=08:00
# ENVIAR10_HORA_FIM=22:00
# ═══ Envio Automático 11 — IA (usando o modelo do .env) ═════════════
# Quando ARQUIVO_ORDENS aponta para ordens12.json ou prefixo ia_,
@@ -79,7 +100,5 @@ ENVIAR11_ATIVO=n
ENVIAR11_INTERVALO_MINUTOS=5
ENVIAR11_ARQUIVO_ORDENS=ordens12.json
ENVIAR11_QUANTIDADE_ORDENS=1
# ═══ Horário de funcionamento (formato HH:MM, 24h) ═══════════════════
HORA_INICIO=08:00
HORA_FIM=22:00
# ENVIAR11_HORA_INICIO=08:00
# ENVIAR11_HORA_FIM=22:00
Binary file not shown.
+8 -6
View File
@@ -25,16 +25,16 @@ 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
declare -a ENVIAR_ATIVO 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_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
@@ -54,12 +54,14 @@ for n in 1 2 3 4 5 6 7 8 9 10 11; do
fi
done
export TELEGRAM_TOKEN TELEGRAM_CHAT_ID SEXO IDADE HORA_INICIO HORA_FIM
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}_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 ──────────────────────────────────────────────────────────────
@@ -95,7 +97,6 @@ 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 11; do
status="❌ DESATIVADO"
@@ -106,8 +107,9 @@ for n in 1 2 3 4 5 6 7 8 9 10 11; do
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}"
echo " Envio Automático $n: $status"
echo " Intervalo: ${ENVIAR_INTERVALO[$n]:-1} min | Qtd: $qtd_info | Arquivo: ${ENVIAR_ARQUIVO[$n]:-ordens${n}.json}"
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."
+16 -13
View File
@@ -24,9 +24,6 @@ CHAT_ID = os.getenv("TELEGRAM_CHAT_ID", "")
SEXO = os.getenv("SEXO", "masculino").strip().lower()
IDADE = int(os.getenv("IDADE", "30"))
HORA_INICIO = os.getenv("HORA_INICIO", "00:00").strip()
HORA_FIM = os.getenv("HORA_FIM", "23:59").strip()
# ─── Config por tipo de envio ─────────────────────────────────────────────────
@dataclass
@@ -36,6 +33,8 @@ class ConfigEnvio:
intervalo_minutos: int
arquivo_ordens: str
quantidade_ordens: int # 0 = sem limite
hora_inicio: str
hora_fim: str
ia_mode: bool = False
@@ -51,6 +50,8 @@ def carregar_config_envio(numero: int) -> ConfigEnvio:
intervalo = int(os.getenv(f"{prefixo}INTERVALO_MINUTOS", "1"))
arquivo = os.getenv(f"{prefixo}ARQUIVO_ORDENS", f"ordens{numero}.json").strip()
quantidade = int(os.getenv(f"{prefixo}QUANTIDADE_ORDENS", "0"))
hora_inicio = os.getenv(f"{prefixo}HORA_INICIO", "00:00").strip()
hora_fim = os.getenv(f"{prefixo}HORA_FIM", "23:59").strip()
ia_mode = _detectar_ia_mode(arquivo)
return ConfigEnvio(
numero=numero,
@@ -58,6 +59,8 @@ def carregar_config_envio(numero: int) -> ConfigEnvio:
intervalo_minutos=intervalo,
arquivo_ordens=arquivo,
quantidade_ordens=quantidade,
hora_inicio=hora_inicio,
hora_fim=hora_fim,
ia_mode=ia_mode,
)
@@ -117,9 +120,9 @@ async def enviar_mensagem(bot: Bot, texto: str) -> None:
# ─── Verificação de horário ───────────────────────────────────────────────────
def dentro_do_horario() -> bool:
def dentro_do_horario(hora_inicio: str, hora_fim: str) -> bool:
agora = datetime.now().strftime("%H:%M")
return HORA_INICIO <= agora <= HORA_FIM
return hora_inicio <= agora <= hora_fim
# ─── Loop individual de envio ─────────────────────────────────────────────────
@@ -144,7 +147,7 @@ async def loop_envio(config: ConfigEnvio) -> None:
f"Intervalo: {config.intervalo_minutos} minuto(s)\n"
f"Ordens por ciclo: {config.quantidade_ordens}\n"
f"Modelo de IA: {os.getenv('OPENROUTER_MODEL', 'desconhecido')}\n"
f"Horário de funcionamento: {HORA_INICIO} - {HORA_FIM}\n\n"
f"Horário de funcionamento: {config.hora_inicio} - {config.hora_fim}\n\n"
f"DeepSeek está online e vai gerar cada ordem em tempo real.\n"
f"Prepare-se para obedecer a IA."
)
@@ -161,25 +164,25 @@ async def loop_envio(config: ConfigEnvio) -> None:
f"Ordens por ciclo: {config.quantidade_ordens}\n"
f"Arquivo de ordens: {config.arquivo_ordens}\n"
f"Total de ordens disponíveis: {len(ordens)}\n"
f"Horário de funcionamento: {HORA_INICIO} - {HORA_FIM}\n\n"
f"Horário de funcionamento: {config.hora_inicio} - {config.hora_fim}\n\n"
f"A(s) primeira(s) ordem(ns) será(ão) enviada(s) imediatamente.\n"
f"Prepare-se para cumprir todas as ordens."
)
await enviar_mensagem(bot, msg_start)
agora = datetime.now().strftime("%H:%M")
if not dentro_do_horario():
log.info("Horário atual %s fora da janela %s-%s. Aguardando...", agora, HORA_INICIO, HORA_FIM)
if not dentro_do_horario(config.hora_inicio, config.hora_fim):
log.info("Horário atual %s fora da janela %s-%s. Aguardando...", agora, config.hora_inicio, config.hora_fim)
await bot.send_message(
chat_id=CHAT_ID,
text=f"Horário atual ({agora}) fora da janela de ordens ({HORA_INICIO}-{HORA_FIM}).\n"
f"As ordens (envio {config.numero}) serão retomadas automaticamente às {HORA_INICIO}.",
text=f"Horário atual ({agora}) fora da janela de ordens ({config.hora_inicio}-{config.hora_fim}).\n"
f"As ordens (envio {config.numero}) serão retomadas automaticamente às {config.hora_inicio}.",
)
ordem_index = 0
while True:
if not dentro_do_horario():
log.info("Fora do horário de funcionamento (%s-%s). Aguardando...", HORA_INICIO, HORA_FIM)
if not dentro_do_horario(config.hora_inicio, config.hora_fim):
log.info("Fora do horário de funcionamento (%s-%s). Aguardando...", config.hora_inicio, config.hora_fim)
await asyncio.sleep(60)
continue