c676c84bc1
Deploy Dashboard / deploy (push) Failing after 38s
- Telegram collector (Telethon MTProto) with checkpoint-based message fetching - Claude API summarization via proxy (haiku model) - Dashboard page with date picker, markdown summary, raw message drill-down - Separate container lifecycle from dashboard for stable Telethon sessions - Shared SQLite DB mounted read-only into dashboard
34 lines
1.0 KiB
Python
34 lines
1.0 KiB
Python
import aiosqlite
|
|
import os
|
|
|
|
DB_PATH = os.environ.get("DB_PATH", "/app/data/chat_summary.db")
|
|
|
|
async def init_db():
|
|
async with aiosqlite.connect(DB_PATH) as db:
|
|
await db.execute("""
|
|
CREATE TABLE IF NOT EXISTS messages (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
group_id INTEGER NOT NULL,
|
|
group_name TEXT,
|
|
sender_name TEXT,
|
|
text TEXT,
|
|
msg_id INTEGER,
|
|
timestamp DATETIME NOT NULL
|
|
)
|
|
""")
|
|
await db.execute("""
|
|
CREATE TABLE IF NOT EXISTS summaries (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
date TEXT UNIQUE NOT NULL,
|
|
content TEXT NOT NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
)
|
|
""")
|
|
await db.execute("""
|
|
CREATE TABLE IF NOT EXISTS checkpoints (
|
|
group_id INTEGER PRIMARY KEY,
|
|
last_msg_id INTEGER NOT NULL
|
|
)
|
|
""")
|
|
await db.commit()
|