Skip to main content

防刷屏!nonebot2插件,检测群内重复或相似消息,并自动撤回与禁言刷屏成员

Project description

logo

NoneBot-Plugin-NoSpam

✨ NoneBot2 群刷屏防护插件 ✨

python nonebot2 uv license

📖 介绍

nonebot-plugin-nospam 是一款(ps:依托alconna,理论上其他平台也能支持)全自动、高智能的防刷屏 NoneBot2 插件。

插件在滑动时间窗口内,通过文本模糊匹配图像感知哈希识别刷屏行为,可以识别“相似图片/文本”等刷屏方式。检测到刷屏后,插件会自动撤回刷屏消息并进行禁言处理(如果配置)。且使用计数方式统计刷屏,例如设定刷屏阈值为4条,某用户依次发送“1”“1”“2”“1”“1”五条消息,则插件会精确撤回四个“1”,不撤回“2”。

🚀 核心特性

  • 🧩 适配器兼容:消息解析与撤回基于 nonebot-plugin-alconna uniseg,理论上兼容alconna支持的所有适配器。
  • 🧠 智能文本检测:通过文本结构归一化和 Levenshtein 模糊算法相似度计算,防范形变与掺杂无意义字符的文字刷屏。
  • 👁️ 视觉查重检测:通过图像感知计算,提取得出平均哈希、差异哈希、图像边缘与区域签名,识别出经过压缩或尺寸变化后的重复图片同时,防止大体结构相同但内容不同的图片被拦截。
  • 👉 互动事件拦截:支持“群戳一戳”等触发事件的连续刷屏拦截。
  • ⚡ 全自动惩罚措施:自由配置滑动窗口期触发阈值,自动禁言成员并批量撤回窗口期内的相关联刷屏消息。
  • 🛡️ 动态权限感知:无需重启!机器人在群内被提为管理员或降级时,插件能动态感知自身权限状态,决定接管还是挂起对应群的检测任务,避免产生不必要的 API 调用,降低风控风险。

📥 安装配置

安装方式

使用 nb-cli 安装

nb plugin install nonebot-plugin-nospam

使用 pip 安装

pip install nonebot-plugin-nospam

如果使用 pip 安装,请记得在 NoneBot 项目的 pyproject.tomlbot.py(真的还有人在用这玩意吗?) 中手动加载插件。

⚙️ 环境配置

在项目的 .env.* 配置文件中按需添加配置:

配置项 类型 默认值 描述
nospam_list_mode string "whitelist" 过滤策略,可选 "whitelist" (白名单) 或 "blacklist" (黑名单)。
nospam_groups set[int] [] 设置白名单或黑名单涉及的群号列表。如 [12345678, 87654321]
nospam_window_seconds int 15 滑动检测窗口时长(单位:秒)。即统计这 N 秒内同一个人发送的消息。
nospam_threshold int 4 刷屏触发阈值限制(最小为2)。当在同一窗口期内相似消息条数达到此值时执行处罚。
nospam_similarity_threshold float 0.9 文本模糊匹配的重合度相似度阈值(范围 0.0 ~ 1.0)。
nospam_mute_duration int 600 命中刷屏后自动禁言时长(单位:秒)。如果设为 0 则仅撤回刷屏内容而不禁言。
nospam_ignore_self bool true 是否忽略机器人自身发出的消息和各类事件。

配置文件示例:

nospam_list_mode="whitelist"
nospam_groups='["111111111", "222222222"]'
nospam_window_seconds=15
nospam_threshold=4
nospam_similarity_threshold=0.85
nospam_mute_duration=600
nospam_ignore_self=true

🎮 使用方法

没有任何触发指令

只需在配置中添加(白名单模式)或避免排除群组(黑名单模式),并确保机器人在对应群内拥有 管理员群主 权限。

📄 许可协议

本项目使用 MIT 许可证开源。

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_nospam-0.2.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_nospam-0.2.0-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_nospam-0.2.0.tar.gz.

File metadata

  • Download URL: nonebot_plugin_nospam-0.2.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nonebot_plugin_nospam-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2fcc11bcfb3d617e52c8f3bf8a46d39deaef6e1009840f07183ae4f7c729870b
MD5 9956c1e2b17e7791d18b9d6be7239d7b
BLAKE2b-256 ca2c140fee09d359e4963ea6ac3c4a0b2a53aa16a255a4786fe09950b8452f3b

See more details on using hashes here.

File details

Details for the file nonebot_plugin_nospam-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nonebot_plugin_nospam-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"CachyOS Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nonebot_plugin_nospam-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ec13e3cf5540b08d0b6f32cc4f84289718390fc116a6452cc998b6058c5914d
MD5 a7fdc387093fbedd03bacab32f8246d8
BLAKE2b-256 6d52c9a2f3f39e070b680499c99dbc103d0406904be1dd38ea311c42398c4b57

See more details on using hashes here.

Supported by

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