Files
Jogo/enviar_conto_erotico.py
marcocosta10000 594f1a5725 feat: initial commit of Sistema do Mestre application
Add complete Flask web application with Telegram bot integration,
multiple AI provider support (llama.cpp, OpenRouter, z.ai, StepFun),
extensive order banks for BDSM-themed gameplay, automated cron
scheduling, and responsive web UI with inference parameter controls.
2026-10-17 19:08:54 -03:00

107 lines
3.5 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Sistema de envio automático de Contos Eróticos para o Telegram.
Envia um conto erótico aleatório a cada 50 minutos.
Utiliza todos os geradores de contos do projeto.
"""
import logging
import os
import random
import sys
import time
import requests
from dados_bunda_cu import gerar_conto_bunda_cu
# ── Logging ──
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
logger = logging.getLogger("conto_erotico")
# ── Telegram ──
BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN", "")
CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID", "")
if not BOT_TOKEN or not CHAT_ID:
logger.error("TELEGRAM_BOT_TOKEN e TELEGRAM_CHAT_ID devem estar definidos no .env")
sys.exit(1)
TELEGRAM_API = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
def enviar_telegram(texto):
"""Envia uma mensagem de texto longa para o Telegram com timestamp.
Se o texto for muito grande, divide em partes e envia sequencialmente."""
agora = datetime.now().strftime("%d/%m/%Y %H:%M")
rodape = f"\n\n📅 {agora}"
max_len = 4000
# Anexa o timestamp na última parte
partes = [texto[i:i+max_len] for i in range(0, len(texto), max_len)]
if partes:
partes[-1] += rodape
for i, parte in enumerate(partes):
try:
resp = requests.post(TELEGRAM_API, json={
"chat_id": CHAT_ID,
"text": parte,
"parse_mode": "HTML",
}, timeout=15)
if resp.status_code != 200:
logger.warning("Telegram retornou %s (parte %d/%d): %s",
resp.status_code, i+1, len(partes), resp.text[:200])
else:
logger.info("Parte %d/%d do conto enviada ao Telegram.", i+1, len(partes))
except requests.RequestException as exc:
logger.error("Falha ao enviar parte %d/%d: %s", i+1, len(partes), exc)
# ── Geradores de contos ──
GERADORES = [
("📖 Exibindo Bunda e Cú", gerar_conto_bunda_cu),
]
def gerar_conto():
"""Seleciona um gerador aleatório e retorna o conto com cabeçalho."""
titulo, gerador = random.choice(GERADORES)
try:
conto = gerador()
except Exception as exc:
logger.exception("Erro ao gerar conto com %s", titulo)
conto = f"Erro ao gerar conto: {exc}"
return f"📖 <b>CONTO ERÓTICO</b> 🖤\n🎭 <b>{titulo}</b>\n\n{conto}"
def loop_principal():
"""Loop infinito que envia contos a cada 50 minutos."""
logger.info("📖 Sistema de Contos Eróticos iniciado.")
logger.info("Bot: @hermesjogo1000")
logger.info("Intervalo: 50 minutos entre contos.")
enviar_telegram("📖 SISTEMA DE CONTOS ERÓTICOS ATIVADO.\n"
"Contos serão enviados automaticamente a cada 50 minutos.")
while True:
try:
texto = gerar_conto()
logger.info("Enviando conto erótico...")
enviar_telegram(texto)
# Aguarda 50 minutos (3000 segundos)
logger.info("Aguardando 50 minutos até o próximo conto...")
time.sleep(50 * 60)
except KeyboardInterrupt:
logger.info("Sistema encerrado pelo usuário.")
enviar_telegram("📖 SISTEMA DE CONTOS ERÓTICOS DESATIVADO.")
break
except Exception as exc:
logger.exception("Erro no loop principal: %s", exc)
time.sleep(60)
if __name__ == "__main__":
loop_principal()