无界Bncr3.0 框架 bot 搭建使用教程

背景

Bncr 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架。它基于OOP函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序。本项目架构深受Koishi与sillyGirl的启发;

————————————————

安装

目前仅支持 docker安装

 拉取镜像

docker pull anmour/bncr

在你要存放数据的目录下手动新建BncrData文件夹(以root目录为例)

警告!群晖用户请勿在root下存放任何文件!修改成你的硬盘目录!

在root目录新建BncrData文件夹

mkdir /root/BncrData

拉取并运行容器 并进入交互控制台

docker run -dit \
 -v /root/BncrData:/bncr/BncrData \
 -p 9090:9090 \
 --name bncr \
 --hostname bncr \
 --restart on-failure:5 \
 --log-opt max-size=5m \
 --log-opt max-file=3 \
anmour/bncr && docker attach bncr

进入容器交互控制台

#进入
docker attach bncr
# 退出交互控制台
Ctrl+p Ctrl+q

更新容器

docker run --rm \
 -v /var/run/docker.sock:/var/run/docker.sock \
 containrrr/watchtower \
 -c --run-once \
bncr

查看日志

docker logs bncr

进入容器命令行(一般用不到)

docker exec -it bncr /bin/sh

结构目录

初次启动会在你映射的宿主机路径下创建5个文件夹,分别为 Adapter config public db plugins
config 下会自动生成一些启动所需的配置文件,已进行详细注释,根据自己情况来填写;

Adapter下会自带 tgbotHumanTG qqbotwxKeAImaowxQianxun以及系统适配器;

public 为静态资源目录,你可以在里边放一些文件,通过 http://ip:9090/public/文件名来访问这些资源

db 为系统数据库存放目录

plugins 插件目录,自带一些官方插件

node_modules :模块

 配置Bncr

基本配置

 设置账号/密码

浏览器访问 ip:端口 端口默认9090,点击初始化账号会出现设置账号密码的命令,忘记帐号密码也可以使用,

准备工作:

打开主机bash执行:docker attach bncr进入容器内部. 或在拥有管理员的平台发送以下命令:

设置账号:set system name 你的账号

设置密码:set system password 你的密码

 鉴权URL

默认鉴权URL无法使用

自定义鉴权域名

目前可用URL
http://bncr.619030.xyz:2082
http://bncr.888862.xyz
http://future.free.hr:2082
https://rebncr.dsdog.tk

插件市场

暂不支持分类,可以使用搜索

无界的具体功能都需要适配器/插件实现,首先下载适配器,方便对接各聊天平台,建议一次把需要的适配器下载完,因为适配器需要重启才能看到

添加订阅

进入插件市场,右上角点击订阅按钮,默认已经订阅了官方插件

 点击右边加号添加其他大佬的订阅,点击减号删除订阅

订阅连接

红灯区

 D佬

  • 订阅模式:sub
  • 说明:狗东相关
bncrSub://UpdjUc6jid/ZFkJhEZFTW0zFEYpg7ZPidkatlTM6OSN/bOxWaExKe5VQ14AHsy+0ufSXlKVuOuRYAqkTz7a2Z3dS8aW8mj6O8MsZVFDHMpc=

 寒佬

  • 订阅模式:sub
  • 说明:狗东/内置微信相关
bncrsub://3BPeb/Ff4FlBAx372D99jdVghsmvkSgLBq9KU/hngTdwC2GEcEwqYWSWDYKb6RfikHZG1cRp8/VvIGJ786YOuBlGXSIKXzAA1klCLP7Pc80=

胜利佬

  • 订阅模式:sub
  • 说明:娱乐相关
bncrSub://wF/k4Mz95ytHfhV15ZODYlhhzebRtJJ0f7TFUFxz93HmBntFxJwjKeBgOyXJiWIShBPM7dP7q+Vtzcu1imytZ0T0Nj7Zc2Nb6vO6LiP7NAU=

 缘佬

  • 订阅模式:sub
  • 说明:AI相关
bncrSub://3BPeb/Ff4FlBAx372D99jYvj+QZcN253M4hwNraBlDlkcHZ3Co50nPr36N+UPUwByGOOlBqx00VAtjamL5r6HbE7eOYTWuOnjVZCTZZmO68=

 Merrickk

sumuen

单身汪

bncrSub://3BPeb/Ff4FlBAx372D99jVyIKCqA1o+N6BGTODwfLTZrDM4RSZKoS4TbJlpyOm47YhEFvTGcZvorshRgSZRqhuvtZ5z6IIZiGB8EWGrtvD0=

