Add multi-tag personality archetype system

Replace single first-match archetype with comprehensive multi-tag system
spanning 25 archetypes across 8 categories (Communication, Temporal,
Emotional, Economy, Games, Adventure, Social). Archetypes are computed
nightly via cron job querying 15+ tables and cached in user_archetypes.
Thresholds calibrated against real community data. Integrates with
!personality, !superstatsexplusalpha, !whois, and milk carton flavor text.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-03-30 17:11:45 -07:00
parent 06153880e0
commit 2c6f4e48c9
7 changed files with 920 additions and 128 deletions

View File

@@ -235,5 +235,11 @@ func (p *PresencePlugin) handleWhois(ctx MessageContext) error {
sb.WriteString(" Status: 🟢 Online\n")
}
// Archetypes
archetypes := GetUserArchetypesLimited(string(targetUser))
if len(archetypes) > 0 && archetypes[0].Name != "Regular" {
sb.WriteString(fmt.Sprintf("\n🎭 %s\n", FormatArchetypeNames(archetypes)))
}
return p.SendMessage(ctx.RoomID, sb.String())
}