1. Problem: ogłoszenia to najrzadziej czytany typ wiadomości na Discordzie
Każdy administrator społeczności zna ten schemat. Piszesz staranne ogłoszenie, przypinasz je, pingujesz wszystkich, a w ciągu godziny zostaje ono pogrzebane pod memami i dwoma kłótniami. Discord to strumień w czasie rzeczywistym bez warstwy redakcyjnej. Członek, który sprawdził we wtorek, nigdy nie zobaczy tego, co opublikowałeś w poniedziałek.
Cotygodniowy przegląd zastępuje ten zakład inną umową. Zamiast wypychać więcej wiadomości do strumienia, wyciąga tydzień ze strumienia i publikuje go ponownie jako jeden ustrukturyzowany, łatwy do przejrzenia dokument. Przegląd jest generowany z rozmów członków, a nie z ogłoszeń administratora. To rozróżnienie sprawia, że nie przypomina on marketingu.
2. Potok: próbkowanie, grupowanie, pisanie, publikowanie
Zadanie Sovereign digest uruchamia się w każdy poniedziałek o 09:00 UTC. Próbkuje wiadomości z ostatnich 7 dni (do 100, zachowując tylko rzeczywistą treść dłuższą niż 3 znaki), ustala język docelowy z łańcucha priorytetów — język pulpitu nawigacyjnego, następnie ustawienia dzierżawcy, następnie preferowana lokalizacja gildii Discord, a następnie rezerwowy — i przekazuje próbkę do LLM zgodnie ze ścisłą umową promptową.
Ta umowa to kontrola jakości. Prompt zabrania korporacyjnego wypełniacza, ogranicza wynik do 15–20 linii i wymusza stałą trójblokową strukturę: kluczowe najważniejsze punkty (3–4 faktyczne punkty), zwycięstwa i metryki (2 krótkie punkty) oraz dwa priorytety na nadchodzący tydzień. Model jest instruowany, aby każdą linię opierać na rzeczywistych wiadomościach w próbce. Nie wymyśla benchmarków.
Opublikowany przegląd jest przechowywany z jego granicami tygodnia, podsumowaniem i najważniejszymi tematami, dzięki czemu ta sama treść może być odtwarzana jako e-mail z newsletterem, wątek na forum lub przypięta wiadomość kanału.
// 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. Publikacja: webhook założyciela, a nie post bota
Sovereign publikuje przegląd za pośrednictwem webhooka kanału ubranego w profil marki społeczności — nazwa i awatar założyciela lub firmy, nigdy nazwa użytkownika bota. Członkowie czytają to jako ludzki głos, co zmienia zarówno zaangażowanie, jak i zaufanie.
Discord ogranicza wiadomości do 2000 znaków, więc potok dzieli przegląd na fragmenty po 1900 znaków i publikuje je sekwencyjnie. Jeśli żaden webhook nie jest dostępny, bot wraca do normalnej wiadomości. Jeden mechanizm, dwie ścieżki, brak zduplikowanej logiki.
Prompt przeglądu wyraźnie zabrania korporacyjnego wypełniacza i ogólnego marketingu. Jeśli tydzień nie przyniósł żadnych prawdziwych najważniejszych punktów, przegląd o tym informuje. Uczciwy, słaby tydzień buduje większe zaufanie niż wymyślony, imponujący.