SylonSylon
所有功能入群关卡

入群关卡

在门口审查每个账号——注册多久、有没有头像、给自己起了什么名字——如果是机器人,还看是谁添加的。

概述

Sylon 的其他所有防护,都是根据成员做过的事来判断的:一条消息、一个状态、审核日志里的一行。可到那时候,账号已经在里面了。而对这套系统真正针对的两类对象——一小时前注册的一次性账号,以及没人要求却被添加进来的机器人——问题恰恰就出在这个“已经在里面”。入群关卡审查的是账号本身:在门口审一次,之后如果名字变了再审一次。

它是如何运作的

1

七条规则,各有各的开关

账号年龄、没有头像、广告名称、名称列表、可疑分数、未经授权添加机器人、未认证机器人。每条在你打开之前都是关闭的,而且一开始只做标记。
2

发生什么由你决定

每条规则各自行事:写一行日志、发放关卡身份组、禁言、踢出或封禁。同时触发三条规则的成员只会被处理一次,采用其中最重的一种。
3

门口不是唯一的检查点

突袭账号的名字通常是进来之后才改的。只要有人修改用户名、显示名或昵称,两条与名称有关的规则就会重新运行,所以在门口用一个干净的名字并不能换来任何好处。
4

没有人会被悄无声息地清走

在处理生效之前,成员会收到一条私信,说明命中了哪条规则;同一条记录也会连同账号年龄、名称,以及(如果是机器人)添加者,一起写进你的日志频道。

关键能力

账号最低年龄,从一天到一年
从未设置过头像的账号
带有链接或 Discord 邀请的名称,包括拆开书写的规避形式
沿用词语过滤匹配引擎的名称列表
把多个弱信号相加、而不是只信一个的可疑分数
由无权在此添加机器人的人所添加的机器人
Discord 未认证的机器人
想先观察再决定时,用关卡身份组代替处罚
不只在门口,入群之后也会重新检查名称
豁免身份组与成员,以及独立的日志频道

安装设置

1.打开仪表盘,进入入群关卡标签页,启用它并选择一个日志频道——只要所有规则都还只做标记,这个频道就是这项功能的全部。
2.打开“账号年龄”并设定阈值。七天是个稳妥的起点,也是这里单条最有效的规则。
3.先把所有规则保持在“仅标记”几天,然后读日志:它会准确地告诉你谁会被清走。
4.之后再逐条选择真正的处理方式。如果你想先观察再决定,就设置一个关卡身份组,用“授予关卡身份组”代替踢出。
5.针对机器人:打开“未认证机器人”和“未经授权添加机器人”,并确认 Sylon 拥有“查看审核日志”权限。

详细工作方式

为什么用分数,而不是勾选清单

“可疑账号”检查能读到的每一个信号,单独看都很弱。很多真实用户就是用两天前注册的账号、没有头像、名字里全是数字进来的——一个为了跟某一个朋友聊天才注册 Discord 的人,看起来就是这样。所以没有任何一个信号能单独下结论:每个值 1 到 2 分,账号必须达到你设定的阈值。权重是固定的,并且列在仪表盘里,这样你填的那个数字,是一个你能讲得出道理的数字。

名称规则不按英语来评判

判断一个名字是否“像机器生成”的那套模式,本质上是关于拉丁字母拼写的判断:没有元音、不可能出现的辅音串、长长的数字尾巴。如果把它用在以阿拉伯文、泰文、谚文或汉字书写的名字上,会把世界上大部分正当用户名都标记出来,因此它从不用于这些名字。名称列表则没有这个限制:它运行的是消息词语过滤的引擎,会在比对之前,把任何书写系统中的 leet 写法、形近字符、插入的空格和重复字母都规范化。

机器人按机器人来判断

机器人没有关于头像的习惯,也没有值得一读的显示名;而人不会被任何人“添加”——所以针对人的规则从不去看机器人,针对机器人的规则也从不去看人。两条机器人规则回答的是不同的问题:认证与否是 Discord 公开发布的事实,Sylon 原样读取;谁添加了机器人来自审核日志,而这个人是否有权限,则由你自己的名单决定——如果留空,就以 Discord 自身授权机器人时所要求的“管理服务器”权限为准。

