From 139c04040d55e2d742db4cfc2d64c9d23d6451e3 Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Sat, 14 Feb 2026 12:26:52 +0100 Subject: [PATCH] refactor(stats-bot): swap commands - !stats for personal, !global for global - !stats now shows personal stats (requires login) - !global now shows global Umami analytics - Update keywords and help text accordingly Co-Authored-By: Claude Opus 4.5 --- services/matrix-stats-bot/CLAUDE.md | 4 +-- .../src/bot/matrix.service.ts | 26 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/services/matrix-stats-bot/CLAUDE.md b/services/matrix-stats-bot/CLAUDE.md index 67e3da2a2..504b06646 100644 --- a/services/matrix-stats-bot/CLAUDE.md +++ b/services/matrix-stats-bot/CLAUDE.md @@ -26,14 +26,14 @@ pnpm type-check # TypeScript check | Command | Description | |---------|-------------| -| `!mystats` | Your personal statistics across all ManaCore apps | +| `!stats` | Your personal statistics across all ManaCore apps | | `!status` | Account status and credit balance | ### Global Analytics (Umami) | Command | Description | |---------|-------------| -| `!stats` | Overview of all apps (30 days) | +| `!global` | Overview of all apps (30 days) | | `!today` | Today's statistics | | `!week` | This week's statistics | | `!realtime` | Active visitors right now | diff --git a/services/matrix-stats-bot/src/bot/matrix.service.ts b/services/matrix-stats-bot/src/bot/matrix.service.ts index ef07869dc..11d89239b 100644 --- a/services/matrix-stats-bot/src/bot/matrix.service.ts +++ b/services/matrix-stats-bot/src/bot/matrix.service.ts @@ -19,7 +19,8 @@ export class MatrixService extends BaseMatrixService { private readonly keywordDetector = new KeywordCommandDetector([ ...COMMON_KEYWORDS, - { keywords: ['stats', 'statistik', 'statistiken', 'uebersicht'], command: 'stats' }, + { keywords: ['stats', 'statistik', 'statistiken', 'meinestats', 'mydata'], command: 'stats' }, + { keywords: ['global', 'alle', 'gesamt', 'uebersicht', 'overview'], command: 'global' }, { keywords: ['heute', 'today', 'tagesstatistik'], command: 'today' }, { keywords: ['woche', 'week', 'wochenstatistik'], command: 'week' }, { keywords: ['realtime', 'live', 'aktive', 'jetzt'], command: 'realtime' }, @@ -29,7 +30,6 @@ export class MatrixService extends BaseMatrixService { { keywords: ['traffic', 'requests', 'http', 'api'], command: 'traffic' }, { keywords: ['db', 'database', 'datenbank', 'postgres', 'redis'], command: 'db' }, { keywords: ['growth', 'wachstum', 'registrierungen'], command: 'growth' }, - { keywords: ['mystats', 'meinestats', 'meinedaten', 'mydata'], command: 'mystats' }, ]); constructor( @@ -110,7 +110,11 @@ export class MatrixService extends BaseMatrixService { break; case 'stats': - await this.sendStats(roomId); + await this.sendMyStats(roomId, sender); + break; + + case 'global': + await this.sendGlobalStats(roomId); break; case 'today': @@ -149,10 +153,6 @@ export class MatrixService extends BaseMatrixService { await this.sendGrowth(roomId); break; - case 'mystats': - await this.sendMyStats(roomId, sender); - break; - default: await this.sendMessage(roomId, `Unbekannter Befehl: !${command}\n\nVerwende !help`); } @@ -161,12 +161,12 @@ export class MatrixService extends BaseMatrixService { private async sendHelp(roomId: string) { const helpText = `**📊 ManaCore Stats Bot** -**Persönliche Stats:** -- \`!mystats\` - Deine persönlichen Statistiken -- \`!status\` - Account Status +**Deine Stats:** +- \`!stats\` - Deine persönlichen Statistiken +- \`!status\` - Account Status & Credits **Globale Analytics (Umami):** -- \`!stats\` - Übersicht aller Apps (30 Tage) +- \`!global\` - Übersicht aller Apps (30 Tage) - \`!today\` - Heutige Statistiken - \`!week\` - Wochenstatistiken - \`!realtime\` - Aktive Besucher jetzt @@ -186,8 +186,8 @@ export class MatrixService extends BaseMatrixService { await this.sendMessage(roomId, helpText); } - private async sendStats(roomId: string) { - await this.sendMessage(roomId, '📊 Lade Statistiken...'); + private async sendGlobalStats(roomId: string) { + await this.sendMessage(roomId, '📊 Lade globale Statistiken...'); try { const report = await this.analyticsService.generateStatsOverview(); await this.sendMessage(roomId, report);