Skip to main content

检测群聊中广告的插件,撤回并禁言,转发管理员

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-noadpls

✨ 群聊发广告 哒咩~ ✨

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

📖 介绍

这是一个用于屏蔽群聊中广告的插件,诞生于一个朋友的需求。

通用匹配所有群聊消息,提取文本并对图片OCR,与预定义词库和用户定义词库进行模糊匹配。 会自动撤回并禁言,禁言时间可配置。 如你是管理员或群主,可以私聊bot订阅禁言通知,以防误禁言和扯皮。

[!TIP] 主要针对 QQ 群聊环境进行开发和测试,其他平台不保证可用。

DONE:

  • 对图片进行 OCR 识别
  • 对文本进行模糊匹配
  • 排除字符对识别影响,如"代.理"
  • 支持自定义屏蔽词
  • 支持管理员/群主私聊订阅禁言通知
  • 支持自定义禁言时间
  • 支持分群可选是否启用插件(仅data)

TODO:

  • 支持自定义屏蔽词文件路径
  • 支持拆分字,近形字,拼音判断
  • 支持分群可选是否禁言,撤回,仅通知管理
  • 支持二维码识别
  • 用户自定义屏蔽词文件路径读取
  • 管理员/群主私聊调整插件配置

💿 安装

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

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

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

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

⚙️ 配置

在 nonebot2 项目的 .env 文件中的可选配置

配置项 类型 默认值 说明
noadpls__enable Bool True 是否启用插件
noadpls__priority Int 10 插件优先级
*noadpls__ban_pre_text List[str] ["advertisement"] 启用的预定义屏蔽词词库
  • *详细内容请参见 TelechaBot/cleanse-speech TL;DR 太长不看版
    • advertisement:默认中文广告词库
    • pornographic:默认中文色情词库
    • politics: 默认中文敏感词库
    • general: 默认中文通用词库
    • netease: 网易屏蔽词库

插件同时使用 nonebot-plugin-localstore 插件存储 可变配置,插件数据缓存文件,具体配置方法请参见 nonebot-plugin-localstore 存储路径nonebot-plugin-localstore 配置项

将会存储在 localstore 定义的配置存储文件中的配置项

配置项 类型 默认值 说明
ban_time List[int] [60, 300, 1800, 3600, 86400] 禁言时间列表
ban_text List[str] [ ] 用户自定义屏蔽词
ban_text_path List[str] [ ] 用户自定义屏蔽词文件路径(还没写好)

[!WARNING] 不推荐用户自行更改可变配置文件 推荐使用私聊指令进行更新 指令更新还没写好()

🎉 使用

指令表

指令 权限 需要@ 范围 说明
所有人 群聊 通用匹配所有消息
*接收通知 群号 管理以上 私聊 开启接收禁言通知
*关闭通知 群号 管理以上 私聊 取消接收禁言通知
*nap_on **群号 管理以上 私聊 开启群检测
*nap_off **群号 管理以上 私聊 关闭群检测
  • *非管理以上权限也可私聊,但是会提示无权限
  • **当在群聊环境中使用时,群号会自动填充为当前群号

效果图

开启通知 群成员群聊触发处理 群成员触发私聊通知-抹除qq号 管理员群聊触发处理 管理员触发私聊通知-抹除qq号

📊 统计

Alt

📞 联系

QQ:3214528055
Discord:@洛初
Telegram:@Furinature
吹水群:611124274
邮箱:gongfuture@outlook.com

💡 鸣谢

感谢帮忙测试的各位群友~

感谢以下项目:

以及,使用这个插件的你~

💰 赞助

赞助我

1212 小可爱 W 淡淡*清香 秋天的童话 爱发电用户_hYpM 真 语笑嫣然 Elysia Serendipity
点我 打开/关闭 赞助者列表 1212 ( 1 次赞助, 共 ¥5 ) 留言:
小可爱 ( 1 次赞助, 共 ¥5 ) 留言:
W ( 1 次赞助, 共 ¥5 ) 留言:
淡淡*清香 ( 2 次赞助, 共 ¥14.9 ) 留言:
秋天的童话 ( 1 次赞助, 共 ¥5 ) 留言:
爱发电用户_hYpM ( 1 次赞助, 共 ¥5 ) 留言:
( 1 次赞助, 共 ¥5 ) 留言:
语笑嫣然 ( 1 次赞助, 共 ¥5 ) 留言:
Elysia ( 1 次赞助, 共 ¥5 ) 留言: 看看腿喵
Serendipity ( 1 次赞助, 共 ¥5 ) 留言:

感谢大家的赞助!你们的赞助将是我继续创作的动力!

📜 许可证

本项目采用 MIT License 许可证,详情请参阅 LICENSE 文件。

📝 更新日志

最新正式版本

Release 0.4.1

[!WARNING]

破坏性变更 | BREAKING CHANGE

由于NoneBot以及依赖问题,不再支持Python 3.9 目前 最低版本Python 3.10

当前版本与上一版本无功能变更,未升级至 Nonebot v2.5.0 或仍在使用 Python 3.9 的用户请勿更新此版本

CI/CD

  • 发布工作流整合入组织仓库 87b901e4949a7473e724a510ce324bf21e8f88df
  • 增加爱发电打赏用户感谢列表 87b901e4949a7473e724a510ce324bf21e8f88df

Dependence

  • 更新Python最低版本为3.10 9a30fb3f16b24ecc632d47c2008a9bdbd98e0e1f
  • 更新了一堆依赖

Full Changelog: https://github.com/LuoChu-NB2Dev/nonebot-plugin-noadpls/compare/v0.2.1...v0.4.1

更多Release请见 Releases

完整更新日志请见 CHANGELOG.md

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_noadpls-0.4.1.tar.gz (27.4 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_noadpls-0.4.1-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_noadpls-0.4.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_noadpls-0.4.1.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nonebot_plugin_noadpls-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9d4a0bab94c9cbd2acb2cb1204b56ad192bfada531c4bfe3123300590265ad6c
MD5 8f350091a89c4c6685c821f39e6b5544
BLAKE2b-256 b5d0797b6195f68cc794810c4c3e00cdca759066e45092f6594961944d45a4e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_noadpls-0.4.1.tar.gz:

Publisher: release.yml on LuoChu-NB2Dev/nonebot-plugin-noadpls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nonebot_plugin_noadpls-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_noadpls-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3868de05c5ce53a69d33f5a2fabd775803af79d94ef8ee09e80533c7b75d9b
MD5 42244c308d369f097be5bc741a5d3d6a
BLAKE2b-256 11442f5f360aab9f90517e3e63f5c7d53537bdf7a98e7bcae83bfa6c18244d47

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_noadpls-0.4.1-py3-none-any.whl:

Publisher: release.yml on LuoChu-NB2Dev/nonebot-plugin-noadpls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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