Add SQLite database for Telegram bot user/group settings

- Replace Redis/in-memory storage with SQLite for persistence
- Add database.ts service with tables for users, groups, purchases, participants
- Update state.ts and groupState.ts to use SQLite backend
- Fix buyer_name to use display name instead of Telegram ID
- Remove legacy reminder array handlers (now using 3-slot system)
- Add better-sqlite3 dependency, remove ioredis
- Update env.example with BOT_DATABASE_PATH option
- Add data/ directory to .gitignore for database files
This commit is contained in:
Michilis
2025-12-08 22:33:40 +00:00
parent dd6b26c524
commit 13fd2b8989
24 changed files with 3354 additions and 637 deletions

View File

@@ -7,8 +7,8 @@ API_BASE_URL=http://localhost:3000
# Frontend URL (for generating ticket links)
FRONTEND_BASE_URL=http://localhost:3001
# Redis Configuration (optional - falls back to in-memory if not set)
REDIS_URL=redis://localhost:6379
# SQLite Database Path (optional - defaults to ./data/bot.db)
# BOT_DATABASE_PATH=./data/bot.db
# Bot Configuration
MAX_TICKETS_PER_PURCHASE=100