HibiKier / zhenxun_bot

基于 Nonebot2 开发,非常可爱的绪山真寻bot
GNU Affero General Public License v3.0
3.39k stars 602 forks source link

组件优化建议 - 加强昵称系统对恶意昵称筛选及操作 #81

Closed doupoa closed 2 years ago

doupoa commented 3 years ago

狗群友的想象力让我大跌眼镜

建议添加对"爸爸"、"爷爷"、"你爹"及bot自身昵称等涉及辈分、较为严肃词语、造成输出文本阅读逻辑混乱的屏蔽

建议添加管理员对已有昵称的操作(如:修改、删除)

以下文件是我在原文件基础上添加对违禁昵称的检测与拒绝,如果您愿意优化,希望能帮到您。 nickname.zip

关键函数:

async def CheckBadNickName(nickname: str, username: str) -> list:
    # 第一位为返回码 第二位为返回信息
    if nickname == NICKNAME:
        return [1, f"喂喂!这是{NICKNAME}的名字呀!"]
    for i in ["爸", "爷", "爹", "老公", f"{NICKNAME}"]:
        if i in nickname:
            return [2, f"唔..{NICKNAME}不太喜欢用这个昵称称呼你呢,还是换一个吧"]
    return [0, ""]

调用:

    C = [CheckBadNickName()]  # 0无问题 1与昵称相同 2存在违禁词
    if C[0] == "1" or C[0] == "2":
        await nickname.finish(C[1], at_sender=True)

(不会用GitHub更好的问题提交方式..抱歉)

HibiKier commented 3 years ago

可以,不过除了NICKNAME重名外,其他昵称不打算使用拒绝这种操作,这种词太多不好匹配,我的建议是直接在昵称中替换这些词汇为字符“*”,另外之后上线敏感词检测机制,这里我先放出测试图片,为了更好的真寻而战! 0

doupoa commented 3 years ago

很不错的机制,低素质用户我们无法完全拒绝,违禁词替换目前是最佳方案。希望真寻及网络环境能越来越好!

---原始邮件--- 发件人: @.> 发送时间: 2021年11月30日(周二) 晚上10:25 收件人: @.>; 抄送: @.**@.>; 主题: Re: [HibiKier/zhenxun_bot] 组件优化建议 - 加强昵称系统对恶意昵称筛选及操作 (Issue #81)

可以,不过除了NICKNAME重名外,其他昵称不打算使用拒绝这种操作,这种词太多不好匹配,我的建议是直接在昵称中替换这些词汇为字符“*”,另外之后上线敏感词检测机制,这里我先放出测试图片,为了更好的真寻而战!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

HibiKier commented 2 years ago

已提供