SylonSylon
所有功能自动清理

自动清理

按你设定的节奏,只清理你点名的频道。置顶消息保留,不会自己去找频道,每一轮都有记录。

概述

有些频道从一开始就是用完即弃的:机器人命令频道、数数游戏、为了让刷屏不发生在别处而存在的刷屏频道。手动清理是没人记得住的杂务,放着不管则会变成一堵没人看的历史墙。自动清理按计划做这件事:只在你点名的频道里,别的地方一概不动。最后这一点就是整个设计的核心:这是 Sylon 唯一一个会删除没人投诉过的消息的功能,所以它被造成不可能被误指到别处。

它是如何运作的

1

一份人打出来的清单,而不是找出来的结果

这个功能里任何地方都没有所有频道这个选项,将来也不会有。一个频道被清理,是因为有人把它加了进来、选了频率、决定了置顶消息怎么处理。服务器上其余的一切保持原样,靠的是结构,而不是某项设置。
2

置顶消息默认保留

一条置顶消息是某个人说的这条很重要,而无视它的清理是没人信得过的清理。除非你为某个频道单独关掉,否则置顶消息都会保留。
3

一次一轮

每一轮最多删一百条,而不是有多少删多少。热闹的频道会在几轮里被追上,而不是一次性清空——这样一来,被配置错的频道能多留一段可挽回的时间,Sylon 也离 Discord 的限流远一些。
4

超过十四天的都留在原地

Discord 不允许批量删除旧消息,而一条条删意味着为一段服务器已经共处了两周的历史发出成千上万次请求。更旧的消息会被直接跳过。

关键能力

每个频道各自的计划:从每五分钟一次到每周一次
保留置顶消息,可按频道单独设置
没有自动发现——频道被清理只因为有人手动加了它
专属日志频道:每轮一行,写明清理了什么、清理了多少
每一轮都能在面板的日志板块里看到
权限不足的频道会被跳过,而不是清到一半
重启之后绝不立刻运行,以免崩溃循环变成删除循环

安装设置

1.打开面板,进入自动清理标签页并启用它。单单启用不会做任何事。
2.添加一个频道,选择多久清理一次,并决定置顶消息怎么处理。
3.设置一个日志频道,好看到每一轮删了什么。
4.确认 Sylon 在每个添加的频道里都拥有管理消息和读取消息历史两项权限:缺任何一项,这一轮都不会做事,也不会说话。

详细工作方式

为什么偏偏这个功能是用一连串拒绝造出来的

Sylon 删除的其他东西,都是因为有什么先做了判断:命中了刷屏特征、链接有害、词在你的列表里。而这里删掉的是什么错都没犯的消息,依据只有时钟,并且错误无法撤销——没人能把一个频道的历史还回来。所以这里的安全不在于更聪明的判断,而在于更小的面:没有名称匹配、没有自动发现、每轮有上限、置顶保留、间隔有下限、启动时不跑。每一条限制都让这个功能少一点方便,也让它难上许多倍才可能被指错地方。

设置

要清理的频道
每(分钟)
保留置顶
日志通道机器人将为此功能发送日志消息的通道。

须知事项

清单里的每个频道,Sylon 都需要管理消息和读取消息历史权限。
子区可以清理;分类和论坛不行,因为批量删除在那里无从下手。
在频道清单为空的情况下开着这个功能是完全正常且无害的状态:它在运行,但什么都不碰。
间隔和状态都属于各个频道自己,所以把一个频道从清单里移除,停下的只有那一个。

常见问题

它会清错频道吗?

只有当那个频道在清单里时才会。这里没有名称匹配、没有按分类选择、也没有除某些以外全选:这个功能根本没有通往一个无人点名的频道的路径。

为什么跑完一轮频道还没完全清空?

三个原因,都是有意为之:每轮最多一百条;除非你另行设置,置顶消息会保留;而且 Discord 不允许任何机器人批量删除超过十四天的消息。热闹的频道会在几轮之内清空。

最短的间隔是多少?

五分钟。比这更短,就成了一个无法进行对话的频道,而每一轮都是一次批量删除:清理得比人读得还快,只是徒增开销。

被删掉的东西会留下痕迹吗?

消息不会留下,但 Sylon 删过它们这件事只在那个频道里看不见。每一轮只要删了东西,就会往你的日志里写一行,并在日志板块里留下一条记录。什么都没删的那一轮什么都不写,免得日志被每小时一条的清理了 0 条消息塞满。

相关功能