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

  • 项目地址:https://github.com/Anmours/Bncr
  • 开发文档:https://anmours.github.io/Bncr
  • 项目介绍:Nodejs环境的插件式机器人框架,它可以diy Adapter来对接任何平台来实现交互。

比较常用的插件/功能:

  • 奶酪棒插件–对接青龙:获取|删除 配置文件,环境变量 删除|禁用|启用|查找|移动,任务 运行|停止|启用|禁用|状态|置顶|取消置顶|添加|修改|删除|日志。
  • 登录插件–对接ark,rabbit扫码,pro扫码、短信登录。
  • 店铺抽豆监控。
  • 店铺签到监控。
  • 可迁移傻妞到Bncr。
  • Bncr SPY 监控变量。

安装无界

目前仅支持 docker安装

在你要存放数据的目录下手动新建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 run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
-c --run-once \
bncr

查看日志

docker logs bncr

进入容器控制台

进入

docker attach bncr

退出attach

Ctrl+p Ctrl+q

进入容器命令行

docker exec -it bncr /bin/sh

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

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

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

db 为系统数据库存放目录

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

基础命令

//设置qq管理员 其他平台类似

set qq admin 12345698

//获取数据库

get 表 key

//例如获取管理员

get qq admin

// 设置数据库

set 表 key value

// 重启机器

重启

//获取时间

time

//启动时间

启动时间

//获取机器码

机器码

//获取版本

bncr版本

// 获取群id

群id

//获取个人id

我的id

//监听群消息 (默认屏蔽所有群)

监听该群

//屏蔽群消息

屏蔽该群

//不回复该群

不回复该群

//回复

回复该群

配置Bncr

基本配置

  • Token获取
    1.先私聊 https://t.me/red_Lights_Districts_Bot ,否者收不到消息,然后BncrJS里发 /get_token
    复制token填入config
    2.把要对接的平台开关enable改为true
    3.重启

常见问题

为什么不回复消息,发消息没反应

  • 当发送管理员命令没有反应时,请检查管理员是否正确
  • 步骤:
    对着机器人发 ‘我的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

当群友在群里发消息机器人没有任何回应时,说明你没对群监听

  • 快捷操作
    管理员在群聊中发送 ‘监听该群’ 即可响应群友消息
    发送 ‘屏蔽该群’ 取消监听
    发送 ‘不回复该群’ 监听消息但是不会回复任何消息
    ‘回复该群’ 恢复默认
  • 手动设置上诉效果

// 监听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

显示未设置@name丨@rule丨@admin 插件加载异常"

  • 检查插件文件夹是否放入正确:
  • 插件保存至bncr 的 BncrData/plugins/红灯区/下

Error: Cannot find module ‘./xxxxx’"

  • 插件文件夹下没有mod文件,或缺少自定义模块,谁写的插件找谁要这些模块,一般对应的插件仓库都有的,是你没装好!
  • 下载 https://github.com/RedLightsDistrict/Bncr_plugins 链接中的mod放入到红灯区下

Error: Cannot find module ‘xxxxx’"

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

查询没有反应

安装依赖

docker exec -it bncr /bin/sh
cd BncrData
npm i got@11.8.5 crypto-js

