chatbot-gooup1
v1.0.6
Published
A customizable React chatbot component with SCSS styling, speech recognition, and API integration
Readme
gooup1-chatbot 🤖
First, I will briefly introduce this library.
This library is created for learning purposes, written in ReactJS.
(I would have used NextJS but it had a bug... and honestly, I was too lazy to fix it 😅)
🔧 Props you can customize
LogoIconChatbotIconTitleTitleColorTitleBgColorHolderInputTextBadgeNumberBgColorBgMaskColorBgOpacityBgMaskImgMainColorSubColorAudioShowinitialMessagesapiEndpoint
Oh, there are quite a few variables you don't need to care about.
The main ones include:
LogoIcon, ChatbotIcon, Title, initialMessages, and apiEndpoint.
🧠 Explanation
initialMessages
This will be the default assigned conversation.
For example:
initialMessages={[
{ role: "assistant", content: "Hello! My name is MyBot!" },
{ role: "user", content: "Hi" },
{ role: "assistant", content: "How can I help you!" },
]}
With apiEndpoint, you can pass the API path directly. But there is one note, the default output structure will be as follows:
const customApiCall = async (message) => {
const updatedMessages = [...messages, { role: "user", content: message }];
try {
const timestamp = Date.now();
const result = await fetch(
apiEndpoint,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ chatInput: updatedMessages, sessionId: timestamp }),
}
);
if (!result.ok) {
const errorData = await result.json();
throw new Error(errorData.error || "API request failed");
}
const data = await result.json();
const response = data?.output || "🤖 No respond";
// console.log("Response_GooUp1: ", response);
return response;
} catch (error) {
console.error("Error calling API:", error);
return `🤖 Error: ${error.message}`;
}
};
This project still has many shortcomings, but I will try to change it in the future. Thanks!