Skip to main content

又一个消息审查插件,可针对不同程度嘴臭配置自动屏蔽、回应规则,支持指令拉黑群或用户。

Project description

nonebot-plugin-tea-silencer logo
nonebot-plugin-tea-silencer

✨ 为祖安群聊献上屏蔽 ✨

python

🌱 介绍

1.消息审查:阻断含有屏蔽词的文本消息。

2.自动拉黑(黑名单)与回复:可针对不同程度嘴臭配置自动屏蔽、回应规则,支持指令拉黑群或用户。

3.文字狱不存在:它并不能阻止用户说脏话,只是拒绝接收。且本插件具有增删屏蔽词的功能,请善用指令。

如果您的bot对用户输入信息安全性有较高要求(例如使用官方bot),则推荐您使用该插件。使用该插件后,您会发现用户平均素质有所提升。

本项目是以学习交流,维护互联网环境健康和谐为目地开发,不接受任何曲解,任何非法滥用本项目所造成的问题开发者概不负责。

🔧 安装

本项目目前基于nonebot2与onebotv11协议

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot_plugin_tea_silencer
使用 pip 安装
pip install nonebot_plugin_tea_silencer

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

plugins = ["nonebot_plugin_tea_silencer"]
下载 仓库源码 安装
下载仓库源码后, 将 nonebot_plugin_tea_silencer 丢进
nb目录下的src/plugin目录下, 确保已正确配置nb可以载入该目录内的插件

⚙️ 配置

存储位置

本插件使用商店的 plugin-localstore

默认存储地址请前往其文档查看。

可以自己配置到机器人主目录,方便后续查看或迁移

    localstore_cache_dir=
    localstore_config_dir=
    localstore_data_dir=

在这个插件里,你通常只需要配置修改 localstore_data_dir=即可

配置概览:

以下为插件配置的默认值,如果您觉得不需要修改,可以不添加。

一般您仅需要注意以下两个配置项:

1.设置 silencer_at 为 True 后,需要@bot发送消息才进行审查

2.若要正常使用删除屏蔽词功能,请将 superusers_ignore 设为 True,否则超管也一样会被屏蔽。


    superusers: Set[str] = []                      # NB的超管配置
    superusers_ignore: bool = False                # 是否忽略对超管发言检查
    silencer_off: bool = False                     # 是否禁用插件
    silencer_at: bool = True                       # 是否需要@对话才触发
    silencer_safe: bool = False                    # 是否频繁同步黑名单到本地文件(默认仅程序正常结束运行时储存)
    silencer_data_path: Optional[str] = None       # 自定义的配置路径

    silencer_config = """
    {
        "等级规则": {
            "20": ["暮土", 180],
            "45": ["禁阁", 1440],
            "70": ["伊甸", 7200],
            "100": ["暴风眼", 10800]
        },
        "词库分贝": {
            "广告": 3,
            "涩涩": 5,
            "侮辱": 8,
            "键政": 8,
            "非法": 10
        },
        "回复方案": {
            "0": "提示",
            "10": "棉花",
            "30": "阴阳",
            "45": "飞马"
        },
        "记忆阈值": 20,
        "群缩放": 4
    }
    """
    # silencer_config 是一份字符串化的 JSON
    # 等级规则:20分贝达成墓土等级,奖励180分钟拉黑
    # 词库分贝:当用户或群触发“广告”领域违禁词时,分别增加3分贝
    # 回复方案:当用户分贝达到10开始,使用“棉花”词库作为回复语,直到大于30时切换
    # 记忆阈值:当用户或群分贝达到20时,其有资格
    # 群缩放:一个群平均4人被屏蔽,便将该群做同样等级屏蔽

✨ 指令

指令表

指令 权限 指令前缀 范围 说明
ban丨消音 超管 默认 群聊私聊 批量屏蔽ID到某时,以空格分隔
参数 t(Time)g(Group丨可选)u(User丨可选)
unban丨解除消音 超管 默认 群聊私聊 同上,但不需要t参数,详见指令示例↓
addf丨添加消音词 超管 默认 群聊私聊 批量向指定的词库添加屏蔽词
delf丨删除消音词 超管 默认 群聊私聊 直接从所有词库中删除指定词汇

指令示例

案例一、要屏蔽两个群和一个用户到2025年末(可自行增加四位数字精确到时分):

/ban t 20251231 g 801330543 123456 u 3365919215

案例二、要为一个用户解除屏蔽(如果是群聊则可将u换成g,也可以像案例一那样写多个ID,ID之间以空格分隔):

/unban u3365919215

案例三、向一个屏蔽词库添加一些新的屏蔽词,屏蔽词之间用空格分离:

目前支持的这里有的,直接以文件名作为参数,指向对应词库

/addf 涩涩 xx xxx

案例四、删除某个屏蔽词(会从所有词库中查询并删除这些词汇,谨慎操作哦~):

/delf xxx xx

注:如果给bot配置过指令前缀, 则触发指令为前缀+指令,我这里前缀是默认的“/”,否则参考指令表中格式。

效果图

插件效果概览
效果图
效果图
效果图
加群一起玩耍
茶话会

🚧 未来计划

  • 优化性能
  • 基础词库填充
  • 超管可以批量屏蔽用户或群
  • 超管可以自行增删屏蔽词
  • 自动优化屏蔽词库
  • 可供其他插件调用方法(有空写,如果是为了检查待发送信息,不如用这个插件
  • 提交至nonebot商店 (延期,去学数据库插件)
  • 具有管理权限时禁言(一千年以后)
  • 适配更多适配器(三千年以后)

⚡ 项目参考

直接参考:

反嘴臭

指令阻断

文i词库

违禁词来源:

互联网常用敏感词、停止词词库

反嘴臭、飞马令相关

(本人没有系统学习过py,如果感觉代码很乱或者出现各种问题, 欢迎反馈纠错~)

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_tea_silencer-1.0.2.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file nonebot_plugin_tea_silencer-1.0.2.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_tea_silencer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 12a4c30a001894e060a7050ed038e8f78d83d1f45ea9c9e273beb8083b1a3b3e
MD5 33c4d6ad2b1f504088785abb2ab9926f
BLAKE2b-256 75c3d21b6b451edb39db3bb83e8a9947f7f0aa8c6e379a920fe966e6eed42e0c

See more details on using hashes here.

File details

Details for the file nonebot_plugin_tea_silencer-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_tea_silencer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 813a1f8bcea86e040b33da6748f8013b74f8888237f359592b47e0e31cd65378
MD5 3159b513836fe65d91a5dec88d2fb091
BLAKE2b-256 abb8f0421ecd293be215bb58773ae16e50cfeb980623995f4740bebc916b2e5b

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