Pular para o conteúdo

carros elétricos

document.addEventListener('DOMContentLoaded', function() { const chatBox = document.getElementById('chat-box'); const userInput = document.getElementById('user-input'); const sendButton = document.getElementById('send-button'); const copyButton = document.getElementById('copy-button'); const apiKey = 'sk-TBelSZ4YYsOnXoJihrvI7kK1M688MyK3eAJacM7DpAT3BlbkFJ5Mddk1tv2OdJ8nT1jPvzLXJLY7nNsd0GPqCFOYt3cA’ // Função para enviar a mensagem e obter a resposta da API async function sendMessage(message) { console.log("Função sendMessage chamada com a mensagem: ", message); // Verificar se a função é chamada // Adicionar a mensagem do usuário na tela appendMessage('Você: ' + message, 'user-message'); try { // Chamar a API da OpenAI console.log("Enviando solicitação para API da OpenAI..."); const response = await fetch('https://api.openai.com/v1/chat/completions', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKey}` }, body: JSON.stringify({ model: 'gpt-4', messages: [{ role: 'user', content: message }], max_tokens: 500 }) }); // Verificar se a resposta é bem-sucedida if (response.ok) { const data = await response.json(); console.log("Resposta da API: ", data); const gptMessage = data.choices[0].message.content; appendMessage('GPT-4: ' + gptMessage, ''); } else { console.error("Erro na resposta da API: ", response); appendMessage('Erro ao obter resposta da API.', ''); } } catch (error) { console.error('Erro de rede ou outra falha: ', error); appendMessage('Erro ao se comunicar com o servidor.', ''); } } // Função para adicionar uma mensagem no chat e rolar automaticamente para baixo function appendMessage(message, className) { const p = document.createElement('p'); p.textContent = message; if (className) p.classList.add(className); chatBox.appendChild(p); chatBox.scrollTop = chatBox.scrollHeight; // Rolar automaticamente para o final } // Verificar se o botão está sendo clicado sendButton.addEventListener('click', () => { console.log("Botão Enviar clicado"); // Verificar se o botão é clicado const message = userInput.value; if (message.trim() !== '') { sendMessage(message); userInput.value = ''; // Limpar o campo de input após o envio } else { console.log("Mensagem está vazia, não foi enviada"); } }); // Permitir pressionar Enter para enviar a mensagem userInput.addEventListener('keypress', (event) => { if (event.key === 'Enter') { sendButton.click(); } }); // Função para copiar a conversa copyButton.addEventListener('click', () => { const conversation = chatBox.textContent; navigator.clipboard.writeText(conversation).then(() => { alert('Conversa copiada para a área de transferência!'); }).catch(err => { console.error('Erro ao copiar a conversa: ', err); }); }); });