document.addEventListener('DOMContentLoaded', () => { const chatForm = document.getElementById('chat-form'); const userInput = document.getElementById('user-input'); const chatMessages = document.getElementById('chat-messages'); let threadId; // Variable to store the thread ID chatForm.addEventListener('submit', async (e) => { e.preventDefault(); const message = userInput.value.trim(); if (message) { addMessage('User', message); userInput.value = ''; try { if (!threadId) { // Create a new thread threadId = await createThread(message); } else { // Post a message to the existing thread await postMessageToThread(threadId, message); } } catch (error) { console.error('Error:', error); addMessage('System', 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.'); } } }); async function createThread(message) { try { const response = await fetch('https://api.openai.com/v1/threads', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${OPENAI_API_KEY}` }, body: JSON.stringify({ "messages": [ { "role": "user", "content": message } ] }) }); if (response.ok) { const data = await response.json(); addMessage('Assistant', data.choices[0].message.content); return data.id; } else { throw new Error('Fehler bei der Erstellung des Threads'); } } catch (error) { throw error; } } async function postMessageToThread(threadId, message) { try { const response = await fetch(`https://api.openai.com/v1/threads/${threadId}/messages`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${OPENAI_API_KEY}` }, body: JSON.stringify({ "messages": [ { "role": "user", "content": message } ] }) }); if (response.ok) { const data = await response.json(); addMessage('Assistant', data.choices[0].message.content); } else { throw new Error('Fehler beim Posten der Nachricht'); } } catch (error) { throw error; } } function addMessage(sender, message) { const messageElement = document.createElement('div'); messageElement.innerHTML = `${sender}: ${message}`; chatMessages.appendChild(messageElement); chatMessages.scrollTop = chatMessages.scrollHeight; } });