An open API service indexing awesome lists of open source software.

https://github.com/Well2333/nonebot-plugin-bilichat

一个废物写的屁用没有还一堆bug甚至不如停更三年的bot的垃圾项目罢了
https://github.com/Well2333/nonebot-plugin-bilichat

bilibili chatgpt nonebot-plugin nonebot2 openai summarizer summary

Last synced: 30 days ago
JSON representation

一个废物写的屁用没有还一堆bug甚至不如停更三年的bot的垃圾项目罢了

Awesome Lists containing this project

README

        


NoneBotPluginLogo


NoneBotPluginText


# nonebot-plugin-bilichat

_✨ 多功能的 B 站视频解析工具 ✨_


license


PyPI - Downloads


pypi

python


pdm-managed


Code style: black


QQ Chat Group


QQ Chat Group

## 💬

由于本人的学业压力以及来自腾讯和B站的双重风控,同时项目的使用者、社区支持度也寥寥无几,本人短时间内已无力也**没有意愿**进行新特性的开发,因此本项目将会进入维护状态,仅进行必要的 BUG 修复。

如果您有任何问题或建议,欢迎通过 Issue 或 Pull Request 为本项目进行贡献,本人在力所能及的范围内将会提供支持。

## 📖 介绍

视频链接解析,并根据其内容生成**基本信息**、**词云**和**内容总结**

手机端视图

![](docs/mobile.png)

基本信息

![style_blue](docs/style_blue.png)

## 💿 安装

使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装

nb plugin install nonebot-plugin-bilichat

使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令

pip

pip install nonebot-plugin-bilichat

pdm

pdm add nonebot-plugin-bilichat

poetry

poetry add nonebot-plugin-bilichat

conda

conda install nonebot-plugin-bilichat

打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入

plugins = ["nonebot_plugin_bilichat"]

## ⚙️ 配置

由于本项目存在大量支持热重载的配置参数,因此不能使用 `nonebot2` 的默认配置文件 `.env`,而是使用一个单独的 `config.yaml` 文件来存储配置。您可以通过在 `.env` 文件中设置 `bilichat_config_path` 来手动指定该文件的位置。

### 配置文件示例

