NEXAS's picture
Upload 14 files
1a25ebd verified
raw
history blame contribute delete
No virus
2.97 kB
// Function to send user input to ChatGPT API and handle response
async function sendMessageToChatGPT(message) {
try {
// Make a POST request to ChatGPT API with user input
const response = await fetch('https://api.openai.com/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_OPENAI_API_KEY' // Replace with your OpenAI API key
},
body: JSON.stringify({
model: 'text-davinci-002', // Sample model for demonstration
messages: [{ role: 'user', content: message }]
})
});
// Parse the response JSON
const data = await response.json();
// Extract the response message from the API response
const chatGPTResponse = data.choices[0].message.content;
// Return the response message
return chatGPTResponse;
} catch (error) {
// Handle any errors that occur during the API request
console.error('Error sending message to ChatGPT:', error);
return 'Sorry, there was an error. Please try again later.';
}
}
// Function to display conversation message
function displayMessage(role, content) {
// Create message container
const messageContainer = document.createElement('div');
messageContainer.classList.add('message', role);
// Create message text
const messageText = document.createElement('span');
messageText.textContent = content;
// Create copy button
const copyButton = document.createElement('button');
copyButton.textContent = 'Copy';
copyButton.classList.add('copy-button');
// Add click event listener to copy button
copyButton.addEventListener('click', function () {
// Copy message content to clipboard
navigator.clipboard.writeText(content)
.then(() => {
console.log('Content copied to clipboard:', content);
})
.catch((error) => {
console.error('Failed to copy content to clipboard:', error);
});
});
// Append elements to message container
messageContainer.appendChild(messageText);
messageContainer.appendChild(copyButton);
// Append message container to conversation
document.getElementById('conversation').appendChild(messageContainer);
}
// Event listener for submit button click
document.getElementById('submit').addEventListener('click', async function () {
const userInput = document.getElementById('input').value.trim();
if (userInput !== '') {
// Display user's message
displayMessage('user', userInput);
// Send user input to ChatGPT API and get response
const chatGPTResponse = await sendMessageToChatGPT(userInput);
// Display ChatGPT's response
displayMessage('chatgpt', chatGPTResponse);
}
});