Skip to main content

识别目标并撤回图片插件

Project description

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.1

  • 优化模型自动更新(可能是反向优化)

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

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

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_nailongremove-2.2.1.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file nonebot_plugin_nailongremove-2.2.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_nailongremove-2.2.1.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.20.0.post1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for nonebot_plugin_nailongremove-2.2.1.tar.gz
Algorithm Hash digest
SHA256 cc9de3fe6731b99f05487355316ddebce14693a4aae7fa2a0eb08d82c051f205
MD5 a5fa592273f5ae3e6ec1128789717cca
BLAKE2b-256 e5cf5f05fe0752aa0859c24680ba950ac62a69afa36b46250afa1dbfca6a958d

See more details on using hashes here.

File details

Details for the file nonebot_plugin_nailongremove-2.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_nailongremove-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d9c39c8a3c49decdc1297d3fa41f91391b67266b5a76a800ff76c54af3e29f4
MD5 029c1c5fa5b32b8e2c83b792e08c2044
BLAKE2b-256 c92934fec82c3e350ab4d63b2d09092a3f1b7a6345efcc4340ac79408bf1fe62

See more details on using hashes here.

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