package db import ( "database/sql" _ "modernc.org/sqlite" ) var Conn *sql.DB func Init() { var err error Conn, err = sql.Open("sqlite", "./bot.db") if err != nil { panic(err) } schema := ` CREATE TABLE IF NOT EXISTS clients ( id TEXT PRIMARY KEY, name TEXT, tier TEXT, msg_count INTEGER DEFAULT 0 ); CREATE TABLE IF NOT EXISTS appointments ( id INTEGER PRIMARY KEY AUTOINCREMENT, client_id TEXT, customer_phone TEXT, appointment_date TEXT, status TEXT DEFAULT 'confirmed' ); CREATE TABLE IF NOT EXISTS chats ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT DEFAULT 'New Chat', created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS messages ( id INTEGER PRIMARY KEY AUTOINCREMENT, chat_id INTEGER, role TEXT, -- 'user' or 'assistant' content TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY(chat_id) REFERENCES chats(id) );` Conn.Exec(schema) } func SaveAppointment(phone string, date string) error { _, err := Conn.Exec( "INSERT INTO appointments (customer_phone, appointment_date, status) VALUES (?, ?, ?)", phone, date, "confirmed", ) return err }