mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-09 05:12:59 +08:00
193 lines
8.5 KiB
Markdown
193 lines
8.5 KiB
Markdown
---
|
||
sidebar: auto
|
||
prev: /usage/install
|
||
next: /usage/easy-use
|
||
---
|
||
|
||
# 全方位了解 Bison 的自行车
|
||
|
||
本节将详细列出 Bison 的使用方法,包括如何配置 Bison,如何使用 Bison 的后台管理网页,如何使用 Bison 的 API 等等
|
||
如果你想要快速上手 Bison,可以前往[简单使用](/usage/easy-use.md)
|
||
|
||
## 配置
|
||
|
||
::: tip INFO
|
||
|
||
- 如果要在在 nonebot 中配置需要的**Bison 配置项**,请参考[NoneBot 配置方式](https://v2.nonebot.dev/docs/appendices/config#dotenv-%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6),在`.env`/`.env.*`文件中写入希望配置的 Bison 配置项
|
||
- 请注意,在`.env`/`.env.*`中添加的配置项 **不** 需要声明变量类型
|
||
:::
|
||
|
||
- `BISON_TO_ME`: 是否需要@Bot 或使用 Bot 的 Nickname 来触发 Bison,默认为`True`
|
||
- `BISON_CONFIG_PATH`: 插件存放配置文件的位置,如果不设定默认为项目目录下的`data`目录
|
||
- `BISON_USE_PIC`: 将文字渲染成图片后进行发送,多用于规避风控
|
||
- `BISON_BROWSER`: 本插件使用 Chrome 来渲染图片
|
||
- 如果不进行配置,那么会在启动时候自动进行安装,在官方的 docker 镜像中已经安装了浏览器
|
||
- 使用本地安装的 Chrome,设置为`local:<chrome path>`,例如`local:/usr/bin/google-chrome-stable`
|
||
- 使用 cdp 连接相关服务,设置为`wsc://xxxxxxxxx`
|
||
- 使用 browserless 提供的 Chrome 管理服务,设置为`ws://xxxxxxxx`,值为 Chrome Endpoint
|
||
::: warning
|
||
截止发布时,本项目尚不能完全与 browserless 兼容,目前建议使用镜像内自带的浏览器,即
|
||
不要配置这个变量
|
||
:::
|
||
- `BISON_SKIP_BROWSER_CHECK`: 是否在启动时自动下载浏览器,如果选择`False`会在用到浏览器时自动下载,
|
||
默认`True`
|
||
- `BISON_OUTER_URL`: 从外部访问服务器的地址,默认为`http://localhost:8080/bison/`,如果你的插件部署
|
||
在服务器上,建议配置为`http://<你的服务器ip>:8080/bison/`
|
||
::: warning
|
||
请注意,该网址**并不能直接访问**Bison 的后台管理网页,正确的访问方法请参见[私聊机器人获取后台地址](#私聊机器人获取后台地址)
|
||
:::
|
||
::: tip
|
||
如果需要从外网或者 Docker 容器外访问后台页面,请确保`HOST=0.0.0.0`
|
||
:::
|
||
- `BISON_FILTER_LOG`: 是否过滤来自`nonebot`的 warning 级以下的 log,如果你的 bot 只运行了这个插件可以考虑
|
||
开启,默认关
|
||
- `BISON_USE_QUEUE`: 是否用队列的方式发送消息,降低发送频率,默认开
|
||
- `BISON_RESEND_TIMES`: 最大重发次数,默认 0
|
||
- `BISON_USE_PIC_MERGE`: 是否启用多图片时合并转发(仅限群)
|
||
|
||
- `0`: 不启用(默认)
|
||
- `1`: 首条消息单独发送,剩余图片合并转发
|
||
- `2`: 所有消息全部合并转发
|
||
|
||
::: details BISON_USE_PIC_MERGE 配置项示例
|
||
|
||
- 当`BISON_USE_PIC_MERGE=1`时:
|
||

|
||
- 当`BISON_USE_PIC_MERGE=2`时:
|
||

|
||
|
||
:::
|
||
::: warning
|
||
启用此功能时,可能会因为待推送图片过大/过多而导致文字消息与合并转发图片消息推送间隔过大(选择模式`1`时),请谨慎考虑开启。或者选择模式`2`,使图文消息一同合并转发(可能会使消息推送延迟过长)
|
||
:::
|
||
|
||
- `BISON_PROXY`: 使用的代理连接,形如`http://<ip>:<port>`(可选)
|
||
- `BISON_UA`: 使用的 User-Agent,默认为 Chrome
|
||
- `BISON_SHOW_NETWORK_WARNING`: 是否在日志中输出网络异常,默认为`True`
|
||
|
||
## 使用
|
||
|
||
::: warning
|
||
本节假设`COMMAND_START`设置中包含`''`
|
||
|
||
- 如果出现 bot 不响应的问题,请先排查这个设置
|
||
- 尝试在命令前添加设置的命令前缀,如`COMMAND_START=['/']`,则尝试使用`/添加订阅`
|
||
:::
|
||
|
||
### 命令
|
||
|
||
#### 在本群中进行配置
|
||
|
||
所有命令都需要@bot 触发
|
||
|
||
- 添加订阅(仅管理员和群主和 SUPERUSER):`添加订阅`
|
||
::: details 关于中止添加订阅
|
||
对于[**v0.5.1**](https://github.com/felinae98/nonebot-bison/releases/tag/v0.5.1)及以上的版本中,已经为`添加订阅`命令添加了中止添加功能。
|
||
在`添加订阅`命令的~~几乎~~各个阶段,都可以向 Bot 发送`取消`消息来中止订阅过程(需要发起者本人发送)
|
||
:::
|
||
- 查询订阅:`查询订阅`
|
||
- 删除订阅(仅管理员和群主和 SUPERUSER):`删除订阅`
|
||
::: details 关于中止删除订阅
|
||
对于[**v0.5.3**](https://github.com/felinae98/nonebot-bison/releases/tag/v0.5.3)及以上的版本中,已经为`删除订阅`命令添加了中止删除功能。
|
||
在`删除订阅`命令的~~几乎~~各个阶段,都可以向 Bot 发送`取消`消息来中止订阅过程(需要发起者本人发送)
|
||
:::
|
||
|
||
#### 私聊机器人获取后台地址
|
||
|
||
要管理订阅,请输入`后台管理`命令,然后点击回复中的链接。你的管理权限取决于你的身份:
|
||
|
||
- 如果你是 superuser,你可以管理所有群的订阅;
|
||
- 如果你是某些群的管理员,你可以管理这些群的订阅;
|
||
- 如果你不是任何群的管理员,bot 会提示你无法执行此操作。
|
||
|
||
::: tip
|
||
可以和 bot 通过临时聊天触发
|
||
:::
|
||
::: warning
|
||
bot 返回的链接是网页的唯一身份凭证,不要泄露给他人。
|
||
链接有时效性,过期后需重新向 bot 索取新链接。
|
||
:::
|
||
|
||
#### 私聊机器人进行配置(需要 SUPERUER 权限)
|
||
|
||
请私聊 bot`群管理`
|
||
::: details 关于中止订阅
|
||
与普通的[`添加订阅`/`删除订阅`](#在本群中进行配置)命令一样,在`群管理`命令中使用的`添加订阅`/`删除订阅`命令也可以使用`取消`来中止订阅过程
|
||
:::
|
||
|
||
### 命令行命令(CLI)
|
||
|
||
```CLI
|
||
Nonebot Bison CLI, 目前用于实现Bison订阅的导入导出功能
|
||
|
||
用法:
|
||
nb bison COMMAND [OPTIONS] [ARGS]
|
||
|
||
Command(命令):
|
||
|
||
export:
|
||
导出Nonebot Bison Exchangable Subcribes File
|
||
Options(选项):
|
||
-p, --path TEXT 导出路径, 如果不指定,则默认为工作目录
|
||
--format [json|yaml|yml] 指定导出格式[json, yaml],默认为 json
|
||
--help 显示帮助
|
||
|
||
import:
|
||
从Nonebot Biosn Exchangable Subscribes File导入订阅
|
||
Options(选项):
|
||
-p, --path TEXT 导入文件名 [必须]
|
||
--format [json|yaml|yml] 指定导入格式[json, yaml],默认为 json
|
||
--help 显示帮助
|
||
```
|
||
|
||
### 所支持平台的 uid
|
||
|
||
#### Weibo
|
||
|
||
- 对于一般用户主页`https://weibo.com/u/6441489862?xxxxxxxxxxxxxxx`,`/u/`后面的数字即为 uid
|
||
- 对于有个性域名的用户如:`https://weibo.com/arknights`,需要点击左侧信息标签下“更多”,链接为`https://weibo.com/6279793937/about`,其中中间数字即为 uid
|
||
|
||
#### Bilibili
|
||
|
||
主页链接一般为`https://space.bilibili.com/161775300?xxxxxxxxxx`,数字即为 uid
|
||
|
||
#### RSS
|
||
|
||
RSS 链接即为 uid
|
||
|
||
#### 网易云音乐-歌手
|
||
|
||
在网易云网页上歌手的链接一般为`https://music.163.com/#/artist?id=32540734`,`id=`
|
||
后面的数字即为 uid
|
||
|
||
#### 网易云音乐-电台
|
||
|
||
在网易云网页上电台的链接一般为`https://music.163.com/#/djradio?id=793745436`,`id=`
|
||
后面的数字即为 uid
|
||
|
||
### 平台订阅标签(Tag)
|
||
|
||
Tag 是社交平台中一种常见的功能,它用井号(#)作为前缀,标记关键词,方便用户搜索相关内容。
|
||
例如:`#明日方舟# #每日打卡#(微博、哔哩哔哩) #baracamp(推特)`
|
||
|
||
在 Bison 中,用户可以在添加平台账号订阅时(如果该平台支持 hashtag 功能),
|
||
选择需要订阅或屏蔽的 Tag。
|
||
|
||
订阅 Tag 的方法是直接向 Bison 发送一系列 Tag,用空格分隔。
|
||
例如:`A1行动预备组 罗德厨房——回甘`
|
||
|
||
屏蔽 Tag 的方法是在 Tag 前加上前缀~,也用空格分隔。
|
||
例如:`~123罗德岛 ~莱茵生命漫画`
|
||
|
||
订阅和屏蔽的 Tag 可以同时使用,按照上述方法发送即可。
|
||
例如:`A1行动预备组 ~123罗德岛 罗德厨房——回甘 ~莱茵生命漫画`
|
||
|
||
#### Tag 的推送规则
|
||
|
||
Bison 在处理每条推送时,会按照以下规则检查推送中的 Tag:
|
||
|
||
- 如果推送中含有任何已记录的**需屏蔽 Tag**,Bison 会直接**丢弃**该推送,不进行后续检查。
|
||
- 如果推送中含有任何已记录的**需订阅 Tag**,Bison 会将该推送发送到群中,不管是否有其他 Tag。
|
||
- 如果**没有记录**任何需订阅 Tag,Bison 会将所有通过第一条规则检查的推送发送到群中。
|
||
- 如果记录了至少一个需订阅 Tag,Bison 会**丢弃所有**不含任何需订阅 Tag 的推送,即使通过了第一条规则检查。
|