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.
This commit is contained in:
Executable
+129
@@ -0,0 +1,129 @@
|
||||
"""Gerador de Cenário Completo — combina múltiplos elementos aleatórios.
|
||||
|
||||
Diferente das ordens tradicionais que focam em um único tema, o Cenário
|
||||
Completo sorteia 6 componentes independentes (local, posição, acessório,
|
||||
duração, ação, regra) e monta uma ordem imersiva que combina tudo.
|
||||
"""
|
||||
|
||||
import random
|
||||
|
||||
# ── Componentes do cenário ──────────────────────────────────────────────────
|
||||
|
||||
LOCAIS = [
|
||||
"na cozinha, encostado na pia",
|
||||
"na sala, de frente para a janela",
|
||||
"no quarto, em cima da cama desfeita",
|
||||
"no banheiro, dentro do box",
|
||||
"na área de serviço, perto da máquina de lavar",
|
||||
"na varanda, à mostra para vizinhos",
|
||||
"no escritório, ao lado do computador",
|
||||
"no corredor, de joelhos",
|
||||
"na sala de jantar, embaixo da mesa",
|
||||
"no quintal, sob a luz do luar",
|
||||
"na garagem, com a porta aberta",
|
||||
"no sofá da sala, pelado e exposto",
|
||||
]
|
||||
|
||||
POSICOES = [
|
||||
"de quatro, com a bunda bem levantada",
|
||||
"em pé, com as mãos na nuca e pernas abertas",
|
||||
"sentado, com as pernas bem abertas",
|
||||
"deitado de bruços, com um travesseiro sob o quadril",
|
||||
"deitado de costas, com as pernas levantadas e abertas",
|
||||
"agachado, com os joelhos afastados",
|
||||
"ajoelhado, com as mãos para trás",
|
||||
"em pé, curvado para frente, mãos nos joelhos",
|
||||
"de lado, com a perna de cima levantada",
|
||||
"de quatro, com o peito no chão e a bunda para cima",
|
||||
]
|
||||
|
||||
ACESSORIOS = [
|
||||
"com o plug de metal enfiado no cú",
|
||||
"com o plug de próstata vibrando dentro",
|
||||
"com o masturbador ovo no pau",
|
||||
"com o vibrador ligado no talo",
|
||||
"com os dedos lubrificados enfiados no cú",
|
||||
"com uma vela acesa ao lado (cuidado com a cera)",
|
||||
"com gelo se derretendo na boca",
|
||||
"com a cueca na boca como mordaça",
|
||||
"com as mãos amarradas com uma gravata",
|
||||
"com o pau enfiado num lubrificante gelado",
|
||||
"com o plug fixo médio bem enfiado",
|
||||
"com os mamilos presos por pregadores",
|
||||
"sem acessório — apenas sua pele e sua vergonha",
|
||||
]
|
||||
|
||||
DURACOES = [
|
||||
"5 minutos", "10 minutos", "15 minutos",
|
||||
"20 minutos", "25 minutos", "30 minutos",
|
||||
"45 minutos", "1 hora",
|
||||
]
|
||||
|
||||
ACOES = [
|
||||
"bater punheta lentamente, sem pressa",
|
||||
"se masturbar olhando para o próprio reflexo",
|
||||
"fazer edging — chegar ao limite e parar 3 vezes",
|
||||
"se exibir para a janela, mostrando tudo",
|
||||
"se tocar inteiro, da cabeça aos pés",
|
||||
"contrair e relaxar o cu em ritmo constante",
|
||||
"se lamber onde alcançar, como um animal",
|
||||
"se espreguiçar e gemer, mostrando prazer",
|
||||
"mexer no pau sem tirar os olhos do teto",
|
||||
"esfregar o pau na própria coxa",
|
||||
"bater na própria bunda até ficar vermelha",
|
||||
"se filmar com o celular e se assistir depois",
|
||||
"falar em voz alta o que está sentindo",
|
||||
"contrair o cu em volta do plug 50 vezes",
|
||||
]
|
||||
|
||||
REGRAS = [
|
||||
"sem gozar. O gozo não é seu, é do Mestre.",
|
||||
"pode gozar no final, mas peça permissão primeiro.",
|
||||
"sem tirar o plug, custe o que custar.",
|
||||
"de olhos vendados — a escuridão amplifica o prazer.",
|
||||
"em silêncio absoluto — nem um gemido.",
|
||||
"olhando fixamente para um ponto na parede.",
|
||||
"sem usar as mãos no pau — só o plug e a imaginação.",
|
||||
"de joelhos — levantar é proibido durante a cena.",
|
||||
"cronometrando — se parar antes, recomeça do zero.",
|
||||
"com a porta aberta — qualquer um pode ver.",
|
||||
]
|
||||
|
||||
# ── Gerador principal ───────────────────────────────────────────────────────
|
||||
|
||||
|
||||
def gerar_cenario_completo():
|
||||
"""Gera um cenário completo combinando 6 elementos aleatórios.
|
||||
|
||||
Returns:
|
||||
str: Ordem imersiva com local, posição, acessório, duração,
|
||||
ação e regra.
|
||||
"""
|
||||
local = random.choice(LOCAIS)
|
||||
posicao = random.choice(POSICOES)
|
||||
acessorio = random.choice(ACESSORIOS)
|
||||
duracao = random.choice(DURACOES)
|
||||
acao = random.choice(ACOES)
|
||||
regra = random.choice(REGRAS)
|
||||
|
||||
linhas = [
|
||||
"═" * 48,
|
||||
" 🎪 CENÁRIO COMPLETO DO MESTRE",
|
||||
"═" * 48,
|
||||
"",
|
||||
f"📍 LOCAL: {local.upper()}",
|
||||
f"🧘 POSIÇÃO: {posicao.upper()}",
|
||||
f"🔧 ACESSÓRIO: {acessorio.upper()}",
|
||||
f"⏱️ DURAÇÃO: {duracao.upper()}",
|
||||
f"🎯 AÇÃO: {acao.upper()}",
|
||||
"",
|
||||
"─" * 48,
|
||||
" INSTRUÇÃO:",
|
||||
f" Vá até {local}. Fique {posicao}, {acessorio}.",
|
||||
f" Durante {duracao}, {acao}.",
|
||||
f" {regra}",
|
||||
"",
|
||||
f" [REGRA] {regra}",
|
||||
"═" * 48,
|
||||
]
|
||||
return "\n".join(linhas)
|
||||
Reference in New Issue
Block a user