一次处理,一行日志

一名成员可能同时命中多条规则,而每条规则都有各自配置的处理方式。Sylon 不会逐条执行:它取其中最重的一种,只执行一次,写下一条列明所有命中规则的日志,并发出一封私信。移走机器人与处理添加它的人,是唯一有意保留的例外——那是两个不同的决定,而后者默认什么也不做。

设置

账号年龄创建时间少于所选天数的账号。对付突袭用的一次性账号,这是单条最有效的过滤。
没有头像从未设置过头像的账号。单独看很弱——不少真实用户也从不设置——所以更适合用来标记,或作为可疑分数的一部分。
可疑账号若干弱信号相加。任何一项单独都不构成证据——关键在于真实的新成员很少同时具备两项以上。
广告名称名称中带有链接或 Discord 邀请,包括为了绕过检查而把字母拆开写的形式(d i s c o r d . g g)。
名称过滤用与消息词语过滤相同的引擎,把名称与你自己的词表比对:leet 写法、形近字符、插入的空格和重复字符都会先规范化再比对。
未经授权添加机器人由无权在此添加机器人的人添加的机器人。需要“查看审核日志”权限——没有它 Sylon 无法判断是谁添加的,这条规则会保持沉默而不是靠猜。
未认证机器人Discord 未认证的机器人。认证状态是 Discord 公开的事实,因此判断是准确的——但很多小型的正规机器人同样没有认证。
命中时这条规则命中时会发生什么。同时触发多条规则的成员只会被处理一次,采用其中最重的一种。
关卡身份组“授予关卡身份组”这一处理方式所发放的身份组。Sylon 只负责授予,它意味着什么取决于你自己的频道权限。被它拦下的成员同样不会获得自动身份组,也收不到欢迎消息。
私信告知成员原因在禁言、踢出或封禁之前,私信告诉成员命中了哪条规则。
入群后再次检查名称成员入群后修改用户名或显示名时,重新运行名称规则。不开启的话关卡只生效一次:进门时名字干净,一分钟后就换成广告。
日志通道机器人将为此功能发送日志消息的通道。
豁免身份组拥有其中任一身份组的成员将不受此保护。
豁免成员除豁免身份组外,此系统完全忽略的特定成员。

须知事项

关卡需要一个日志频道。当某条规则只做标记时,那个频道就是这项功能的全部输出。
需要哪些权限取决于你的选择:关卡身份组需要管理身份组,禁言需要管理成员,其余需要踢出或封禁成员,未经授权机器人规则需要查看审核日志。
拥有管理员或管理服务器权限的成员永远不会被审查,豁免名单里的人同样如此。
被关卡清走或限制的成员不会获得自动身份组,也不会出现在欢迎消息里。
改名每位成员最多每三十秒重新检查一次,所以反复改名不会让日志条目成倍增加。

常见问题

这会不会把真实用户踢掉?

除非你让它这么做,否则不会。每条规则一开始都只做标记:往你的日志频道写一行,别的什么也不做,所以你可以先观察一周,看看它会拦下哪些人,然后再选择处理方式。可疑分数也是按同样的思路调校的——一个刚注册账号去朋友服务器的真实用户会得 3 分,而默认阈值就是 3;比这更严格,就是你有意做出的决定。

机器人规则为什么需要“查看审核日志”权限?

因为“这个机器人是谁添加的”这条信息在别处根本不存在。没有这个权限,Sylon 无从判断,于是规则会保持沉默而不是靠猜。一个把所有说不清来源的机器人都清走的关卡,是披着防护外衣的彻底故障。

关卡身份组到底是什么?

是 Sylon 用来代替处罚而发放的一个身份组。它意味着什么,取决于你自己的频道权限——只读视图、等候频道,或者你服务器本来就在用的任何做法。Sylon 只负责授予;持有它的成员同样不会获得自动身份组,也收不到欢迎消息,因此不会被当作正式加入而公告出去。

这和邀请追踪里的账号年龄设置是一回事吗?

不是,名字相近确实容易误会。那个设置决定的是一次加入算不算给邀请者加一分,它从不碰成员本身;而这个决定的是成员能不能进来。

相关功能