package db_management import ( "database/sql" "time" _ "modernc.org/sqlite" ) var DB *sql.DB func InitDB() { var err error // Öffnet bot.db im aktuellen Verzeichnis DB, err = sql.Open("sqlite", "./bot.db") if err != nil { panic(err) } // Tabelle für einzelne Sessions statement := ` CREATE TABLE IF NOT EXISTS voice_sessions ( user_id TEXT, seconds INTEGER, created_at TIMESTAMP );` _, err = DB.Exec(statement) if err != nil { panic(err) } } func SaveSession(userID string, seconds int) { query := `INSERT INTO voice_sessions (user_id, seconds, created_at) VALUES (?, ?, ?)` DB.Exec(query, userID, seconds, time.Now()) } func GetUserStats(userID string) int { var total sql.NullInt64 // NullInt64 fängt NULL-Ergebnisse ab query := `SELECT SUM(seconds) FROM voice_sessions WHERE user_id = ? AND created_at > date('now', '-30 days')` err := DB.QueryRow(query, userID).Scan(&total) if err != nil || !total.Valid { return 0 } return int(total.Int64) }