diff --git a/db.js b/db.js index 66b9320..8cf088b 100644 --- a/db.js +++ b/db.js @@ -19,6 +19,7 @@ db.exec(` sender_token TEXT UNIQUE NOT NULL, tts_voice TEXT NOT NULL DEFAULT 'ru-RU-DmitryNeural', display_duration_seconds INTEGER NOT NULL DEFAULT 10, + ai_name TEXT NOT NULL DEFAULT 'Альтушка Ирина', created_at INTEGER NOT NULL ); @@ -36,6 +37,9 @@ const existingColumns = db.prepare('PRAGMA table_info(streamers)').all().map((c) if (!existingColumns.includes('display_duration_seconds')) { db.exec('ALTER TABLE streamers ADD COLUMN display_duration_seconds INTEGER NOT NULL DEFAULT 10'); } +if (!existingColumns.includes('ai_name')) { + db.exec("ALTER TABLE streamers ADD COLUMN ai_name TEXT NOT NULL DEFAULT 'Альтушка Ирина'"); +} function generateToken() { return crypto.randomBytes(16).toString('hex'); @@ -86,6 +90,10 @@ function updateDisplayDuration(streamerId, seconds) { db.prepare('UPDATE streamers SET display_duration_seconds = ? WHERE id = ?').run(seconds, streamerId); } +function updateAiName(streamerId, aiName) { + db.prepare('UPDATE streamers SET ai_name = ? WHERE id = ?').run(aiName, streamerId); +} + module.exports = { findStreamerByOverlayToken, findStreamerBySenderToken, @@ -93,4 +101,5 @@ module.exports = { getViewerName, setViewerName, updateDisplayDuration, + updateAiName, }; diff --git a/public/dashboard.html b/public/dashboard.html index a79e50b..795a6c9 100644 --- a/public/dashboard.html +++ b/public/dashboard.html @@ -61,6 +61,9 @@ border: 1px solid #ccc; border-radius: 6px; } + .settings-row input#ai-name { + width: 220px; + } .settings-row button { padding: 8px 16px; cursor: pointer; @@ -101,11 +104,22 @@
Как зовут вашего ИИ-помощника, который отвечает зрителям (по умолчанию «Альтушка Ирина»).
+выйти