Skip to main content

一款适用于QQ群聊天的语录库插件

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-quote

✨ QQ群聊 语录库 ✨

🧬 支持OCR识别,关键词搜索 | 一起记录群友的逆天言论吧!🎉

license Python NoneBot pypi

📖 介绍

一款适用于QQ群聊天的语录库插件。

你的star是对我最好的支持!

交流QQ群: 580407499

🎉 使用

上传

@机器人,发送上传指令,开启上传通道。

以图片的形式发送聊天语录,即可将语录上传至语录库中。

直接回复结束,即可终止上传通道。

随机发送语录

@机器人,发送语录指令,机器人将从语录库中随机挑选一条语录发送。

关键词检索语录

@机器人,发送语录+关键词指令,机器人将从语录库中进行查找。若有匹配项,将从匹配项中随机一条发送;若无匹配项,将从整个语录库中随机挑选一条发送。

删除语录

回复机器人发出的语录,发送删除指令,机器人将执行删除操作。(该操作只允许设置的白名单用户进行,如何设置白名单请看下方配置)

增加/删除标签

回复语录图片,发送addtag+标签(addtag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录增加额外标签。

回复语录图片,发送deltag+标签(deltag后需加空格,可以多个标签,每个标签之间用空格分隔),为指定语录删除不需要的标签。

指定标签检索语录

@机器人,发送语录+#号+标签,将从语录库中对指定标签进行查找。加#号后,将只对#号后的完整的词进行查找;不加#号会进行分词。

详细命令

默认配置下,@机器人加指令即可。

指令 需要@ 范围 说明
上传/开始上传/上传开始 必须 群聊 开启语录上传通道
语录上传通道开启后直接发送图片 群聊 上传图片至语录库
语录 + 关键词(可选) 可选 群聊 根据关键词返回一个符合要求的图片, 没有关键词时随机返回
语录 + #标签 可选 群聊 根据标签返回一个符合要求的图片, 没有关键词时随机返回
回复机器人 + 删除 可选 群聊 删除该条语录
语句中包含语录 群聊 对如何使用语录进行说明
回复机器人 + addtag + 标签(addtag和标签之间需要空格) 可选 群聊 为该条语录增加额外标签
回复机器人 + deltag + 标签(deltag和标签之间需要空格) 可选 群聊 为该条语录删除指定标签
回复机器人 + alltag 可选 群聊 查看该条语录所有标签

💿 安装

下载

  1. 通过包管理器安装,可以通过nb,pip,或者poetry等方式安装,以pip为例
pip install nonebot-plugin-quote -U
  1. 手动安装
git clone https://github.com/RongRongJi/nonebot_plugin_quote.git
  1. 使用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_PATHINVERTED_INDEX_PATH只需要配置,无需创建文件;若不配置RECORD_PATHINVERTED_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.tomlbot.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错误
  • 主流框架适配

🎉 鸣谢

  • NoneBot2:本插件使用的开发框架。
  • go-cqhttp:稳定完善的 CQHTTP 实现。

开发者

contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_quote-0.3.7.5.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_quote-0.3.7.5-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_quote-0.3.7.5.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_quote-0.3.7.5.tar.gz
Algorithm Hash digest
SHA256 3827307333ebfc4096cc38482af60b0f67910b3124982abc75c74e91a2c7ed7c
MD5 012adef58b48833fc84f49199b247105
BLAKE2b-256 167f0f8992c5cafff59ef0f0a12391cfcfcb4befd9a850b90ad38e8fc68a31bc

See more details on using hashes here.

Provenance

File details

Details for the file nonebot_plugin_quote-0.3.7.5-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_quote-0.3.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3848524bfc422c6c6bae56ebb59a6ba7a37ae394af6c103d071de73928e96e51
MD5 b23a15dc130a590414f08c41f403d8a5
BLAKE2b-256 6c2d682670da1a79ef742aa34e99d4aaa6e4194a984158b0c0a8e2aa84c0864e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page