无界 | Bncr | Boundless Nodejs Chat Robot 机器人框架安装使用教程的更多相关文章

  1. Python3+Robot Framework+RIDE安装使用教程

    一.说明 Python3----网上很多文章都是用Python2,Robot Framework的部分文档没更新也直接写着不支持Python3(如RIDE does not yet support P ...

  2. 无界鼠标 Mouse Without Borders

    最近遇到一个不爽的事,单位的办公电脑,配置低,自带笔记本电脑,屏幕小. 在给自己的笔记本电脑外接了22寸显示器以后,屏幕是舒服了很多,而且外接了微软的人机工学键鼠套装,加上自己的伪人机工学椅,舒适性确 ...

  3. [JSOI2016]无界单词[动态规划、kmp]

    题意 题目链接 分析 对于第一问,枚举最终串最小的相同前后缀来统计答案. 由于最小的相同前后缀也是无界单词,所以可以考虑先求解子问题. 定义状态 \(f(i)\) 表示长度为 \(i\) 的串中有多少 ...

  4. python concurrent.futures.Threadpoolexcutor的有界队列和无界队列

    1.默认是无界队列,如果生产任务的速度大大超过消费的速度,则会把生产任务无限添加到无界队列中,这样一来控制不了生产速度,二来是会造成系统内存会被队列中的元素堆积增多而耗尽. 2.改写为有界队列 cla ...

  5. 【LOJ】#2078. 「JSOI2016」无界单词

    题解 用所有的方案减去有界的方案 我们规定两个前缀后缀相同时长度最短的,设长度为l,因为长度最短所以他们也是无界单词,可以递推 \(f[i] = \sum_{j = 1}^{\lfloor \frac ...

  6. oracle IMP-00085: 为无界导出文件指定了多个输入文件

    导入按表导出的数据的时候,提示为无界导出文件指定了多个输入文件 命令如下: imp user/user@database file=e:\test.dmp  提示信息: Import: Release ...

  7. 有界、无界队列对ThreadPoolExcutor执行的影响

    本文转载自https://blog.csdn.net/kusedexingfu/article/details/72491864 Java提供了4钟线程池: newCachedThreadPool n ...

  8. [转] Java 无界阻塞队列 DelayQueue 入门实战

    原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列.里面的元素全部都是"可延期"的元素,列头的元素是最 ...

  9. mouse without borders无界鼠标使用教程

    mouse without borders无界鼠标使用教程 摘自https://www.jianshu.com/p/6a0209ad03f8   老黑随笔 关注  0.4 2018.05.18 11: ...

  10. Java泛型(7):无界通配符<?>

    无界通配符<?>很容易和原生类型混淆. 以List为例: List表示持有任何Object类型的原生List,其实就等价于List<Object> List<?>表 ...

随机推荐

  1. uni-app在微信小程序端自定义组件中样式穿透失效

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app. 坑位 最近因UI有别 ...

  2. Postman无法启动

    前情 最近在捣鼓node.js,需要一个接口测试工具,而Postman是业界有名的接口测试工具,自然接口测试就用它了. 坑 已经有一段时间没启动Postman了,突然发现启动一直卡在修复界面,重启也不 ...

  3. 人工智能大语言模型起源篇(二),从通用语言微调到驾驭LLM

    上一篇:<人工智能大语言模型起源篇(一),从哪里开始> (5)Howard 和 Ruder 于2018年发表的<Universal Language Model Fine-tunin ...

  4. orangepi zero3开启指定频段WiFi热点的指令

    步骤 通过 -c 命令即可指定wifi频段,避免和其他wifi的频段撞在一起. 例如下面这条命令创建了一个频段为40,WiFi名为zero3,网段为192.168.12.0/24的WiFi热点 sud ...

  5. 【Amadeus原创】查看正在运行的docker run参数

    如何查看一个运行docker 容器的docker run启动参数,假设没有使用docker-compose这样的编排工具. 现在我如何进行重启,如何找回此前的启动命令? [root@mysql3 ~] ...

  6. 使用pjsip封装自定义软电话sdk

    环境: window10_x64 & vs2022pjsip版本: 2.14.1python版本: 3.9.13 近期有关于windows环境下软电话sdk开发的需求,需要开发动态库给上层应用 ...

  7. R数据分析:网状meta分析的理解与实操

    meta分析之前有给大家写过,但是meta分析只能比较两个方法.经常是被用来证明在现有研究中显示矛盾结果的干预方法到底有没有效的时候使用,通过证据综合得到某种干预到底有没有用的结论.但是如果我要证明好 ...

  8. Linux系统手动安装Firefox浏览器

    大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如:Debian/Ubuntu: sudo apt-get install firefoxFedora: sud ...

  9. 龙哥量化:通达信财富币不够怎么办:K线训练营100%胜率,赚财富币

    通达信app的K线训练营中,[K线训练]和[K线对战]都需要花费[5财富币]进行训练,[K线对战]胜利的话可以获得10财富币.注意:是对战,对战,对战,那怎么才能每场都胜呢,哈哈,我们找到历史K线,对 ...

  10. 超实用 JMeter BeanShell Sampler 教程

    超实用 JMeter BeanShell Sampler 教程 宝子们,今天咱继续深挖 JMeter 里超厉害的 BeanShell Sampler,这次多来点实际工作中的例子,让你彻底搞懂它! 一. ...