Skip to main content

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

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-quote

✨ QQ群聊 语录库 ✨

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

license Python NoneBot pypi

📖 介绍

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

  • 上传聊天截图
  • 随机投放聊天语录
  • 根据关键词投放聊天语录
  • 支持白名单内用户删除语录
  • 支持为指定语录增删标签
  • 回复协议更新使回复语录+指令的功能暂时无法正常工作

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

🎉 使用

上传

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

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

随机发送语录

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

关键词检索语录

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

删除语录

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

增加/删除标签

回复语录图片,发送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 文件中添加下表中的必填配置

配置项 必填 默认值 说明
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_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.1 (2023/3/28)

  • 适配了一个不同版本reply格式不同的问题

v0.3.2 (2023/3/29)

  • 增加了是否需要at机器人的选项
  • 增加了指令前缀

🎉 鸣谢

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

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.2.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_quote-0.3.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nonebot_plugin_quote-0.3.2.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.8.10 Linux/5.15.0-1034-azure

File hashes

Hashes for nonebot_plugin_quote-0.3.2.tar.gz
Algorithm Hash digest
SHA256 5f3ef6f91476184ee661db6a18793b13958a5f578ccfee73b23e2568e0be377f
MD5 072f2a9318aa27474b9937cabc50ead5
BLAKE2b-256 5d511b6a73a824347c787d7ab4ff583ba9bfb19b80724b770383e3bd9bdb0bea

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_quote-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ca4e0f9111b3630140150d878f58d6a42f5137adfc7a23d889d3890b62adc2e
MD5 88bc602c3ad4118488f0d25b9331dc71
BLAKE2b-256 99d201010311957faae6f34f5757871cdb76ac4d7096d18e1fbc4eca09fd0ea2

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