import sqlite3 import random DB_PATH = "./gacha_game.db" # Adjust if needed def get_db_connection(): conn = sqlite3.connect(DB_PATH) conn.row_factory = sqlite3.Row return conn def get_or_create_user(username): conn = get_db_connection() conn.row_factory = sqlite3.Row cur = conn.cursor() cur.execute('SELECT * FROM users WHERE username = ?', (username,)) user = cur.fetchone() if user: conn.close() return user['id'] # New user starts with has_rolled = False cur.execute( 'INSERT INTO users (username, has_rolled) VALUES (?, ?)', (username, False) ) conn.commit() user_id = cur.lastrowid conn.close() return user_id def add_pull(user_id, character_id): conn = get_db_connection() cur = conn.cursor() cur.execute('INSERT INTO pulls (user_id, character_id) VALUES (?, ?)', (user_id, character_id)) conn.commit() conn.close() def get_config(key): conn = get_db_connection() cur = conn.cursor() cur.execute("SELECT value FROM config WHERE key = ?", (key,)) row = cur.fetchone() conn.close() return row[0] if row else None def set_config(key, value): conn = get_db_connection() cur = conn.cursor() cur.execute("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)", (key, value)) conn.commit() conn.close()