A powerful auto reply plugin for NoneBot2
Project description
📖 介绍
一个简单的关键词自动回复插件,支持 模糊匹配、完全匹配 与 正则匹配,配置文件高度自定义
因为商店里没有我想要的那种关键词回复,所以我就自己写了一个
这个插件是从 ShigureBot 那边拆出来的,我重写了一下做成了单品插件
插件并没有经过深度测试,如果在使用中遇到任何问题请一定一定要过来发 issue 向我汇报,我会尽快解决
如果有功能请求也可以直接发 issue 来 dd 我
💿 安装
[推荐] 使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-autoreply
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install nonebot-plugin-autoreply
pdm
pdm add nonebot-plugin-autoreply
poetry
poetry add nonebot-plugin-autoreply
conda
conda install nonebot-plugin-autoreply
打开 nonebot2 项目的 bot.py
文件, 在其中写入
nonebot.load_plugin('nonebot_plugin_autoreply')
⚙️ 配置
回复配置
插件的配置文件位于 data/autoreply/replies.json
下
因为把这种东西写在 env 里会太紧凑不易读,所以我单独弄出来了
请根据下面的注释来编辑配置文件,实际配置文件内不要有注释
[
{
// 消息的匹配规则,可以放置多个
"matches": [
{
// 用于匹配消息的文本
"match": "测试",
// 匹配模式,可选 `full`(完全匹配)、`fuzzy`(模糊匹配)、`regex`(正则匹配)
// 在正则匹配下,请使用 `\\` 在 json 里的正则表达式里表示 `\`,因为 json 解析时本身就会将 `\` 作为转义字符
// 可以不填,默认为 `fuzzy`
"type": "fuzzy",
// 是否需要 at 机器人才能触发(叫机器人昵称也可以)
// 可以不填,默认为 `false`
"to_me": false,
// 是否忽略大小写
// 可以不填,默认为 `true`
"ignore_case": true,
// 是否去掉消息前后的空格再匹配
// 可以不填,默认为 `true`
"strip": true,
// 当带 cq 码的消息匹配失败时,是否使用去掉 cq 码的消息再匹配一遍
// 可以不填,默认为 `true`
"allow_plaintext": true
},
// 如果规则为一个字符串,则会转换为一个属性全部默认的 `match` 来匹配
"测试2"
// 更多匹配规则...
],
// 匹配成功后,回复的消息
// 如果有多个,将随机抽取一个回复
"replies": [
// type=normal 时,message 需要为字符串,会解析 message 中的 CQ 码并发送
{
"type": "normal",
"message": "这是一条消息,可以使用CQ码[CQ:image,file=https://pixiv.re/103981177.png]"
},
// 直接写字符串也能表示 type=normal
"这是一条消息,可以使用CQ码[CQ:image,file=https://pixiv.re/103981177.png]",
// type=plain 时,message 需要为字符串,但是 message 中的 CQ 码不会被解析
{
"type": "plain",
"message": "这条消息后面的CQ码会以原样发送[CQ:at,qq=3076823485]"
},
// 直接写 @ 开头的字符串也能表示 type=plain
"@这条消息后面的CQ码也会以原样发送[CQ:at,qq=3076823485]",
// type=array 时,message 中需要填 CQ 码的 json 格式
{
"type": "array",
"message": [
{
"type": "text",
"data": {
"text": "我后面带了一张图片哦"
}
},
{
"type": "image",
"data": {
"file": "https://pixiv.re/103981177.png"
}
}
]
},
// 直接写数组也能代表 type=array
[
{
"type": "text",
"data": {
"text": "我可以正常发送哦"
}
}
],
// type=multi 时,message 需要为上面提到的消息类型的数组
// 会按顺序发送 message 中的所有内容
// message 中不允许嵌套其他的 type=multi 类型的回复
{
"type": "multi",
// delay 是每条消息发送成功后的延时,格式为 [最低延时, 最高延时]
// 单位为毫秒(1000 毫秒 = 1 秒),可以不填,默认为 [0, 0]
"delay": [1000, 1000],
"message": [
"hello! 一会给你发张图哦~",
"[CQ:image,file=https://pixiv.re/103981177.png]一会给你分享首歌哦awa~",
[
{
"type": "music",
"data": {
"type": "163",
"id": "2008994667"
}
}
]
]
}
// 更多消息...
],
// 过滤指定群聊
// 可以不填,默认为空的黑名单
"groups": {
// 黑名单类型,可选 `black`(黑名单)、`white`(白名单)
"type": "black",
// 要过滤的群号
"values": [
123456789, 987654321
// 更多群号...
]
},
// 过滤指定用户
// 可以不填,默认为空的黑名单
"users": {
// 黑名单类型,可选 `black`(黑名单)、`white`(白名单)
"type": "black",
// 要过滤的QQ号
"values": [
1145141919, 9191415411
// 更多QQ号...
]
}
}
// ...
]
常规配置
下方的配置皆为可选,如果不需要可以忽略不配置
配置项请参考下面的文本
# matcher 是否阻断消息,默认 False
AUTOREPLY_BLOCK=False
# matcher 优先级
AUTOREPLY_PRIORITY=99
💬 指令
重载自动回复
此命令用于重载自动回复配置,仅 SUPERUSER
可以执行
📞 联系
QQ:3076823485
Telegram:@lgc2333
吹水群:1105946125
邮箱:lgc2333@126.com
💰 赞助
感谢大家的赞助!你们的赞助将是我继续创作的动力!
-
赞助二维码(点击展开)
📝 更新日志
0.2.4
- 让字符串可以作为默认属性的
match
使用 - 让
@
开头的字符串reply
解析为plain
形式的回复
0.2.3
- 修复一处 py 3.8 无法使用的类型注解
0.2.2
- 修复群聊和用户过滤器无法正常使用的问题
0.2.1
- 修复多
match
无法使用的问题
0.2.0
- 使用
rule
匹配消息,避免日志刷屏 - 支持一次回复多条消息,调整配置文件结构
- 增加了两个
.env
配置项 - 增加热重载配置文件的指令
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
File details
Details for the file nonebot_plugin_autoreply-0.2.4.tar.gz
.
File metadata
- Download URL: nonebot_plugin_autoreply-0.2.4.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.5.3 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff954dbdfb4dd31019579ffa020de37f1bf32e6fa360137a205c47e04d56e639 |
|
MD5 | e93cc3c140a6b711f9b258a1f90b7c89 |
|
BLAKE2b-256 | ebcb76dc8d76406d7d7a92214417e0fc6eaf52eea17ab8274ca8170f88eeed21 |
File details
Details for the file nonebot_plugin_autoreply-0.2.4-py3-none-any.whl
.
File metadata
- Download URL: nonebot_plugin_autoreply-0.2.4-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.5.3 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d46c4befcd47c20886ca40f26e1f92397aff2a6b807b4e16b78e477846890775 |
|
MD5 | 8500d9fdd4fb1f77e3ddeb3193a37605 |
|
BLAKE2b-256 | 6e4f002f0c3c2b8d6a5195e5ed09752ef52f5e35e26d8147a79dc5c7a962dd72 |