您可以参考 [配置文件模板](https://github.com/Well2333/nonebot-plugin-bilichat/blob/v6.0.5/nonebot_plugin_bilichat/static/config.yaml) 来了解配置项及其含义。

## 🌐 WebUI

本项目提供了一个 WebUI 用于实时查看及部分热修改配置文件,启动时将会在日志中输出 WebUI 的访问地址,例如: `BiliChat WebUI 已启动 --> http://127.0.0.1:40094/bilichatwebui`

## 🔌 API

> 从 6.0.0 版本开始,`bilibili` 请求已迁移至 [bilichat-request](https://github.com/Well2333/bilichat-request) 模块,并改为 API 通讯方式。这一改进带来了多项优化:支持一对多的负载均衡、提升 Cookies 管理效率,并有效应对更严格的风控措施。同时,原本需要浏览器操作(如截图)的任务被移至远程服务器处理,从而减轻本地机器的内存压力。

### 部署远程 API

在部署完 [bilichat-request](https://github.com/Well2333/bilichat-request) 后,您只需在配置文件中填写相应的 API 地址即可。

```yaml
api:
request_api:
- api: "https://api.example.com" # API 地址
token: "your_api_token" # API Token (如果服务端未设置,留空)
weight: 1 # 权重,用于负载均衡,数值越大优先级越高
enable: true # 是否启用该 API
- api: "https://api2.example.com" # 可配置多个 API 地址
token: ...
weight: ...
enable: false
```

### 集成式部署 API

若您需要在 `nonebot2` 中集成 [bilichat-request](https://github.com/Well2333/bilichat-request),请确保已经安装并加载了 [FastAPI Driver](https://nonebot.dev/docs/next/advanced/driver#fastapi%E9%BB%98%E8%AE%A4),并执行以下命令安装依赖:

```bash
pip install bilichat-request
```

在配置文件中开启本地 API 服务:

```yaml
api:
local_api_config: # 本地 API 配置
enable: false # 是否启用本地 API(将其改为 true 开启本地 API)
api_access_token: "" # 本地 API Token
api_path: bilichatapi # 本地 API 挂载路径
api_sub_dynamic_limit: 720/hour # 动态订阅限速
api_sub_live_limit: 1800/hour # 直播订阅限速
# 更多配置请参考 bilichat-request 的配置文件
```

上述配置会作为启动参数传递给 `bilichat-request`。其他额外配置项可参考 [bilichat-request 配置文件](https://github.com/Well2333/bilichat-request/blob/main/src/bilichat_request/config.py)。

### 注意事项

- 初次启动时,系统将自动下载 Playwright 的浏览器内核。确保网络畅通。如果下载失败,您可以尝试设置 `playwright_download_host` 为国内镜像地址。

## 🎉 使用

直接发送视频(专栏)链接即可

### 参数表

在发送视频时,可以额外添加以下类似 shell 指令的参数,进而对解析流程进行调整。例如

```shell
BV12v4y1E7NT --force
BV12v4y1E7NT -f # 可以使用简写
```

| 指令 | 简写 | 说明 |
| :-----: | :---: | :------------------------: |
| --force | -f | 忽略 cd 时间,强制解析视频 |

### 指令表

指令部分由 `指令前缀` 和 `指令名` 组成,其中 `指令前缀` 包含 `COMMAND_START` `bilichat_cmd_start` `COMMAND_SEP` 三部分,默认的 `指令前缀` 为 `/bilichat.` ,即完整的指令为 `/bilichat.xxx`

`指令前缀` 部分也是可以修改的,例如 .env 中填入如下设置即可实现无 `指令前缀`

```dotenv
COMMAND_SEP=[""]
COMMAND_START=[""]
bilichat_cmd_start=""
```

`指令名` 如下表所示,其中除登录相关的指令均可自定义,可参考上文的 [指令及订阅配置项](#指令及订阅配置项)

| 指令 | 权限 | 范围 | 参数 | 说明 |
| :----------: | :----: | :----: | :-------------------------: | :--------------------------------: |
| sub | 主人 | 群聊 | UP 主的昵称或 UID | 添加订阅 |
| unsub | 主人 | 群聊 | UP 主的昵称或 UID,或 `all` | 移除订阅,all 时为全移除 |
| check | 无限制 | 群聊 | UP 主的昵称或 UID,或留空 | 查看本群订阅列表或指定 UP 主的配置 |
| checkdynamic | 无限制 | 无限制 | UP 主的昵称或 UID | 查看指定 UP 主的最新一条动态 |
| checklogin | 主人 | 无限制 | 无 | 查看当前已登录的全部账号 |
| qrlogin | 主人 | 无限制 | 无 | 使用二维码登录 B 站,防止风控 |
| logout | 主人 | 无限制 | 账号的 UID | 登出指定的账号 |

## 🙏 感谢

在此感谢以下开发者(项目)对本项目做出的贡献:

- [BibiGPT](https://github.com/JimmyLv/BibiGPT) 项目灵感来源
- [bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect) 易姐收集的各种 BiliBili Api 及其提供的 gRPC Api 调用方案
- [HarukaBot](https://github.com/SK-415/HarukaBot) 功能来源
- [BBot-Graia](https://github.com/djkcyl/BBot-Graia) 功能来源 ~~(我 牛 我 自 己)~~
- [ABot-Graia](https://github.com/djkcyl/ABot-Graia) 永远怀念最好的 ABot 🙏
- [bilireq](https://github.com/SK-415/bilireq) 项目曾经使用的 bilibili 请求库
- [nonebot-plugin-template](https://github.com/A-kirami/nonebot-plugin-template): 项目的 README 模板
- [Misaka-Mikoto-Tech](https://github.com/Misaka-Mikoto-Tech) 为本项目提交了多项 BUG 修复和代码参考
- [hamo-reid](https://github.com/hamo-reid) 为 style_blue 绘制了界面
- [dynamicrender](https://pypi.org/project/dynrender-skia/) 曾经提供了 t2i 和动态渲染
- [ALC](https://github.com/nonebot/plugin-alconna) 提供跨平台支持
- [凛雅](https://github.com/linya64) 提供开发意见及大量 BUG 反馈

## ⏳ Star 趋势

[![Stargazers over time](https://starchart.cc/Well2333/nonebot-plugin-bilichat.svg)](https://starchart.cc/Well2333/nonebot-plugin-bilichat)