diff --git a/index.php b/index.php
new file mode 100644
index 0000000..ac88f5a
--- /dev/null
+++ b/index.php
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ ChatGPT Assistent
+
+
+
+
+
ChatGPT Assistent
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/script.js b/script.js
index d422a36..4f5675a 100644
--- a/script.js
+++ b/script.js
@@ -3,6 +3,8 @@ document.addEventListener('DOMContentLoaded', () => {
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();
@@ -11,31 +13,82 @@ document.addEventListener('DOMContentLoaded', () => {
userInput.value = '';
try {
- const response = await fetch('api.php', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({ message: message }),
- });
-
- if (response.ok) {
- const data = await response.json();
- addMessage('Assistant', data.response);
+ if (!threadId) {
+ // Create a new thread
+ threadId = await createThread(message);
} else {
- throw new Error('Fehler bei der API-Anfrage');
+ // Post a message to the existing thread
+ await postMessageToThread(threadId, message);
}
} catch (error) {
- console.error('Fehler:', 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;
}
-});
\ No newline at end of file
+});