JS聊天机器人框架 BotUI 使用笔记

前言

BotUI 是一款强大的 JS 聊天机器人框架,可以自动回复文字、图片和视频。用户可以自由设置多种选项、触发关键词和输入框等内容,并根据需求自定义聊天内容和范围。回复的内容可以是文字、GIF 图片以及视频。我在我的博客中引用了该框架。

项目地址

BotUI GitHub 仓库

通用方法

  1. 引入 CSS 样式文件
    <head> 部分添加以下代码:

    <link rel="stylesheet" href="build/botui.min.css">
    <link rel="stylesheet" href="build/botui-theme-default.css">
  1. 设置聊天机器人的对话容器

    <body> 部分添加对话容器的代码:

    <div class="botui-app-container" id="botui-app">
        <bot-ui></bot-ui>
    </div>
  1. 引入 JS 文件并设置预回复内容

    加以下 JavaScript 代码以引入 BotUI 和 Vue.js,并设置预回复内容:

    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <script src="build/botui.js"></script>
    <!-- 回复配置可参考:https://docs.botui.org/react/custom -->

Sakura主题使用方法

  1. 在 WordPress 后台设置

    进入 Sakura 主题设置,找到 CDN 选项,开启本地调用主题的 JS 和 CSS 文件。

  2. 修改 js/sakura-app.js 文件

    打开 Sakura 主题目录下的 js/sakura-app.js 文件,找到大约第 10 行。此步骤主要是为了在开启 PJAX 后解决首次访问页面时聊天框不加载的问题。如果您没有开启 PJAX,可以跳过此步骤。

    mashiro_global.ini = new function() {
        this.normalize = function() { // 页面首次加载时的初始化函数
            lazyload();
            social_share();
            post_list_show_animation();
            copy_code_block();
            coverVideoIni();
            checkskinSecter();
            scrollBar();
        }
        this.pjax = function() { // PJAX 重载函数
            pjaxInit();
            social_share();
            post_list_show_animation();
            copy_code_block();
            // BotUI
            if ($("div").hasClass("popcontainer")) {
                loadBotui();
            }
            coverVideoIni();
            checkskinSecter();
        }
    }
  1. js/sakura-app.js 文件底部增加代码

    在该文件的底部添加以下内容:

    /*BotUI*/
    if ($("div").hasClass("popcontainer")) {
        loadBotui();
    }
    $("bot-ui").click(function() {
        loadBotui();
    });
    
    function loadBotui() {
        if ($('div').hasClass('popcontainer')) {
            if (mashiro_global.variables.has_bot_ui) {
                bot_ui_ini();
            } else {
                $.getScript('https://oss.amogu.cn/blog/botui/botui.js', function() {
                    // 请根据您的 BotUI 回复配置修改此处
                    bot_ui_ini();
                    mashiro_global.variables.has_bot_ui = true;
                });
            }
        }
    }
  1. 在 WordPress 中新建页面

    新建一个页面,并在内容中填入如下代码:

    <div class="popcontainer" id="fogforest" style="min-height:300px; padding:2px 6px 4px 6px; background-color: rgba(242, 242, 242,0.5); border-radius: 10px; border: 2px solid">
        <p></p>
        <center><strong>与 蘑菇君 对话中...</strong></center>
        <bot-ui>
            <center>
                <div style="background-image: url(https://cdn.jsdelivr.net/gh/Fog-Forest/[email protected]/botui/loading.svg); background-repeat: no-repeat; background-size: 10em; background-position: center; height: 10em;"></div>
                <p>Loading</p>
            </center>
        </bot-ui>
    </div>

预览

https://fairysen.com/about/

评论区
头像
    头像
    KW
      

    博主,一直才加载中,刷新也没用,怎么办??

    头像
    11
      

    大佬,sakura主题按你的方法做下来结果一直在loading是为什么呀,谢谢大佬!

    头像
    2454442613
      

    谢谢大佬,搞定啦,这个功能还是挺好玩的~

    头像
    Mangata
      

    博主,我按照你的步骤一步一步来,但是却一直在加载中,请问是什么问题呢,附上地址:
    http://106.52.247.33/%e5%85%b3%e4%ba%8e%e6%88%91/

    头像
    409303390
      

    博主,我在设置了留言板特效的基础上再设置此特效,机器人不生效

    头像
    .
      

    博主,我加上去之后右边的滑动条在加载之后会直接下达至底部,能问下原因吗 {{xiaoku}}

    头像
    2212200285
      

    哇。。。评论区这个键盘打字放烟花的特效真是太美了。。。找了一下午代码也没有找到。。 :tear: 我太难了。。

    头像

    博主那个sakura-app.js底部添加的函数里的bot_ui_ini();是什么啊?好像没找到

    头像
    Anjl
      

    博主有ty的教程吗?

      头像
      蘑菇
        
      @Anjl

      没有哦

        头像
        @蘑菇

        我这边是BotUI整好了,不过要怎么样让网页显示在首页里,或者有个标题引导也好。

          头像
          蘑菇
            
          @儒雅随和の零三

          把对应的页面添加到外观-菜单

    头像

    大佬在吗,我这边打算用BotUI做一个类似于Mashiro大佬的自动回答机器人。但是我是个刚学建站3天的小白,不会引用这方面的框架,能不能企鹅联系一下教教我QAQ。

      头像
      蘑菇
        
      @儒雅随和の零三

      文章已更新,重载问题解决了

      头像
      蘑菇
        
      @儒雅随和の零三

      从白猫那边F12过来的你可以参考下,我搞不定ajax的重载,每次都要手动刷新才能正常加载
      https://github.com/Fog-Forest/cdn/tree/master/botui

        头像
        LYM
          
        @蘑菇

        唉我也是博客主题ajax,所以访问总是在加载中,要刷新一次才能用