<div align="center">
<a href="https://v2.nonebot.dev/store"><img src="https://github.com/A-kirami/nonebot-plugin-template/blob/resources/nbp_logo.png" width="180" height="180" alt="NoneBotPluginLogo"></a>
<br>
<p><img src="https://github.com/A-kirami/nonebot-plugin-template/blob/resources/NoneBotPlugin.svg" width="240" alt="NoneBotPluginText"></p>
</div>
<div align="center">
# nonebot-plugin-paminet-nodirtymsg
_✨ NoneBot 群聊脏话管理插件 ✨_
<a href="./LICENSE">
<img src="https://img.shields.io/github/license/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg.svg" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot-plugin-paminet-nodirtymsg">
<img src="https://img.shields.io/pypi/v/nonebot-plugin-paminet-nodirtymsg.svg" alt="pypi">
</a>
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
</div>
## 📖 介绍
#### 只是一个平平无奇的聊天过滤插件。
#### 暂仅支持OnebotV11协议
> [!IMPORTANT]
> **该项目由DeepSeek-R1辅助开发!**
## 🛡️ 功能特性
- 多级违禁词匹配(支持 10 万级词库)
- 异步文件 IO 操作
- 智能撤回重试机制(可配置重试次数)
- 实时热更新词库(修改文件后自动重载)
- 环境变量覆盖配置
> [!IMPORTANT]
> **收藏项目**,让更多人知道这个没什么用的东西!⭐️
<img width="100%" src="https://starify.komoridevs.icu/api/starify?owner=PamiNET-Corp&repo=nonebot-plugin-paminet-nodirtymsg" alt="starify" />
## 💿 安装
<details open>
<summary>使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-paminet-nodirtymsg
</details>
<details>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
<details>
<summary>pip</summary>
pip install nonebot-plugin-paminet-nodirtymsg
</details>
<details>
<summary>pdm</summary>
pdm add nonebot-plugin-paminet-nodirtymsg
</details>
<details>
<summary>poetry</summary>
poetry add nonebot-plugin-paminet-nodirtymsg
</details>
<details>
<summary>conda</summary>
conda install nonebot-plugin-paminet-nodirtymsg
</details>
打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入
plugins = ["nonebot-plugin-paminet-nodirtymsg"]
</details>
## ⚙️ 配置
在 nonebot2 项目的`.env`文件中添加下表中的必填配置
| 配置项 | 必填 | 默认值 | 说明 |
|:-----:|:----:|:----:|:----:|
| DIRTY_MSG_FILTER_ENABLE | 否 | True | 是否启用聊天过滤 |
| BADWORDS_DATA_PATH | 否 | "data/badwords.json" | 过滤词文件位置 |
| MAX_RETRIES | 否 | 5 | 消息撤回重试次数 |
## 🎉 使用
### 指令表
用去吧孩子,没指令
### 效果图
暂无
## 📄 许可证
本项目使用 [MIT](./LICENSE) 许可证开源
```txt
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```
Raw data
{
"_id": null,
"home_page": null,
"name": "nonebot-plugin-paminet-nodirtymsg",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "nonebot, chat, moderation, filter",
"author": null,
"author_email": "Mipa <shcdwrzh@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/07/6a/f0629579bf04c28c78fa0b60548344b5650992628e3590dc9fd94398ddbf/nonebot_plugin_paminet_nodirtymsg-0.3.4.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <a href=\"https://v2.nonebot.dev/store\"><img src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/nbp_logo.png\" width=\"180\" height=\"180\" alt=\"NoneBotPluginLogo\"></a>\n <br>\n <p><img src=\"https://github.com/A-kirami/nonebot-plugin-template/blob/resources/NoneBotPlugin.svg\" width=\"240\" alt=\"NoneBotPluginText\"></p>\n</div>\n\n<div align=\"center\">\n\n# nonebot-plugin-paminet-nodirtymsg\n\n_\u2728 NoneBot \u7fa4\u804a\u810f\u8bdd\u7ba1\u7406\u63d2\u4ef6 \u2728_\n\n\n<a href=\"./LICENSE\">\n <img src=\"https://img.shields.io/github/license/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg.svg\" alt=\"license\">\n</a>\n<a href=\"https://pypi.python.org/pypi/nonebot-plugin-paminet-nodirtymsg\">\n <img src=\"https://img.shields.io/pypi/v/nonebot-plugin-paminet-nodirtymsg.svg\" alt=\"pypi\">\n</a>\n<img src=\"https://img.shields.io/badge/python-3.9+-blue.svg\" alt=\"python\">\n\n</div>\n\n## \ud83d\udcd6 \u4ecb\u7ecd\n#### \u53ea\u662f\u4e00\u4e2a\u5e73\u5e73\u65e0\u5947\u7684\u804a\u5929\u8fc7\u6ee4\u63d2\u4ef6\u3002 \n#### \u6682\u4ec5\u652f\u6301OnebotV11\u534f\u8bae\n> [!IMPORTANT]\n> **\u8be5\u9879\u76ee\u7531DeepSeek-R1\u8f85\u52a9\u5f00\u53d1\uff01**\n\n## \ud83d\udee1\ufe0f \u529f\u80fd\u7279\u6027\n- \u591a\u7ea7\u8fdd\u7981\u8bcd\u5339\u914d\uff08\u652f\u6301 10 \u4e07\u7ea7\u8bcd\u5e93\uff09\n- \u5f02\u6b65\u6587\u4ef6 IO \u64cd\u4f5c\n- \u667a\u80fd\u64a4\u56de\u91cd\u8bd5\u673a\u5236\uff08\u53ef\u914d\u7f6e\u91cd\u8bd5\u6b21\u6570\uff09\n- \u5b9e\u65f6\u70ed\u66f4\u65b0\u8bcd\u5e93\uff08\u4fee\u6539\u6587\u4ef6\u540e\u81ea\u52a8\u91cd\u8f7d\uff09\n- \u73af\u5883\u53d8\u91cf\u8986\u76d6\u914d\u7f6e\n\n> [!IMPORTANT]\n> **\u6536\u85cf\u9879\u76ee**\uff0c\u8ba9\u66f4\u591a\u4eba\u77e5\u9053\u8fd9\u4e2a\u6ca1\u4ec0\u4e48\u7528\u7684\u4e1c\u897f\uff01\u2b50\ufe0f\n\n<img width=\"100%\" src=\"https://starify.komoridevs.icu/api/starify?owner=PamiNET-Corp&repo=nonebot-plugin-paminet-nodirtymsg\" alt=\"starify\" />\n\n## \ud83d\udcbf \u5b89\u88c5\n\n<details open>\n<summary>\u4f7f\u7528 nb-cli \u5b89\u88c5</summary>\n\u5728 nonebot2 \u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u6253\u5f00\u547d\u4ee4\u884c, \u8f93\u5165\u4ee5\u4e0b\u6307\u4ee4\u5373\u53ef\u5b89\u88c5\n\n nb plugin install nonebot-plugin-paminet-nodirtymsg\n\n</details>\n\n<details>\n<summary>\u4f7f\u7528\u5305\u7ba1\u7406\u5668\u5b89\u88c5</summary>\n\u5728 nonebot2 \u9879\u76ee\u7684\u63d2\u4ef6\u76ee\u5f55\u4e0b, \u6253\u5f00\u547d\u4ee4\u884c, \u6839\u636e\u4f60\u4f7f\u7528\u7684\u5305\u7ba1\u7406\u5668, \u8f93\u5165\u76f8\u5e94\u7684\u5b89\u88c5\u547d\u4ee4\n\n<details>\n<summary>pip</summary>\n\n pip install nonebot-plugin-paminet-nodirtymsg\n</details>\n<details>\n<summary>pdm</summary>\n\n pdm add nonebot-plugin-paminet-nodirtymsg\n</details>\n<details>\n<summary>poetry</summary>\n\n poetry add nonebot-plugin-paminet-nodirtymsg\n</details>\n<details>\n<summary>conda</summary>\n\n conda install nonebot-plugin-paminet-nodirtymsg\n</details>\n\n\u6253\u5f00 nonebot2 \u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u7684 `pyproject.toml` \u6587\u4ef6, \u5728 `[tool.nonebot]` \u90e8\u5206\u8ffd\u52a0\u5199\u5165\n\n plugins = [\"nonebot-plugin-paminet-nodirtymsg\"]\n\n</details>\n\n## \u2699\ufe0f \u914d\u7f6e\n\n\u5728 nonebot2 \u9879\u76ee\u7684`.env`\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4e0b\u8868\u4e2d\u7684\u5fc5\u586b\u914d\u7f6e\n\n| \u914d\u7f6e\u9879 | \u5fc5\u586b | \u9ed8\u8ba4\u503c | \u8bf4\u660e |\n|:-----:|:----:|:----:|:----:|\n| DIRTY_MSG_FILTER_ENABLE | \u5426 | True | \u662f\u5426\u542f\u7528\u804a\u5929\u8fc7\u6ee4 |\n| BADWORDS_DATA_PATH | \u5426 | \"data/badwords.json\" | \u8fc7\u6ee4\u8bcd\u6587\u4ef6\u4f4d\u7f6e |\n| MAX_RETRIES | \u5426 | 5 | \u6d88\u606f\u64a4\u56de\u91cd\u8bd5\u6b21\u6570 |\n\n## \ud83c\udf89 \u4f7f\u7528\n### \u6307\u4ee4\u8868\n\u7528\u53bb\u5427\u5b69\u5b50\uff0c\u6ca1\u6307\u4ee4\n### \u6548\u679c\u56fe\n\u6682\u65e0\n\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\n\n\u672c\u9879\u76ee\u4f7f\u7528 [MIT](./LICENSE) \u8bb8\u53ef\u8bc1\u5f00\u6e90\n\n```txt\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u57fa\u4e8eTrie\u6811\u7684\u9ad8\u6548\u7fa4\u804a\u8fdd\u7981\u8bcd\u8fc7\u6ee4\u63d2\u4ef6,\u81ea\u52a8\u64a4\u56de\u7fa4\u6210\u5458\u7684\u654f\u611f\u53d1\u8a00.\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650.",
"version": "0.3.4",
"project_urls": {
"Documentation": "https://github.com/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg#readme",
"Homepage": "https://github.com/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg",
"Issues": "https://github.com/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg/issues",
"Repository": "https://github.com/PamiNET-Corp/nonebot-plugin-paminet-nodirtymsg"
},
"split_keywords": [
"nonebot",
" chat",
" moderation",
" filter"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8e280e06ee26b221ebdf7d237fb53a2b30f9d5dedefb6d2aa58b5d9f91650caa",
"md5": "6e8f372ef3d2c6d802005e2c566768e9",
"sha256": "0a5e8c95245cd79bed1d5295c88a5a521bd434c8004da05e6ad64eae23e99c3a"
},
"downloads": -1,
"filename": "nonebot_plugin_paminet_nodirtymsg-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6e8f372ef3d2c6d802005e2c566768e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10314,
"upload_time": "2025-03-15T04:32:51",
"upload_time_iso_8601": "2025-03-15T04:32:51.280761Z",
"url": "https://files.pythonhosted.org/packages/8e/28/0e06ee26b221ebdf7d237fb53a2b30f9d5dedefb6d2aa58b5d9f91650caa/nonebot_plugin_paminet_nodirtymsg-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "076af0629579bf04c28c78fa0b60548344b5650992628e3590dc9fd94398ddbf",
"md5": "6fe5bad9d7b6e01e0d4b09b1f3b23969",
"sha256": "ba6025c63a3b4c7b66237d00273b6bd41a98871dcfe4e872b62cdc2e2dd716c9"
},
"downloads": -1,
"filename": "nonebot_plugin_paminet_nodirtymsg-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "6fe5bad9d7b6e01e0d4b09b1f3b23969",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8505,
"upload_time": "2025-03-15T04:32:52",
"upload_time_iso_8601": "2025-03-15T04:32:52.382630Z",
"url": "https://files.pythonhosted.org/packages/07/6a/f0629579bf04c28c78fa0b60548344b5650992628e3590dc9fd94398ddbf/nonebot_plugin_paminet_nodirtymsg-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-15 04:32:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PamiNET-Corp",
"github_project": "nonebot-plugin-paminet-nodirtymsg#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nonebot-plugin-paminet-nodirtymsg"
}