本节将教你快速部署和使用一个 nonebot-bison,如果你不知道要选择哪种部署方式,推荐使用docker-compose
本项目可以作为单独的 Bot 使用,可以作为 nonebot2 的插件使用
额外提供自动同意超级用户的好友申请和同意超级用户的加群邀请的功能
在一个新的目录中下载docker-compose.yml
将其中的<your QQ>
改成自己的 QQ 号
wget https://raw.githubusercontent.com/felinae98/nonebot-bison/main/docker-compose.yml
运行配置 go-cqhttp
docker-compose run go-cqhttp
通信方式选择:3: 反向 Websocket 通信
编辑bot-data/config.yml
,更改下面字段:
account: # 账号相关
uin: <QQ号> # QQ账号
password: "<QQ密码>" # 密码为空时使用扫码登录
message:
post-format: array
............
servers:
- ws-reverse:
universal: ws://nonebot:8080/onebot/v11/ws/ # 将这个字段写为这个值
登录 go-cqhttp 再次
docker-compose run go-cqhttp
参考go-cqhttp 文档
确定完成登录后,启动 bot:
docker-compose up -d
本项目的 docker 镜像为felinae98/nonebot-bison
,可以直接 pull 后 run 进行使用,
相关配置参数可以使用-e
作为环境变量传入
可以参考nonebot 的运行方法
DANGER
直接克隆源代码需要自行编译前端,否则会出现无法使用管理后台等情况。
DANGER
本项目中使用了 Python 3.9 的语法,如果出现问题,请检查 Python 版本
poetry install
安装依赖admin-fronted
中运行yarn && yarn build
编译前端.env.prod
配置各种环境变量,见Nonebot2 配置poetry run python bot.py
启动机器人本部分假设大家会部署 nonebot2
nonebot-bison
bot.py
中导入插件nonebot_bison
使用nb-cli
执行:nb plugin install nonebot_bison
可参考源文件
BISON_CONFIG_PATH
: 插件存放配置文件的位置,如果不设定默认为项目目录下的data
目录
BISON_USE_PIC
: 将文字渲染成图片后进行发送,多用于规避风控
BISON_BROWSER
: 本插件使用 Chrome 来渲染图片
ws://xxxxxxxx
,值为 Chrome Endpoint(推荐)wsc://xxxxxxxxx
local:<chrome path>
,例如local:/usr/bin/google-chrome-stable
WARNING
截止发布时,本项目尚不能完全与 browserless 兼容,目前建议使用镜像内自带的浏览器,即 不要配置这个变量
BISON_SKIP_BROWSER_CHECK
: 是否在启动时自动下载浏览器,如果选择False
会在用到浏览器时自动下载,
默认True
BISON_OUTER_URL
: 从外部访问服务器的地址,默认为http://localhost:8080/bison
,如果你的插件部署
在服务器上,建议配置为http://<你的服务器ip>:8080/bison
BISON_FILTER_LOG
: 是否过滤来自nonebot
的 warning 级以下的 log,如果你的 bot 只运行了这个插件可以考虑
开启,默认关
BISON_USE_QUEUE
: 是否用队列的方式发送消息,降低发送频率,默认开
BISON_RESEND_TIMES
: 最大重发次数,默认 0
BISON_USE_PIC_MERGE
: 是否启用多图片时合并转发(仅限群)
0
: 不启用(默认)1
: 首条消息单独发送,剩余图片合并转发2
: 所有消息全部合并转发BISON_USE_PIC_MERGE=1
时:
BISON_USE_PIC_MERGE=2
时:
WARNING
启用此功能时,可能会因为待推送图片过大/过多而导致文字消息与合并转发图片消息推送间隔过大(选择模式1
时),请谨慎考虑开启。或者选择模式2
,使图文消息一同合并转发(可能会使消息推送延迟过长)
WARNING
本节假设COMMAND_START
设置中包含''
COMMAND_START=['/']
,则尝试使用/添加订阅
所有命令都需要@bot 触发
添加订阅
查询订阅
删除订阅
后台管理
,之后点击返回的链接
如果你是 superuser,那么你可以管理所有群的订阅;如果你是 bot 所在的群的其中部分群的管理,
你可以管理你管理的群里的订阅;如果你不是任意一个群的管理,那么 bot 将会报错。
TIP
可以和 bot 通过临时聊天触发
WARNING
网页的身份鉴别机制全部由 bot 返回的链接确定,所以这个链接并不能透露给别人。 并且链接会过期,所以一段时间后需要重新私聊 bot 获取新的链接。
管理-添加订阅
管理-查询订阅
管理-删除订阅
https://weibo.com/u/6441489862?xxxxxxxxxxxxxxx
,/u/
后面的数字即为 uidhttps://weibo.com/arknights
,需要点击左侧信息标签下“更多”,链接为https://weibo.com/6279793937/about
,其中中间数字即为 uid主页链接一般为https://space.bilibili.com/161775300?xxxxxxxxxx
,数字即为 uid
RSS 链接即为 uid
在网易云网页上歌手的链接一般为https://music.163.com/#/artist?id=32540734
,id=
后面的数字即为 uid
在网易云网页上电台的链接一般为https://music.163.com/#/djradio?id=793745436
,id=
后面的数字即为 uid