无界 | Bncr | Boundless Nodejs Chat Robot
Nodejs环境的插件式机器人框架,它可以diy Adapter来对接任何平台来实现交互.
它拥有无限可能,我愿称之为 《无界》.
_
Bncr 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架。它基于OOP函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序。本项目架构深受Koishi与sillyGirl的启发;
特性
多平台多账户接入系统 : 2个qq/3个wx/4个tg? so easy!;
基于TypeScritp OOP函数响应式编程 :源码仅1.5M,占用小,响应快,开发易 ;
极简的插件开发 : 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
异步同步执行自由控制 : 基于nodejs async/await/Promise特性,你可以自由控制异步同步(阻塞非阻塞运行);
不仅仅是Chat RoBot : 原生支持npm/yarn,开发潜力无穷大,如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,在JavaScript上能做到的事情在这里都将被实现.
以上信息来自无界的github介绍,下面开始正式安装。
一、获取token
首先进入群组,
然后私聊 https://t.me/red_Lights_Districts_Bot 机器人, 然后群组里面发 /get_token
二、Docker
(目前只支持docker安装)
# 在你要存放数据的目录下手动新建BncrData文件夹
# (以root目录为例)
# 警告!群晖用户请勿在root下存放任何文件!修改成你的硬盘目录!
mkdir /root/BncrData #在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
这个端口改不改都行 ,如果想着弄多个,就修改一下,跟青龙多开一样的。
配置文件在:/bncr/BncrData/config/config.js
打开这个config.js文件,把第一步获取的token填写进去,同时可以弄个电报的机器人,并把机器人的token也输入进去, 这里机器人就不讲了,不懂的回头可以私信我。
三、修改config,并启用tgBot
习惯用宝塔了 ,第一个框框是config的地址,第二个框框是填写第一步获取的tonken
第三、第四 根据你自己的情况来弄,像现在qq封号蛮严重,我就不想弄这个,所以我的默认就行,你们要是想着对接QQ 一定要记得把这个 false 换成 true,
像我用的是tgbot 所以我的这个是true ,token位置填写的是在BotFather上获取的token
填写完保存即可(喜欢对接微信的,可以尝试对接可爱猫、千寻之类的)
保存之后 继续回到ssh 重启bncr
docker start bncr && docker attach bncr
出现这个不用慌,换个域名就好
目前可用URL
http://wj.yanyuwangluo.cn:1201
http://bncr.chaoyue.gq:2082
http://bncr.chaoyue.cf:2082
管理员权限发命令来更换域名:set system ToverifyUrl xxx
set system ToverifyUrl http://bncr.chaoyue.gq:2082
set system ToverifyUrl http://wj.yanyuwangluo.cn:1201
set system ToverifyUrl http://bncr.chaoyue.cf:2082
上面三个 随便选择一个就好
出现鉴权成功就完成了!!
四、添加管理员
当发送管理员命令没有反应时,请检查管理员是否正确
步骤:
对着机器人发 '我的id' 机器人会回复你的id然后设置一下管理员(见下文)
注意! 管理员命令需要在有管理员权限的平台操作,不然无效
不知道哪个平台有管理员权限的,docker attach bncr 后在控制台发
//设置qq管理员 其他平台类似
set qq admin 12345698
set wxKeAImao admin 12345698
set wxQianxun admin 12345698
set wxXyo admin 12345698
set tgBot admin 12345698
set HumanTG admin 12345698
像我的只用了tgbot 所以只输入这个就行了
这样就是管理员设置好了。
快捷操作
管理员在群聊中发送 '监听该群' 即可响应群友消息
发送 '屏蔽该群' 取消监听
发送 '不回复该群' 监听消息但是不会回复任何消息
'回复该群' 恢复默认
// 监听tg频道,或者手动设置监听群
set groupWhitelist 平台名:id true
// 栗子,监听一个频道
set groupWhitelist HumanTG:-1001744932665 true
// 删除监听(屏蔽该频道)
del groupWhitelist HumanTG:-1001744932665
// 不回复手动
set noReplylist HumanTG:-1001744932665 true
// 回复手动
set noReplylist HumanTG:-1001744932665 false
或
del noReplylist HumanTG:-1001744932665
五、基础命令
//获取数据库数据
get 表 key
//例如获取管理员
get qq admin
// 设置数据库
set 表 key value
set system name Anmour
// 重启机器
重启
//获取时间
time
//启动时间
启动时间
//获取机器码
机器码
//获取版本
bncr版本
// 获取群id
群id
//获取个人id
我的id
//监听群消息 (默认屏蔽所有群)
监听该群
//屏蔽群消息
屏蔽该群
//不回复该群
不回复该群
//回复
回复该群
进入容器交互控制台
#进入
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
六、插件仓库
可以自己都打开看看,看自己喜欢什么类型的,取长补短呗。