一款适用于QQ群聊天的语录库插件
Project description
📖 介绍
一款适用于QQ群聊天的语录库插件。
- 上传聊天截图
- 随机投放聊天语录
- 根据关键词投放聊天语录
- 支持白名单内用户删除语录
- 支持为指定语录增删标签
-
批量处理已有聊天截图(测试功能) (版本更新,该功能暂时不可用,等后续更新)
你的star是对我最好的支持!
交流QQ群: 580407499
🎉 使用
上传
以上传指令回复图片消息,即可直接将图片上传至语录库中。
随机发送语录
@机器人,发送语录指令,机器人将从语录库中随机挑选一条语录发送。
关键词检索语录
@机器人,发送语录+关键词指令,机器人将从语录库中进行查找。若有匹配项,将从匹配项中随机一条发送;若无匹配项,将从整个语录库中随机挑选一条发送。
删除语录
回复机器人发出的语录,发送删除指令,机器人将执行删除操作。(该操作只允许设置的白名单用户进行,如何设置白名单请看下方配置)
增加/删除标签
回复语录图片,发送addtag+标签(addtag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录增加额外标签。
回复语录图片,发送deltag+标签(deltag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录删除不需要的标签。
指定标签检索语录
@机器人,发送语录+#号+标签,将从语录库中对指定标签进行查找。加#号后,将只对#号后的完整的词进行查找;不加#号会进行分词。
生成语录式图片
在配置好中文字体路径后,以“命令前缀+生成”,回复群内任意一句话,即可生成如下语录体图片,不录入语录库和本地保存,支持emoji渲染,推荐使用等宽黑体(例如更纱黑体)以达到最好效果。
上传语录式图片
在配置好中文字体路径后,以“命令前缀+记录”,回复群内任意一句话,即可生成如下语录体图片,录入语录库和本地保存,支持emoji渲染,推荐使用等宽黑体(例如更纱黑体)以达到最好效果。
详细命令
默认配置下,@机器人加指令即可。
| 指令 | 需要@ | 范围 | 说明 |
|---|---|---|---|
| 回复图片+上传 | 可选 | 群聊 | 上传图片至语录库 |
| 语录 + 关键词(可选) | 可选 | 群聊 | 根据关键词返回一个符合要求的图片, 没有关键词时随机返回 |
| 语录 + #标签 | 可选 | 群聊 | 根据标签返回一个符合要求的图片, 没有关键词时随机返回 |
| 回复机器人 + 删除 | 可选 | 群聊 | 删除该条语录 |
| 语句中包含语录 | 是 | 群聊 | 对如何使用语录进行说明 |
| 回复机器人 + addtag + 标签(addtag和标签之间需要空格) | 可选 | 群聊 | 为该条语录增加额外标签 |
| 回复机器人 + deltag + 标签(deltag和标签之间需要空格) | 可选 | 群聊 | 为该条语录删除指定标签 |
| 回复机器人 + alltag | 可选 | 群聊 | 查看该条语录所有标签 |
| 回复消息+记录 | 否 | 群聊 | 为回复消息生成语录式图片并记录至语录库,不能上传自己的语录 |
| 回复消息+生成 | 否 | 群聊 | 为回复消息生成语录式图片,不在本地存储 |
💿 安装
下载
- 通过包管理器安装,可以通过nb,pip,或者poetry等方式安装,以pip为例
pip install nonebot-plugin-quote -U
- 手动安装
git clone https://github.com/RongRongJi/nonebot_plugin_quote.git
- 使用nb-cli安装
nb plugin install nonebot-plugin-quote
⚙️ 配置
在 nonebot2 项目的 .env 文件中添加下表中的必填配置
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| FONT_PATH | 是 | None | 必要的语录中文字体文件路径(若不填,部分功能无法使用) |
| AUTHOR_FONT_PATH | 是 | None | 必要的作者中文字体文件路径(若不填,部分功能无法使用) |
| QUOTE_PATH | 否 | ./data | 可选,默认使用'./data' |
| RECORD_PATH | 否 | 'record.json' | 必要的json文件路径, 示例"/data/record.json" |
| INVERTED_INDEX_PATH | 否 | 'inverted_index.json' | 必要的json文件路径, 示例"/data/inverted_index.json" |
| QUOTE_SUPERUSER | 否 | 空字典 | 白名单字典(分群) |
| GLOBAL_SUPERUSER | 否 | 空数组 | 全局管理员(可以删除每个群的语录) |
| QUOTE_NEEDAT | 否 | True | 是否需要at机器人(开启上传通道必须at) |
| QUOTE_STARTCMD | 否 | '' | 增加指令前缀 |
RECORD_PATH和INVERTED_INDEX_PATH只需要配置,无需创建文件;若不配置RECORD_PATH和INVERTED_INDEX_PATH,将会自动在项目根目录下创建两个json文件。
QUOTE_SUPERUSER的示例如下:
{"群号1":["语录管理员qq号","语录管理员qq号"],"群号2":["语录管理员qq号"]}
GLOBAL_SUPERUSER的示例如下:
["全局管理员qq号"]
完整的.env配置可以参考以下内容
# linux环境下路径
RECORD_PATH=/home/your_name/your_path/record.json
INVERTED_INDEX_PATH=/home/your_name/your_path/inverted_index.json
FONT_PATH=/home/your_name/your_path/font.ttf
AUTHOR_FONT_PATH=/home/your_name/your_path/author_font.ttf
# Windows环境下路径
RECORD_PATH=D:\your_path\record.json
INVERTED_INDEX_PATH=D:\your_path\inverted_index.json
FONT_PATH=D:\your_path\font.ttf
AUTHOR_FONT_PATH=D:\your_path\author_font.ttf
QUOTE_PATH='./data'
QUOTE_SUPERUSER={"12345":["123456"],"54321":["123456","654321"]}
GLOBAL_SUPERUSER=["6666666"]
QUOTE_NEEDAT=True
QUOTE_STARTCMD=""
随后,在项目的pyproject.toml或bot.py中加上如下代码,加载插件(根据版本而定)
pyproject.toml中添加
# pip install的填这个
plugins = ["nonebot_plugin_quote"]
# 手动安装的填这个
plugin_dirs = ["nonebot_plugin_quote"]
或
bot.py中添加
# pip install的填这个
nonebot.load_plugin("nonebot_plugin_quote")
# 手动安装的填这个
nonebot.load_plugins("src/plugins", "nonebot_plugin_quote")
Change Log
点击展开更新日志
v0.2.0 (2023/3/20)
- 删除了对Docker OCR的依赖,现在无需使用Docker,直接安装插件运行即可
- 增加了删除语录功能,只有在白名单中的用户拥有删除权限
- 增加了部分gif的OCR能力,但目前并不准确
v0.2.2 (2023/3/21)
- 增加了全局管理员的设置,全局管理员拥有删除每个群语录库的权限
- 修复了一个关于上传后缀名不匹配的bug
v0.2.3 (2023/3/22)
- 在OCR识别文字后增加了换行长文字与不同文字段的识别,使分词更加准确
v0.3.0 (2023/3/28)
- 新增标签功能,包括针对一条语录【新增标签】、【删除标签】、【查看全部标签】
- 增加了初始文件的默认路径,不再需要用户手动创建文件
- IO统一为UTF-8
v0.3.2 (2023/3/29)
- 增加了是否需要at机器人的选项
- 增加了指令前缀
v0.3.4 (2023/4/2)
- 增加批量上传语录功能(试验版)
v0.3.5 (2023/4/14)
- 修改了匹配策略,使不同协议下的消息格式都可以匹配
- 增加批量备份语录功能(试验版)
v0.3.6 (2024/6/2)
- 更新了匹配规则,更改了ntQQ下图片无法识别的问题。
- 原作者在摆(大概)故V0.3.6之后版本暂时由Hanserprpr维护
v0.3.6.1 (2024/6/5)
- 更改ocr方式,从go-cqhttp自带ocr变更为使用PaddleOCR,增加llBot支持。go-cqhttp用户请注意env文件QUOTE_PATH_NEW配置正确。
- 首次使用会下载模型,时间可能较长(<1min),切记关闭代理。
- [TODO]适配Lagrange框架。
v0.3.7 (2024/11/7)
- 更改图片发送和匹配方式
- 自定义图片下载路径
- 修正tag问题
- 修复pydantic错误
- 主流框架适配
v0.3.8 (2024/11/10)
- 由于 Lagrange 未实现 get_image,更改图片下载方式以适配 Lagrange。
v0.3.9 (2025/2/11)
- 增加自动生成、记录语录图片功能,感谢Pigz2538提交
v0.4.0 (2025/3/12)
- 将上传功能进行改版,直接回复图片上传语录,感谢Pigz2538提交
v0.4.1 (2025/5/28)
- 解决event.reply.sender.card返回None而非空字符串的识别错误
- 由于最新的Pillow依赖移除了部分方法,因此本项目限定Pillow版本
v0.4.2 (2025/5/29)
- 适配lagrange框架
🎉 鸣谢
开发者
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_quote-0.4.2.tar.gz.
File metadata
- Download URL: nonebot_plugin_quote-0.4.2.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3ab293fe2386f9aa355be3d7422ca5e47f7152a881e639aeb6189e27aa13c7c
|
|
| MD5 |
f366299f968bd3ba7aea171e54137792
|
|
| BLAKE2b-256 |
e1ee458109209d14dd4ff2fe7571c4a4b6169c083a486e8d1024ceb51eaea61b
|
Provenance
The following attestation bundles were made for nonebot_plugin_quote-0.4.2.tar.gz:
Publisher:
python-publish.yml on RongRongJi/nonebot_plugin_quote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nonebot_plugin_quote-0.4.2.tar.gz -
Subject digest:
c3ab293fe2386f9aa355be3d7422ca5e47f7152a881e639aeb6189e27aa13c7c - Sigstore transparency entry: 222518529
- Sigstore integration time:
-
Permalink:
RongRongJi/nonebot_plugin_quote@6eccc9909d5401badccaee52599ac6a86fe0ffda -
Branch / Tag:
refs/tags/v0.4.2 - Owner: https://github.com/RongRongJi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6eccc9909d5401badccaee52599ac6a86fe0ffda -
Trigger Event:
release
-
Statement type:
File details
Details for the file nonebot_plugin_quote-0.4.2-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_quote-0.4.2-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
104d6521058514b6fb72514f2bc215839dc09c234d6f645e37bf02b23fb7b9e4
|
|
| MD5 |
c9abfbde59a3868a367a2669e8d44c26
|
|
| BLAKE2b-256 |
959280ad10520d09d3c290c64b3ba0583407bdcc98e00b10914c3581ca127a81
|
Provenance
The following attestation bundles were made for nonebot_plugin_quote-0.4.2-py3-none-any.whl:
Publisher:
python-publish.yml on RongRongJi/nonebot_plugin_quote
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nonebot_plugin_quote-0.4.2-py3-none-any.whl -
Subject digest:
104d6521058514b6fb72514f2bc215839dc09c234d6f645e37bf02b23fb7b9e4 - Sigstore transparency entry: 222518538
- Sigstore integration time:
-
Permalink:
RongRongJi/nonebot_plugin_quote@6eccc9909d5401badccaee52599ac6a86fe0ffda -
Branch / Tag:
refs/tags/v0.4.2 - Owner: https://github.com/RongRongJi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6eccc9909d5401badccaee52599ac6a86fe0ffda -
Trigger Event:
release
-
Statement type: