fdfdf
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user