Create Working Chatbot in HTML CSS and JavaScript | Chatbot HTML CSS JavaScript
In this video tutorial, I've shown how to create a working chatbot using HTML, CSS, and JavaScript. In this chatbot, you can ask any question and receive instant responses. This chatbot is also responsive, which means you can use it on your phone too.
Create your own ChatGPT in HTML CSS & JavaScript
Watch: • Create Your Own ChatGP...
🗂️ Get Source Code of this Chatbot
➤ buymeacoffee.com/codingnepal/...
🌐 Visit CodingNepal for helpful coding projects
➤ www.codingnepalweb.com
⭐ Hire me on Fiverr
➤ www.fiverr.com/prakashahi
📷 Follow me on Instagram
➤ / coding.np
🤝 Support my work with a coffee
➤ buymeacoffee.com/codingnepal
Timestamps:
0:00 Chatbot Demo
1:57 HTML & CSS Start
16:14 JavaScript Start
17:29 Adding User Message to the Chatbox
21:00 Generating Response for User Messages
26:19 Auto-Scrolling the Chatbox
29:27 Toggling Chatbot Visibility with Button Click
33:23 Enabling Textarea Auto-Resize
#javascript #html #css #javascriptprojects #js #chatbot
Music Credit:
Ikson - We Are Free [Official]
• #83 We Are Free (Offic...
Miss You - LiQWYD
• Miss You - LiQWYD (No ...
Those Restless Nights - Artificial.Music
• Those Restless Nights ...
Ehrling - You And Me (Vlog No Copyright Music)
• Ehrling - You And Me (...
Пікірлер: 253
Create AI Image Generator Website in HTML CSS and JavaScript: kzread.info/dash/bejne/mHWT1rmwgLDHoLA.html Create your own ChatGPT in HTML CSS and JavaScript: kzread.info/dash/bejne/k6h_1qlraczYn7w.html
@longathelstan
Жыл бұрын
Can you share source code
@muhammadvitoni1802
Жыл бұрын
an error occurred even though I entered the API_keys correctly is there any solution for that?
@living._truth3270
8 ай бұрын
how would you modify this to work as a livechat instead of a chat bot
@zainslamdien8138
18 күн бұрын
@@muhammadvitoni1802 Check your restrictions.
Awesome, I can't believe it, never though I would do something like this even though I'm just calling an API, it's still very cool. Great work bro, the amount of projects in this channel is just insane! this cannel is really underrated, nice video.
@gamingarea9011
6 ай бұрын
is the API is free ? and if it is free then for how long ?
I have been looking for this dude, Thank you so much!!
You are the best, I send you a hug from Colombia. 🙌
Awesome Tutorial 👍
Most awesome tutorial ever!
THIS IS THE MOSSTTT UNDERRATEDDD KZreadE VIDEOO I HAVE EVERRR SEEEEEEEN IN MY ENTIRE LIFFEEEEE!!!!!!!!!!!!!!! THANKK YOUUUUUUU!!!!!!!!!! SOOOOOOOOO MUCHCHHHHHHCHCHCHCHC!H!!! Incrediblyyy Helpful!!!
Thank You So Much 🤗 Amazing Project For Me... i learnt so many things from it.
MashAllah ! what a great video ! I can't wait to subscribe
thanks sir your this video was really helpful to me
You are my savior.
Thank you very much. A wonderful explanation that helped me a lot.
@gamingarea9011
6 ай бұрын
is the API is free ? and if it is free then for how long ?
🎉 super awesome ❤️😎
Love from US
awesome video brother'❤❤, pls explain how to create an account and API key.
really good job
Can you make it using Nodejs , ExpressJs and React for realtime updates?
awesome.....
why mine didnt answer correctly and always got error message, but in console after I inspect, everything is fine..????
why is this channel so underrated 😭😭
@user-jk6jh4zb6k
Жыл бұрын
Bcz he don't make it with voice
@Ciencia_con_s
Жыл бұрын
Communities* Spanish (from spain) devs communities. They choose whose to 'grow'
@liftedup299
11 ай бұрын
200k subscribers is not underrated bro
@MujHaci
20 күн бұрын
oyda azerbaycanli gormek sevindirdi 😄
@atmosph
20 күн бұрын
@@MujHaci :D
thank you very much
great video worked for me thank you. and another thing can we use any free API if yes please suggest the name
🔥🔥🔥
Nice🙂
Thank you
Amazing i like this video
@CodingNepal
Жыл бұрын
Thank you very much!
Great tutorial 👍. Because I am new to this topic two questions: 1) How can I embed the bot in my Wordpress site? 2) I am using most of the time a local LLM (LM Studio) for testing. I changed the api-url, the api-key and the model name, but it didn't work (error messages field is required). Any hints for me?
Thanks bro 😊😊😉, can you make a valid evaluation form that validates both login and registration?
@CodingNepal
Жыл бұрын
Yes, sure
@mdms4549
Жыл бұрын
@@CodingNepal Thanks bro💙😊✋
sir make a tutorial about " About us page generator, contact us page generator, terms and conditions page generator, disclaimer page generator and also privacy policy page generator. please please please please.
it was brilliant but GPT doesn't be supported in my country so if you can recommend something else or do another video with another technique I will appreciate it
@realdrumfan
Жыл бұрын
Whats is Your Country?
@muhammadzakariya169
Жыл бұрын
Bard in an option
@gehanadel3616
Жыл бұрын
@@realdrumfan Egypt
@zainslamdien8138
18 күн бұрын
@@realdrumfan South Africa
Bro listen, How to pass the API in deployment it is getting revoked, I'm not able to set up environment variables please help
the best thank you
@InterviewPreparation4444
4 ай бұрын
It's working
Hi Great Please Show me How to Add Custom Data i mean Custom Response and Custom Answers PLZ PLZ
I'm able to get it worked in my asp support chat project. i'm just gonna figure out how to save to the convo in the DB.
awesome project
@CodingNepal
Жыл бұрын
Glad you like it!
Nice bro but how would you implement exporting and importing chat history?
@CodingNepal
Жыл бұрын
Watch this video: kzread.info/dash/bejne/k6h_1qlraczYn7w.html Here I've shown how to save chat history to the browser's local storage and retrieve it from there.
@ompandey4595
6 ай бұрын
@@CodingNepal as ur from nepal so pls speak if u speak ur viewership will increase
Please make youtube video downloader in php. i've done subscribed you with 3 account😉
Nice bro but please in The future video please explain in detail so we will understand the code better instead of using background music
nice
can we use Bard API_KEYS instead? open ai available in only 45 countries. pls make a video. and let me know if you see this comment.
if you will explain with your voice, then it will give you more views and people will like your content
Bro one small doubt.you implement the package how to modify example "hi to reply message how can i help you"... Please tell me bro... Waiting for you bro....
Is this chatbot can be integrated to database for fetching data like customer orders
guys im getting authorization error code 401 errors, i put in the api key in the authorization bearer im also signed in open ai how do i fix this
Bro, when I made this Chatbot, I coded it perfectly with no errors, but after using my API Key , I m getting the error 'Too many requests , you have completed your current quota', Please tell what should I do
@khushboogupta6784
6 ай бұрын
same, Have you got any solution?
@tuskinggiant
6 ай бұрын
maybe try generating API key with a new account which is not logged in to GPT
4th comment pin pls and can you make a sidebar that can randomize any photo and set it and is fixed on top and also save in localstorage. And also shows his name and age. For example: Save Edit // Get elements const nameInput = document.getElementById('name'); const roleInput = document.getElementById('role'); const imageInput = document.getElementById('image'); const saveButton = document.getElementById('save-button'); const editButton = document.getElementById('edit-button'); // Check if data exists in local storage if (localStorage.getItem('userData')) { // Retrieve and populate data from local storage const userData = JSON.parse(localStorage.getItem('userData')); nameInput.value = userData.name; roleInput.value = userData.role; imageInput.disabled = true; saveButton.disabled = true; } else { editButton.disabled = true; } // Save data to local storage saveButton.addEventListener('click', function() { const userData = { name: nameInput.value, role: roleInput.value }; localStorage.setItem('userData', JSON.stringify(userData)); nameInput.disabled = true; roleInput.disabled = true; imageInput.disabled = true; saveButton.disabled = true; editButton.disabled = false; }); // Enable editing editButton.addEventListener('click', function() { nameInput.disabled = false; roleInput.disabled = false; imageInput.disabled = false; saveButton.disabled = false; editButton.disabled = true; }); In sidebar. The photo is fixed at top and in the place of role there are radi🥺 os.tje 🥺 format 🥺 can 🥺 look 🥺 like 🥺 this 🙏: (Image 🙏) (Name 🙏) (Image 🙏) (age 🙏)•(role 🙏) Please 🥺 it's 🥺 my 🙏 request 🥺🥺🥺🥺🥺🥺🙏🙏🙏🙏🙏🙏🥺🥺🙏🥺🥺
Hi, love your coding. you are a legend. Can you perhaps create a chatbot with openai assistant ? Thanks
@CodingNepal
23 күн бұрын
Glad to hear that! What do you mean by OpenAI assistant? OpenAI API or something else?
@zainslamdien8138
21 күн бұрын
@@CodingNepal hi legend, you know the openai assistants where you create threads and runs and it will connect to a vector database. but its all good, i used your code and converted it into an assistant. if you want the code then let me know. thanks
@husnainshahid1932
20 күн бұрын
@@zainslamdien8138 can you show ur project?
@zainslamdien8138
18 күн бұрын
@@husnainshahid1932 Here is the code bro, class Assistant { constructor(apiKey, assistantId) { this.apiKey = apiKey; this.assistantId = assistantId; this.init(); } async init() { this.chatbotToggler = document.querySelector(".chatbot-toggler"); this.closeBtn = document.querySelector(".close-btn"); this.chatbox = document.querySelector(".chatbox"); this.chatInput = document.querySelector(".chat-input textarea"); this.sendChatBtn = document.querySelector(".chat-input span"); this.inputInitHeight = this.chatInput.scrollHeight; this.bindEvents(); } bindEvents() { this.chatInput.addEventListener("input", this.adjustInputHeight.bind(this)); this.chatInput.addEventListener("keydown", this.handleEnterKey.bind(this)); this.sendChatBtn.addEventListener("click", this.handleChat.bind(this)); this.closeBtn.addEventListener("click", this.closeChatbot.bind(this)); this.chatbotToggler.addEventListener("click", this.toggleChatbot.bind(this)); } adjustInputHeight() { this.chatInput.style.height = `${this.inputInitHeight}px`; this.chatInput.style.height = `${this.chatInput.scrollHeight}px`; } handleEnterKey(e) { if (e.key === "Enter" && !e.shiftKey && window.innerWidth > 800) { e.preventDefault(); this.handleChat(); } } closeChatbot() { document.body.classList.remove("show-chatbot"); } toggleChatbot() { document.body.classList.toggle("show-chatbot"); } createChatLi(message, className, id) { const chatLi = document.createElement("li"); chatLi.classList.add("chat", `${className}`); if (id) { chatLi.id = id; } chatLi.innerHTML = `${message}`; return chatLi; } async createThread() { try { const response = await fetch("api.openai.com/v1/threads", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}`, "OpenAI-Beta": "assistants=v2", }, }); if (!response.ok) { const errorData = await response.json(); console.error("Error creating thread:", errorData); throw new Error(`Failed to create thread: ${JSON.stringify(errorData)}`); } this.thread = await response.json(); console.log("Thread Created:", this.thread); } catch (error) { console.error("Error in createThread method:", error); throw error; } } async generateResponse(chatElement, messageId) { const messageElement = chatElement.querySelector("p"); try { await this.createThread(); const messageResponse = await fetch(`api.openai.com/v1/threads/${this.thread.id}/messages`, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}`, "OpenAI-Beta": "assistants=v2", }, body: JSON.stringify({ role: "user", content: this.userMessage, }), }); if (!messageResponse.ok) { const errorData = await messageResponse.json(); console.error("Error creating message:", errorData); throw new Error(`Failed to create message: ${JSON.stringify(errorData)}`); } const runResponse = await fetch(`api.openai.com/v1/threads/${this.thread.id}/runs`, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}`, "OpenAI-Beta": "assistants=v2", }, body: JSON.stringify({ assistant_id: this.assistantId, model: "gpt-4-turbo" }), }); if (!runResponse.ok) { const errorData = await runResponse.json(); console.error("Error creating run:", errorData); throw new Error(`Failed to create run: ${JSON.stringify(errorData)}`); } const run = await runResponse.json(); console.log("Run Created:", run); await this.checkStatusAndPrintMessages(this.thread.id, run.id, messageElement, messageId); } catch (error) { console.error("Error fetching response:", error); messageElement.classList.add("error"); messageElement.textContent = "Oops! Something went wrong. Please try again."; } finally { this.chatbox.scrollTo(0, this.chatbox.scrollHeight); this.userMessage = null; // Reset the user message } } async checkStatusAndPrintMessages(threadId, runId, messageElement, messageId) { const delay = ms => new Promise(res => setTimeout(res, ms)); while (true) { const runStatusResponse = await fetch(`api.openai.com/v1/threads/${threadId}/runs/${runId}`, { method: "GET", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}`, "OpenAI-Beta": "assistants=v2", }, }); if (!runStatusResponse.ok) { const errorData = await runStatusResponse.json(); console.error("Error retrieving run status:", errorData); throw new Error(`Failed to retrieve run status: ${JSON.stringify(errorData)}`); } const runStatus = await runStatusResponse.json(); console.log("Run Status:", runStatus); if (runStatus.status === "completed") { const messagesResponse = await fetch(`api.openai.com/v1/threads/${threadId}/messages`, { method: "GET", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}`, "OpenAI-Beta": "assistants=v2", }, }); if (!messagesResponse.ok) { const errorData = await messagesResponse.json(); console.error("Error retrieving messages:", errorData); throw new Error(`Failed to retrieve messages: ${JSON.stringify(errorData)}`); } const messages = await messagesResponse.json(); console.log("Messages Retrieved:", messages); const assistantMessages = messages.data.filter(msg => msg.role === "assistant"); if (assistantMessages.length > 0) { const lastMessage = assistantMessages[assistantMessages.length - 1]; const content = lastMessage.content[0].text.value; messageElement.textContent = content; // Update the "Checking..." message } break; } else { console.log("Run is not completed yet, retrying..."); await delay(3000); // Wait for 3 seconds before checking again } } } async handleChat() { this.userMessage = this.chatInput.value.trim(); if (!this.userMessage) return; this.chatInput.value = ""; this.chatInput.style.height = `${this.inputInitHeight}px`; const messageId = `msg-${Date.now()}`; this.chatbox.appendChild(this.createChatLi(this.userMessage, "outgoing", messageId)); this.chatbox.scrollTo(0, this.chatbox.scrollHeight); setTimeout(() => { const incomingChatLi = this.createChatLi("", "incoming", messageId); this.chatbox.appendChild(incomingChatLi); this.chatbox.scrollTo(0, this.chatbox.scrollHeight); this.generateResponse(incomingChatLi, messageId); }, 600); } } // Initialize the assistant const assistant = new Assistant( "YOUR API-KEY HERE", "YOUR ASSISTANT-ID HERE" );
Your content is awesome but can you please start explaining the code instead of using music 🎵 🎶 . It's a request ☺️
Scientific calculator for engineering study make it bro
Brother, may you please make a video on how to continue from here to hide our API key? Because, we cannot host this chatbot as the API key is hardcoded into our key, so may you please make a video on how do we evade this problem?
What is the content of material-symbols-outlined?
uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
Please Resume Generator HTML CSS JavaScript & Create ReactJS Project.
what is the import url in the css code can u send this ????
Wow❤
It will be beneficiary if you just include the font details on the description
is anyone successfully run the provided code? i'm getting the same error after creating the new account for api!! what can i do please suggest me..
🙂🙂👏
Do you use websocket?
I've completed this project now anyone tell me how to solve API issue cuz I cant find it on stack-overflow if there is error 429 (too many requests ) and it is expired how will I solve this
@ANUJAGUPTA-jx5ri
3 ай бұрын
same , im getting that error, what did you do to resolve it?
@ammarabhatti8261
3 ай бұрын
@@ANUJAGUPTA-jx5ri the only solution was to make a new id and generate API key, we can't use free API if we are already using openapi for a long time.... They offer free APIs to new users only (for some time )you should make new id and then generate your API key that will work .... May be there's another solution but I haven't found any yet
@yashmadaan4024
2 ай бұрын
Same error is coming to me also! Did you get the solution of it ?
Please Create like and comment functionality using ajax and php.
Omg that’s what I’m finding on KZread since last two months 😭
How to make government rule Regulations chatbot Can be created by. Website api key like government api key
Sir, I have gone through your source code. But the chatbot was only replying with one message "oops ! something went wrong". I have placed my own API key in it..even then it is showing only the same thing. What to do to make the chatbot work.
@XylomICP
4 ай бұрын
same here I also added the api and it says script line 39
@Kishan_Panchal
3 ай бұрын
so fir hua ki nai
@Kishan_Panchal
3 ай бұрын
mera bhi same aa raha haii
@XylomICP
3 ай бұрын
Okay so I found out something apparently we need to add out payment details for it to work I abandoned this method and instead created the chatbot with rule based chatbot
@Kishan_Panchal
3 ай бұрын
@@XylomICP okay
source code please
It's bad practices to include API key in Javascript. Anyone who views the bot could view your secret key, & run your API account thru the roof astronomically.
@mrravipandee
9 ай бұрын
i implement this, but cant run show me error...
@kontnoctilus
9 ай бұрын
@@mrravipandee+1
can i use custom info for this chatbot?
it's great and thanks but I have followed all your steps in the video and whenever I try to chat there is an error and the console says "You didn't provide an API key. You need to provide your API key in an Authorization header" Although I have put the API as you did in the video
@kunalpawar7527
10 ай бұрын
Same here bro. Pls reply if your issue is solved now.
Bro do we need to work on back-end for this ?
@tasneemayham974
7 ай бұрын
Yes, for sure. To hide the API key.
dear bro. I want to push the file to github, to deploy for friends to use, but the file contains the api key. so is there any way to deploy?
@KaptanSingh-oy1bp
11 ай бұрын
Bro, Are you solved this problem? Because i am facing same problem.
@nghiahoang9201
11 ай бұрын
@@KaptanSingh-oy1bp As far as I know, putting the API key into the evn variable (.evn), then putting the .evn file into the .gitignore file solves the API leak problem. But I get an error when I import the .evn variable into the .js file
Sir how you learnt Javascript plz telll me !!!!!! anything will help !!!! javascript part was literally hard for me..
can it give any answers like chatgpt or other AI's???
For the API usage, do you have to pay for it after using it once?
@SpeedyPaws-zk1tp
2 ай бұрын
yes, you need to add some credits to your openai account
hey mate! is this chatbot free to use? even for commercial projects? best regards, mike :)
@CodingNepal
12 күн бұрын
Hey Mike, this chatbot is free for any use. Thanks!
I get error in the Line starting with "fetch" in js, help
@PhuongNguyen-wh8ug
6 ай бұрын
metoo
@hArshan-
2 ай бұрын
Did you solve it?
i love you tank yoiu
Hi is this chatbot for rule based also??
Bro please try to explain the code approach why(s) how(s) etc etc also in your voice either in hindi or English...
@CodingNepal
Жыл бұрын
Okay, I'll try my best.
@m.areeshrashid705
Жыл бұрын
Please 👋👋👋👋
make it on using socket
Y I'm getting the something went wrong error.. I did checked tha code it's same and I created my own api key also .. can u please help ?
@KishorKadam33
3 ай бұрын
same message as me
Can you guide me to use other free APIs
Yeah Is it using Internet to answer questions
I make video from this channel with explanation in hindi
@AnkitYadav-hw2xd
10 ай бұрын
Send link
I want integrative with java servlet , bro can u help me ? 😢
Launch json configuration error what to do
i need source code its not available in website bro?
@CodingNepal
Жыл бұрын
Source code has bee uploaded. Link is in the video description.
how to embed on website
its showing something went wrong please help
Api key paste karne ke baad bhi error aa raha hai defeat wala, api key pasted correctly, plz help me what I do
How to change icon of bot with a gif
I got the 429 to many request error while trying to get response from server.. How to resolve it.. Pls tell me as soon as possible
@CodingNepal
2 ай бұрын
It seems OpenAI no longer provides free credits for API usage. The minimum cost to get started is now $5. Once the payment is made, the chatbot should work as expected.
How Solve the problem Too Many Request
Bhaiya ji from your description the source code is never downloaded🙁
@CodingNepal
Жыл бұрын
Source code link: www.codingnepalweb.com/create-chatbot-html-css-javascript/
please will it still work if iuse google geminins api key
@CodingNepal
13 сағат бұрын
Yes, it will work if you update the code properly by use the Gemini API.
can this be done in other languages too???
@mohammadazim2456
10 ай бұрын
In which language you required this ?
api key is free or paid
Hi sir Im used your chatbot my isnot workihng
Can you able to provide your github link
Hello ! Code is running successfully, but I only I can send the messages but I'm continuously receiving ( Oops Something went wrong) from bot Any Solutions to the Problem ?
@NehaSharma-rl4qy
4 ай бұрын
Did u get solution to this
@technicalasher967
4 ай бұрын
@@NehaSharma-rl4qy No, I have stopped working on this & now I'm working on my own concept ChatBot
pls im in a hurry if you can asnwe asap i would appritiate it.whats api keys how can i make my secret code