-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb.py
More file actions
40 lines (36 loc) · 1.03 KB
/
db.py
File metadata and controls
40 lines (36 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# database.py
import sqlite3
from datetime import datetime
DB_NAME = "chat_history.db"
def init_db():
conn = sqlite3.connect(DB_NAME)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS chats (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_message TEXT,
bot_response TEXT,
timestamp TEXT
)
""")
conn.commit()
conn.close()
def save_chat(user_message: str, bot_response: str):
conn = sqlite3.connect(DB_NAME)
cursor = conn.cursor()
cursor.execute("""
INSERT INTO chats (user_message, bot_response, timestamp)
VALUES (?, ?, ?)
""", (user_message, bot_response, datetime.now().isoformat()))
conn.commit()
conn.close()
def get_chats(limit: int = 20):
conn = sqlite3.connect(DB_NAME)
cursor = conn.cursor()
cursor.execute("""
SELECT user_message, bot_response, timestamp
FROM chats ORDER BY id DESC LIMIT ?
""", (limit,))
rows = cursor.fetchall()
conn.close()
return rows