1. O problema: anúncios são o tipo de mensagem menos lido no Discord
Todo administrador de comunidade conhece o padrão. Você escreve um anúncio cuidadoso, fixa-o, notifica a todos e, em uma hora, ele está enterrado sob memes e duas discussões. O Discord é um fluxo em tempo real sem camada editorial. Um membro que acessou na terça-feira nunca verá o que você publicou na segunda-feira.
Um resumo semanal substitui essa aposta por um contrato diferente. Em vez de empurrar mais mensagens para o fluxo, ele retira a semana do fluxo e a republica como um documento estruturado e fácil de ler. O resumo é gerado a partir de conversas de membros, não de anúncios do administrador. Essa distinção é o que impede que pareça marketing.
2. O pipeline: amostrar, agrupar, escrever, publicar
O trabalho de resumo do Sovereign é executado toda segunda-feira às 09:00 UTC. Ele amostra os últimos 7 dias de mensagens (até 100, mantendo apenas conteúdo real com mais de 3 caracteres), resolve o idioma de destino a partir de uma cadeia de prioridade — idioma do painel, depois configurações do inquilino, depois a localidade preferida da guilda do Discord, depois um fallback — e entrega a amostra ao LLM sob um contrato de prompt rigoroso.
Esse contrato é o controle de qualidade. O prompt proíbe preenchimento corporativo, limita a saída a 15–20 linhas e força uma estrutura fixa de três blocos: destaques principais (3–4 pontos factuais), vitórias e métricas (2 pontos curtos) e duas prioridades para a próxima semana. O modelo é instruído a basear cada linha nas mensagens reais da amostra. Ele não inventa benchmarks.
O resumo publicado é armazenado com seus limites de semana, resumo e principais tópicos, para que o mesmo conteúdo possa ser reproduzido como um e-mail de newsletter, um tópico de fórum ou uma mensagem de canal fixada.
// Language resolution: dashboard UI > tenant settings > guild locale > fallback
const LANG_PRIORITY = [targetLang, settings.language, guildLocale, 'fr'];
const effectiveLang = LANG_PRIORITY.find(Boolean);
// 7-day sampling window, max 100 messages, real content only
const weekStart = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
const sample = await prisma.unifiedMessage.findMany({
where: { member: { tenantId }, createdAt: { gte: weekStart } },
orderBy: { createdAt: 'asc' },
take: 100
});
// Prompt contract enforced on the LLM:
// 1. Key highlights: 3-4 factual bullets taken from real messages
// 2. Wins & metrics: 2 short points
// 3. Focus for the week: 2 priorities
// Hard cap: 15-20 lines. Corporate filler: forbidden.3. Publicação: o webhook do Fundador, não uma postagem de bot
Sovereign publica o resumo através de um webhook de canal com o perfil da marca da comunidade — nome e avatar do fundador ou da empresa, nunca o nome de usuário do bot. Os membros o leem como uma voz humana, o que altera tanto o engajamento quanto a confiança.
O Discord limita as mensagens a 2.000 caracteres, então o pipeline divide o resumo em blocos de 1.900 e os publica em sequência. Se nenhum webhook estiver disponível, o bot retorna a uma mensagem normal. Um mecanismo, dois caminhos, sem lógica duplicada.
O prompt do resumo proíbe explicitamente preenchimento corporativo e marketing genérico. Se a semana não produziu destaques reais, o resumo o diz. Uma semana honestamente 'magra' ganha mais confiança do que uma inventada e impressionante.