mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
Complete GDPR-compliant bot suite for Matrix: matrix-stats-bot (port 3312): - Analytics reports from Umami - Commands: !stats, !today, !week, !realtime, !users - Scheduled daily/weekly reports to Matrix room matrix-project-doc-bot (port 3313): - Project documentation with photos, voice, text - Voice transcription via OpenAI Whisper - Blog generation with 5 styles (casual, technical, tutorial, social, story) - Commands: !new, !projects, !switch, !status, !generate, !export - Uses PostgreSQL + S3 (MinIO) for storage Changes: - docker-compose.macmini.yml: Added both Matrix bots - health-check.sh: Added health checks for both bots Environment variables required: - MATRIX_STATS_BOT_TOKEN, MATRIX_PROJECT_DOC_BOT_TOKEN - OPENAI_API_KEY (for Project Doc Bot) https://claude.ai/code/session_01E3r5aFW3YLAhEJfsL2ryhv
1.3 KiB
1.3 KiB
Matrix Stats Bot - Claude Code Guidelines
Overview
Matrix Stats Bot delivers analytics from Umami (self-hosted) via Matrix. GDPR-compliant replacement for telegram-stats-bot.
Tech Stack
- Framework: NestJS 10
- Matrix: matrix-bot-sdk
- Analytics: Umami API
- Scheduling: @nestjs/schedule
Commands
pnpm install
pnpm start:dev # Development with hot reload
pnpm build # Production build
pnpm type-check # TypeScript check
Matrix Commands
| Command | Description |
|---|---|
!stats |
Overview of all apps (30 days) |
!today |
Today's statistics |
!week |
This week's statistics |
!realtime |
Active visitors right now |
!users |
Registered user statistics |
!help |
Show available commands |
Scheduled Reports
| Report | Schedule | Timezone |
|---|---|---|
| Daily | 09:00 | Europe/Berlin |
| Weekly | Monday 09:00 | Europe/Berlin |
Environment Variables
PORT=3312
TZ=Europe/Berlin
# Matrix
MATRIX_HOMESERVER_URL=http://localhost:8008
MATRIX_ACCESS_TOKEN=syt_xxx
MATRIX_REPORT_ROOM_ID=!roomid:mana.how
# Umami
UMAMI_API_URL=http://umami:3000
UMAMI_USERNAME=admin
UMAMI_PASSWORD=xxx
# Database (for user counts)
DATABASE_URL=postgresql://...
Health Check
curl http://localhost:3312/health