1. Problema: anunțurile sunt cel mai puțin citit tip de mesaj pe Discord
Fiecare administrator de comunitate cunoaște tiparul. Scrii un anunț atent, îl fixezi, dai ping tuturor și, în decurs de o oră, este îngropat sub meme-uri și două dispute. Discord este un flux în timp real, fără un strat editorial. Un membru care a verificat marți nu va vedea niciodată ce ai postat luni.
Un rezumat săptămânal înlocuiește acest pariu cu un contract diferit. În loc să împingă mai multe mesaje în flux, extrage săptămâna din flux și o republică sub forma unui document structurat, ușor de parcurs. Rezumatul este generat din conversațiile membrilor, nu din anunțurile administratorilor. Această distincție este ceea ce îl împiedică să pară marketing.
2. Fluxul de lucru: eșantionare, grupare, scriere, publicare
Procesul de generare a rezumatului Sovereign rulează în fiecare luni la 09:00 UTC. Eșantionează mesajele din ultimele 7 zile (până la 100, păstrând doar conținut real mai lung de 3 caractere), rezolvă limba țintă dintr-un lanț de priorități — limba tabloului de bord, apoi setările chiriașului, apoi localizarea preferată a ghildului Discord, apoi o soluție de rezervă — și predă eșantionul către LLM sub un contract strict de prompt.
Acest contract este controlul calității. Promptul interzice umplutura corporativă, limitează rezultatul la 15–20 de rânduri și impune o structură fixă din trei blocuri: puncte cheie (3–4 puncte factuale), victorii și metrici (2 puncte scurte) și două priorități pentru săptămâna următoare. Modelul este instruit să bazeze fiecare rând pe mesajele reale din eșantion. Nu inventează repere.
Rezumatul publicat este stocat cu limitele săptămânii, rezumatul și subiectele principale, astfel încât același conținut poate fi redat ca e-mail de newsletter, un fir de discuție pe forum sau un mesaj fixat pe canal.
// 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. Publicare: webhook-ul Fondatorului, nu o postare de bot
Sovereign publică rezumatul printr-un webhook de canal, personalizat cu profilul de brand al comunității — numele fondatorului sau al companiei și avatarul, niciodată numele de utilizator al botului. Membrii îl citesc ca o voce umană, ceea ce modifică atât implicarea, cât și încrederea.
Discord limitează mesajele la 2.000 de caractere, așa că fluxul de lucru fragmentează rezumatul la 1.900 și postează fragmentele în secvență. Dacă nu este disponibil un webhook, botul revine la un mesaj normal. Un mecanism, două căi, fără logică duplicată.
Promptul pentru rezumat interzice explicit umplutura corporativă și marketingul generic. Dacă săptămâna nu a produs puncte cheie reale, rezumatul o spune. O săptămână sinceră, mai puțin impresionantă, câștigă mai multă încredere decât una inventată, impresionantă.