Skip to content

LuoChu-NB2Dev/nonebot-plugin-noadpls

Repository files navigation

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
邮箱:[email protected]

💡 鸣谢

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

感谢以下项目:

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

💰 赞助

赞助我

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

📜 许可证

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

📝 更新日志

最新正式版本

Release 0.2.1

Feature

Fixed

  • 修正管理和订阅指令超级用户不可用的问题 a659c208de76d7b520cffe1a17d72b578603c0c4

更多Release请见 Releases

完整更新日志请见 CHANGELOG.md

Sponsor this project

Contributors 7

Languages