JC

  • 订阅模式:sub
  • 说明:elm
bncrsub://4jZW6oPmVyXqvAZWhY1TV70Us3xou/l8DG7lu3ZNncvutZqo60FBZE0z2J6GOSuHVZ0FmeN9AJAT67XqtEDvcQ==

 小九九

三藏

枯花 

  • 订阅模式:sub
  • 说明:小工具
bncrSub://hbq80RwrMDlTHxjzsPkUWY/ObH3eYsqVRJduerbj3VLqn6HIX9FDfEnjLxmP3tnDAbgZA/ZytDYXnMPDNs/6OgX6FJrZlwgu1yMKxaPkjdA=

October

  • 订阅模式:sub
  • 说明:小工具
bncrSub://3BPeb/Ff4FlBAx372D99jSgYAOp0iHTZYdXsiIPvd8Kv+n62AwCyJeSaLEwNILJPTolaQ/RxzeG3WMcOQzvUpkO+H+mnXr5+73k7J/jMjQA=

yuanter

  • 订阅模式:sub
  • 说明:专用登录工具
bncrSub://UpdjUc6jid/ZFkJhEZFTW/8AQnqGof/eXGPt+fCsmJ31/6uffZxee3QzBTXMYrzPWdzsQ90+6RGUYrEfBlnRnsXejZuVbYXS1qVLK8a4tPI=

 屁 啊

 奖 励

鑫仔 

对接机器人框架

微信

xyo微信 

已xyo为例,插件市场官方订阅下载wxXyo.js适配器,重启无界,进入插件配置→找到/Adapter/wxXyo.js开启适配器,输入xyo的上报地址,点击保存

再去微信框架中的xyo插件中添加消息回调地址,http://无界的ip:端口/api/bot/Xyo

 设置xyo token

在web聊天窗口发送命令

set wxXyo xyo_token xxx
设置管理员 

在微信中给机器人账号发消息,在微信框架的日志中查看管理员ID,然后在web聊天窗口发送命令

set wxXyo admin xxx  (这个xxx指的是你对机器人发‘我的id’出来的id)

重启无界

wechaty微信

需要先添加寒佬订阅链接,微信号需实名

插件市场下载wechaty.js,插件配置中找到wechaty,点击开启适配器,其他选项可选。

 设置管理员

在微信中给机器人账号发消息,在无界的日志中查看管理员ID,然后在web聊天窗口发送命令

set wechaty admin wxid_

重启无界 

登录
  • 配置好wechaty插件后第一次重启无界时,查看无界日志,会弹出登录二维码,使用微信小号扫码登录即可
  • 重要!如需更换微信机器人账号,需要在wechaty插件中修改机器人标识

QQ 

go-cqhttp

敬请期待

NTQQ

敬请期待

对接青龙

  •  青龙相关的功能都是基于奶酪插件实现的,但是红灯区还没有适配3.0,需要自行从红灯区仓库下载奶酪.js到无界的 /bncr/BncrData/plugins/红灯区目录下
  • 下载mod文件夹下 AmQlMod.jsAmTool.js和 CryptoJS.js到 mod目录下
  • 下载好后进入文件管理,编辑奶酪插件,将 origin 改成 team 保存
  • 青龙面板创建应用过程略过
  • Web交互聊天窗口使用管理员身份发送命令 面板管理按照提示添加青龙面板,可添加多个,最后记得输入 wq保存并退出

基础命令

//获取数据库数据
get 表 key
//例如获取管理员
get qq admin
// 设置数据库
set 表 key value
set system name Anmour
// 重启机器
重启
//获取时间
time
//启动时间
启动时间
//获取机器码
机器码
//获取版本
bncr版本
// 获取群id
群id
//获取个人id
我的id
//监听群消息 (默认屏蔽所有群)
监听该群
//屏蔽群消息
屏蔽该群
//不回复该群
不回复该群
//回复
回复该群

关于报错

Error: Cannot find module 'xxxxx' 

统一为缺少npm模块,通过管理员对机器人发送 npm i xxxx 命令安装模块后重启即可解决

Error: Cannot find module './xxxxx' 

统一为缺少自定义模块,谁写的插件找谁要这些模块,一般对应的插件仓库都有的,是你没装好!

插件[xxxx.js]加载异常 未设置xxxx

未设置@name|@rule|@version|@admin|@author|@origin 这种情况一般是你的插件放错位置了,比如红灯区的插件,全部放在/plugins/红灯区/下,没有这个目录就新建!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值