奶龙自动撤回
Go to file
2024-11-04 11:24:40 +08:00
.github/workflows Create pypi-publish.yml 2024-10-29 12:59:01 +08:00
docs up 2024-10-31 00:27:13 +08:00
nonebot_plugin_nailongremove optimize update process 2024-11-04 11:24:40 +08:00
.gitignore Initial commit 2024-09-13 21:54:48 +08:00
LICENSE Initial commit 2024-09-13 21:54:48 +08:00
pdm.lock up 2024-10-31 19:38:15 +08:00
pyproject.toml up 2024-10-31 19:38:15 +08:00
README.md up 2024-10-31 20:11:35 +08:00

NoneBotPluginLogo

NoneBotPluginText

Nonebot-Plugin-NaiLongRemove

一个基于 AI 模型的简单插件~

python pdm-managed
Pydantic Version 1 Or 2 license pypi pypi download
NoneBot Registry Supported Adapters

📖 介绍

声明

本插件仅供娱乐和学习交流。

简介

NaiLongRemove 是一款由简单的 AI 模型建立的奶龙识别插件,可以识别群中的奶龙表情包并撤回该表情。

技术

目前插件支持两种模型,可通过配置文件更换,详见文档下方配置一节。
用户可以根据需要自行选择心仪的模型,两个模型性能都已经经过优化,但仍可能会有不同程度的误差,也欢迎各位继续反馈给我们~

💿 安装

如果你从来没接触过 NoneBot请查看 这个文档

以下提到的方法 任选其一 即可

[推荐] 使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-nailongremove
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-nailongremove
pdm
pdm add nonebot-plugin-nailongremove
poetry
poetry add nonebot-plugin-nailongremove
conda
conda install nonebot-plugin-nailongremove

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分的 plugins 项里追加写入

[tool.nonebot]
plugins = [
    # ...
    "nonebot_plugin_nailongremove"
]

⚙️ 配置

在 nonebot2 项目的 .env 文件中添加下表中的必填配置

配置项 必填 默认值 说明
全局配置
PROXY None 下载模型等文件时使用的代理地址
响应配置
NAILONG_BYPASS_SUPERUSER True 是否不检查超级用户发送的图片
NAILONG_BYPASS_ADMIN True 是否不检查群组管理员发送的图片
NAILONG_NEED_ADMIN False 当自身不为群组管理员时是否不检查群内所有图片
NAILONG_LIST_SCENES [] 聊天场景 ID 黑白名单列表
在单级聊天下为该聊天 ID如 QQ 群号;
在多级聊天下为以 _ 分割的各级聊天 ID如频道下的子频道或频道下私聊
NAILONG_BLACKLIST True 是否使用黑名单模式
NAILONG_PRIORITY 100 Matcher 优先级
行为配置
NAILONG_RECALL True 是否撤回消息
NAILONG_MUTE_SECONDS 0 设置禁言时间,默认为 0 即不禁言
单位:秒
NAILONG_TIP 本群禁止发奶龙! 发送的提示,使用 Alconna 的消息模板,可用变量见下
NAILONG_FAILED_TIP {:Reply($message_id)}呜,不要发奶龙了嘛 🥺 👉👈 撤回失败或禁用撤回时发送的提示,同上
模型通用配置
NAILONG_MODEL_DIR ./data/nailongremove 模型的下载位置
NAILONG_MODEL 0 选择需要加载的模型,可用模型见下
NAILONG_AUTO_UPDATE_MODEL True 是否自动更新模型
NAILONG_CONCURRENCY 1 当图片为动图时,针对该图片并发识别图片帧的最大并发数
NAILONG_ONNX_TRY_TO_USE_GPU True 加载 onnx 模型时是否尝试使用 GPU如果失败则会显示一串警告但是对插件并无影响如果不想看见警告关闭此配置项即可
模型 1 特定配置
NAILONG_MODEL1_YOLOX_SIZE [416,416] 针对模型 1自定义模型输入可能会有尺寸更改
NAILONG_MODEL1_TYPE tiny 模型 1 使用的模型类型,可用 tiny / m
NAILONG_MODEL1_SCORE 0.5 模型 1 置信度阈值,范围 0 ~ 1
杂项配置
NAILONG_GITHUB_TOKEN None GitHub Access Token遇到模型下载或更新问题时可尝试填写

可用模型

消息模板可用变量

变量名 类型 说明
$event Event 当前事件
$target Target 事件目标
$message_id str 消息 ID
$msg UniMessage 当前消息
$ss Session 当前会话
$checked_image bytes 框选出对应目标后的图片,仅在模型配置为 1 时存在

🎉 使用

只要有人发奶龙表情包被识别出来,就会被撤回并提醒。

📞 联系

  • Nonebot2 官方交流群768887710基础的安装部署问题可在这里询问
  • 人工智能学习交流群949992679学习交流 AI 相关技术可以来这里捏)
  • 机器人插件学习交流群200980266机器人 BUG 模型精度等问题反馈来这里哟)

欢迎大家进群一起学习交流~

📝 更新日志

2.2.0

  • 重命名配置项 NAILONG_YOLOX_SIZE -> NAILONG_MODEL1_YOLOX_SIZE
  • 模型 1 现可以自动获取最新版本,也可以通过配置选择要使用的模型类型
  • 模型 1 现可通过配置项控制识别置信度阈值
  • 加载 onnx 模型时会默认尝试使用 GPU如果失败则会显示一串警告如果不想看见警告参考上面关闭对应配置

2.1.4

  • 修复 NAILONG_NEED_ADMIN 配置不生效的 Bug

2.1.3

  • 修复忽略群管与超级用户无效的 Bug

2.1.2

  • 重构部分代码,修复潜在 Bug

2.1.1

  • 新增变量 $checked_image

2.1.0

  • 从原仓库下载模型

2.0.0

  • 重构插件,适配多平台
  • 更新了两个新模型,优化了模型精度,用户可自行选择其中之一进行推理
  • 增加了禁言、群黑白名单、可选关闭管理员检测等功能
  • 增加了自动更新模型可选