📜  如何在 ReactJS 项目中添加聊天机器人?

📅  最后修改于: 2022-05-13 01:56:15.279000             🧑  作者: Mango

如何在 ReactJS 项目中添加聊天机器人?

在本文中,我们将学习如何使用 npm 包react-simple-chatbot 将聊天机器人添加到我们的 react 项目中。

react-simple-chatbot 的特点:

  • 它是一个轻量级的模块,非常易于使用。
  • 反应灵敏。
  • 样式组件随它一起安装,因此无需为主题安装它。
  • 我们可以向聊天机器人添加一些我们自己的功能。

先决条件:了解 react.js

创建 React 应用程序和模块安装:

第 1 步:使用以下命令创建一个 React 应用程序:

npx create-react-app project

第2步:创建项目文件夹(即项目)后,使用以下命令移动到该文件夹:

cd project

第 3 步:现在使用以下命令安装依赖项 react-simple-chatbot:

npm i react-simple-chatbot

项目结构:它看起来像这样。

示例:要使用聊天机器人,我们需要从“react-simple-chatbot”导入它。为了让聊天机器人工作,我们需要创建一个步骤数组。 ChatBot 采取步骤,这是一个对象数组作为它的道具。

尽管我们可以将许多选项作为道具传递给我们的聊天机器人,但没有步骤道具,它将显示一个空白屏幕。

在这个文件中,我们只是创建了一个包含单个对象的步骤数组,该对象的 id 为“0”,消息为“Hey Geek”,并且 end 设置为 true,这意味着这是 chatBot 的结束消息。

文件名: App.js:

Javascript
import ChatBot from 'react-simple-chatbot';
  
const steps = [
    {
        id: '0',
        message: 'Hey Geek!',
        end: true
    }
];
  
function App() {
    return (
        
            

Welcome to Geeksforgeeks

                     
    ); }    export default App;


Javascript
import ChatBot from 'react-simple-chatbot';
import { ThemeProvider } from 'styled-components';
  
const steps = [
    {
        id: '0',
        message: 'Hey Geek!',
  
        // This calls the next id
        // i.e. id 1 in this case
        trigger: '1',
    }, {
        id: '1',
  
        // This message appears in
        // the bot chat bubble
        message: 'Please write your username',
        trigger: '2'
    }, {
        id: '2',
  
        // Here we want the user
        // to enter input
        user: true, 
        trigger: '3',
    }, {
        id: '3',
        message: " hi {previousValue}, how can I help you?",
        trigger: 4
    }, {
        id: '4',
        options: [
              
            // When we need to show a number of
            // options to choose we create alist
            // like this
            { value: 1, label: 'View Courses' },
            { value: 2, label: 'Read Articles' },
  
        ],
        end: true
    }
];
  
// Creating our own theme
const theme = {
    background: '#C9FF8F',
    headerBgColor: '#197B22',
    headerFontSize: '20px',
    botBubbleColor: '#0F3789',
    headerFontColor: 'white',
    botFontColor: 'white',
    userBubbleColor: '#FF5733',
    userFontColor: 'white',
};
  
// Set some properties of the bot
const config = {
    botAvatar: "img.png",
    floating: true,
};
  
function App() {
    return (
        
                                                   
    ); }    export default App;


运行应用程序的步骤:使用以下命令从项目的根目录运行应用程序。

npm start

输出:

这就是默认聊天机器人的样子。我们进一步设计并为聊天机器人添加了更多功能。为了给我们的项目提供一个主题,让我们从'styled-components'导入ThemeProvider。

注意: 'styled-components' 与'react-simple-chatbot' 一起安装。

  • 我们将创建一个 const 主题,其中包含所有可用于更改聊天机器人样式的道具。之后,我们将 ChatBot 包装在 ThemeProvider 中,将主题作为道具传递。
  • 现在要显示聊天机器人图标并更改机器人头像,我们需要创建一个将浮动设置为 true 的配置,以便机器人图标出现在网站上,并且我们在 botAvatar 中设置了图像,我们将配置作为也支持我们的聊天机器人。我们还将 headerTitle 作为道具传递给 ChatBot。

文件名:App.js:

Javascript

import ChatBot from 'react-simple-chatbot';
import { ThemeProvider } from 'styled-components';
  
const steps = [
    {
        id: '0',
        message: 'Hey Geek!',
  
        // This calls the next id
        // i.e. id 1 in this case
        trigger: '1',
    }, {
        id: '1',
  
        // This message appears in
        // the bot chat bubble
        message: 'Please write your username',
        trigger: '2'
    }, {
        id: '2',
  
        // Here we want the user
        // to enter input
        user: true, 
        trigger: '3',
    }, {
        id: '3',
        message: " hi {previousValue}, how can I help you?",
        trigger: 4
    }, {
        id: '4',
        options: [
              
            // When we need to show a number of
            // options to choose we create alist
            // like this
            { value: 1, label: 'View Courses' },
            { value: 2, label: 'Read Articles' },
  
        ],
        end: true
    }
];
  
// Creating our own theme
const theme = {
    background: '#C9FF8F',
    headerBgColor: '#197B22',
    headerFontSize: '20px',
    botBubbleColor: '#0F3789',
    headerFontColor: 'white',
    botFontColor: 'white',
    userBubbleColor: '#FF5733',
    userFontColor: 'white',
};
  
// Set some properties of the bot
const config = {
    botAvatar: "img.png",
    floating: true,
};
  
function App() {
    return (
        
                                                   
    ); }    export default App;

运行应用程序的步骤:使用以下命令从项目的根目录运行应用程序。

npm start

输出:

参考: https://www.npmjs.com/package/react-simple-chatbot