File size: 2,966 Bytes
1a25ebd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
// 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);
}
});
|