chatbot-url / chat-url
Zeroxdesignart's picture
Create chat-url
c4f4b3e
raw
history blame contribute delete
No virus
3.53 kB
<html>
<head>
<title>URL-based Chatbot</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h2> made by zeroxdesignart.com<h2>
<h1>URL-based Chatbot</h1>
<div id="chatContainer" class="card">
<div class="card-body" id="chatBody">
<div class="mb-3">
<label for="urlInput" class="form-label">Enter URL:</label>
<input type="text" class="form-control" id="urlInput">
</div>
<div id="chatMessages"></div>
<div id="loadingIndicator" style="display: none;">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
</div>
<div class="card-footer">
<div class="input-group">
<input type="text" class="form-control" id="messageInput">
<button class="btn btn-primary" id="sendMessageButton">Send</button>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"></script>
<script>
const chatContainer = document.getElementById('chatContainer');
const chatBody = document.getElementById('chatBody');
const chatMessages = document.getElementById('chatMessages');
const urlInput = document.getElementById('urlInput');
const messageInput = document.getElementById('messageInput');
const sendMessageButton = document.getElementById('sendMessageButton');
const loadingIndicator = document.getElementById('loadingIndicator');
const apiUrl = 'https://www.literallyanything.io/api/integrations/chatgpt';
function addMessage(content, role) {
const messageDiv = document.createElement('div');
messageDiv.classList.add('alert', 'alert-primary');
messageDiv.role = 'alert';
messageDiv.textContent = content;
messageDiv.style.wordWrap = 'break-word';
if (role === 'assistant') {
messageDiv.classList.add('text-end');
}
chatMessages.appendChild(messageDiv);
chatBody.scrollTop = chatBody.scrollHeight;
}
async function sendMessage() {
const url = urlInput.value.trim();
const message = messageInput.value.trim();
if (!url) {
alert('Please enter a URL');
return;
}
if (!message) {
alert('Please enter a message');
return;
}
addMessage(`User: ${message}`, 'user');
messageInput.value = '';
showLoadingIndicator();
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
systemPrompt: `The user provided a URL: ${url}`,
prompts: [
{ role: 'user', content: message }
]
})
});
const data = await response.json();
const assistantResponse = data.response;
addMessage(`Assistant: ${assistantResponse}`, 'assistant');
} catch (error) {
console.error(error);
alert('An error occurred. Please try again.');
}
hideLoadingIndicator();
}
function showLoadingIndicator() {
loadingIndicator.style.display = 'block';
}
function hideLoadingIndicator() {
loadingIndicator.style.display = 'none';
}
sendMessageButton.addEventListener('click', sendMessage);
</script>
</body>
</html>