A simple chatbot component to create conversation chats
react-simple-chatbot uses styled-components as a peer dependency, so install both:
npm install react-simple-chatbot styled-componentsIt works with React 18 or 19 and styled-components 5.1 or newer. The library is written in TypeScript, so the types are included.
There are several examples on the website. Here is the first one to get you started:
import { createRoot } from 'react-dom/client';
import ChatBot, { type Step } from 'react-simple-chatbot';
const steps: Step[] = [
{
id: '0',
message: 'Welcome to react chatbot!',
trigger: '1',
},
{
id: '1',
message: 'Bye!',
end: true,
},
];
createRoot(document.getElementById('root')!).render(<ChatBot steps={steps} />);- Restart the conversation: render the chatbot with a new
key(e.g.<ChatBot key={conversationId} steps={steps} />). Ifcacheis enabled, also clear it withlocalStorage.removeItem(cacheName). - Change steps after mount: updates to
steps, the avatars, the delays andbotNameare used by the steps that were not rendered yet. - Style the chatbot: every element has a stable
rsc-*class name (e.g..rsc-ts-bubble,.rsc-input) that you can target with CSS, and the*Styleprops accept inline styles. - Custom components: the components of the steps receive
step,steps,previousStepandtriggerNextStep, typed asCustomComponentProps.
Please check the contributing guide
| Lucas Bassetti |
See also the list of contributors who participated in this project.
MIT · Lucas Bassetti
