一款适用于QQ群聊天的语录库插件
Project description
📖 介绍
一款适用于QQ群聊天的语录库插件。
- 上传聊天截图
- 随机投放聊天语录
- 根据关键词投放聊天语录
- 支持白名单内用户删除语录
- 支持为指定语录增删标签
- 批量处理已有聊天截图(测试功能)
你的star是对我最好的支持!
交流QQ群: 580407499
🎉 使用
上传
@机器人,发送上传指令,开启上传通道。
以图片的形式发送聊天语录,即可将语录上传至语录库中。
直接回复结束,即可终止上传通道。
随机发送语录
@机器人,发送语录指令,机器人将从语录库中随机挑选一条语录发送。
关键词检索语录
@机器人,发送语录+关键词指令,机器人将从语录库中进行查找。若有匹配项,将从匹配项中随机一条发送;若无匹配项,将从整个语录库中随机挑选一条发送。
删除语录
回复机器人发出的语录,发送删除指令,机器人将执行删除操作。(该操作只允许设置的白名单用户进行,如何设置白名单请看下方配置)
增加/删除标签
回复语录图片,发送addtag+标签(addtag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录增加额外标签。
回复语录图片,发送deltag+标签(deltag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录删除不需要的标签。
指定标签检索语录
@机器人,发送语录+#号+标签,将从语录库中对指定标签进行查找。加#号后,将只对#号后的完整的词进行查找;不加#号会进行分词。
详细命令
默认配置下,@机器人加指令即可。
指令 | 需要@ | 范围 | 说明 |
---|---|---|---|
上传/开始上传/上传开始 | 必须 | 群聊 | 开启语录上传通道 |
语录上传通道开启后直接发送图片 | 否 | 群聊 | 上传图片至语录库 |
语录 + 关键词(可选) | 可选 | 群聊 | 根据关键词返回一个符合要求的图片, 没有关键词时随机返回 |
语录 + #标签 | 可选 | 群聊 | 根据标签返回一个符合要求的图片, 没有关键词时随机返回 |
回复机器人 + 删除 | 可选 | 群聊 | 删除该条语录 |
语句中包含语录 | 是 | 群聊 | 对如何使用语录进行说明 |
回复机器人 + 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
文件中添加下表中的必填配置
配置项 | 必填 | 默认值 | 说明 |
---|---|---|---|
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
# Windows环境下路径
RECORD_PATH=D:\your_path\record.json
INVERTED_INDEX_PATH=D:\your_path\inverted_index.json
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错误
- 主流框架适配
🎉 鸣谢
开发者
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
Hashes for nonebot_plugin_quote-0.3.7.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3827307333ebfc4096cc38482af60b0f67910b3124982abc75c74e91a2c7ed7c |
|
MD5 | 012adef58b48833fc84f49199b247105 |
|
BLAKE2b-256 | 167f0f8992c5cafff59ef0f0a12391cfcfcb4befd9a850b90ad38e8fc68a31bc |
Hashes for nonebot_plugin_quote-0.3.7.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3848524bfc422c6c6bae56ebb59a6ba7a37ae394af6c103d071de73928e96e51 |
|
MD5 | b23a15dc130a590414f08c41f403d8a5 |
|
BLAKE2b-256 | 6c2d682670da1a79ef742aa34e99d4aaa6e4194a984158b0c0a8e2aa84c0864e |