语言
Anvil · Discord阅读约 5 分钟

Discord 里的 Anvil

一个机器人,一次邀请,不用注册任何应用。这里讲它发什么、发到哪里、能在你的服务器里改动什么——以及它哪天不动了,你该看哪里。

一个机器人 共享,无需创建约 5 分钟 从邀请到第一条帖子按需开启 每个信息流在你指定去处前都是关的
这份简体中文译文还没有母语者校对过。如果某句话读起来不对,英文页面 才是原文 —— 而告诉我们才能让它被修正。
步骤 1

一个机器人,已经建好

#

没有 Discord 应用要创建,没有令牌要生成,也没有密钥要粘贴。Anvil 运行一个所有氏族共用的机器人,所以接入就是一次邀请,仅此而已。

你仍然可以自带——在 Discord 机器人 下粘贴一个令牌,就会改用它。只有当你希望机器人在成员列表里显示你氏族的名字和头像时才值得;本指南里的一切在两种情况下表现完全相同。

查看频道、发送消息、嵌入链接、附加文件基础项。没有这些,它就在你的服务器里默不作声。
管理 Webhook好让 Webhook 标签页上的 创建 按钮替你生成一个,而不必你手动从 Discord 复制网址。
管理身份组仅当你开启身份组同步时需要。届时它可以分发你映射的身份组——而且永远无法碰高于自己的身份组,这是 Discord 的规则,不是我们的。
管理昵称仅当你开启昵称同步时需要,好把成员的服务器昵称设为其游戏昵称。
管理频道仅用于选人期间的队伍私密频道。跳过它,其余一切照常工作。
它一次性把五项都要过来
Discord 没有办法事后再申请某项权限,所以邀请链接会一次请求整套,而你从不开启的功能也就从不使用它们的权限。重新打开邀请链接,也是修复被人移除的权限的方法。
步骤 2

接入它

#

两件事,按这个顺序。机器人必须在你的服务器里,而 Anvil 必须知道哪个服务器是你的。

邀请机器人管理 → 设置 → Discord 机器人邀请/重新邀请机器人。设好 ID 之后,链接会预先选中你的服务器,所以你不会误加到别的服务器。
填入服务器 ID在 Discord 里右键你的服务器图标 → 复制服务器 ID(需要在 Discord 自身的高级设置里打开开发者模式),然后粘贴。正是这个字段让连接专属于你。

随后面板告诉你的是事实而不是你的意图:机器人是否真的是那个服务器的成员,以及它缺少哪些权限。那里的一行绿字,比一份保存好的表单更有价值。

服务器 ID 就是全部绑定
在 Anvil 上一个服务器恰好属于一个氏族,来自无人认领的服务器的斜杠命令会被拒绝,而不是靠猜。在你填好之前,机器人只是被邀请了,闲着。
步骤 3

东西发到哪里

#

Anvil 通过 Webhook 发帖,每个频道一个,而且全都是可选的。在你把某个信息流指向某个频道之前,什么都不会发到任何地方——崭新的氏族是刻意安静,不是出了差错。

Webhook 标签页可以替你创建:选一个频道,按 创建,机器人就用它的权限造好 Webhook。粘贴一个你自己在 Discord 里生成的网址,效果完全一样。

公告最主要的一个。活动的开始与结束、报名开放、排名、每周结果。只设这一个,你就有了一个能用的氏族。
插件默认来自游戏、又没有专属频道的内容都去那里。第二个设它。
拆分出来的信息流稀有掉落、宠物、死亡、收集日志、战斗成就、等级、任务、日常、片段、PvP 击杀和 Leagues 各占一个频道。这种拆分,就是一个大家会读的信息流和一个大家会静音的信息流之间的区别。
先把死亡拆出去
在大多数板上,死亡是量最大的信息流,也是会把其他一切埋掉的那个。如果你只拆一样,就拆它。
步骤 4

身份组与昵称

#

两种同步,在你开启之前都是关的,而且都由成员名单驱动,而不是由谁在 Discord 里打的字驱动。

身份组同步把你游戏内的等级映射到 Discord 身份组,Anvil 会保持二者一致。另外还有面向成员、访客、队长和当前活动的单独身份组,让你不必手工维护名单就能 @ 到对的人。
昵称同步把成员的服务器昵称设为其游戏昵称。默认只填补空白昵称,也可以让它覆盖别人自己取的昵称——这是那种要事先想清楚、而不是事后再想的设置。
机器人的身份组必须高于它所管理的身份组
Discord 不允许任何机器人碰与自己同级或更高的身份组,而且从你这边看它是悄无声息地拒绝——同步就是什么也不做。在 服务器设置 → 身份组 里把 Anvil 的身份组往上拖,它就开始工作了;不需要重新邀请任何东西。
步骤 5

斜杠命令

#

机器人在你的服务器里响应 /bingoboardrulesleaderboardmeteam。它们读取正在进行的活动,所以没人需要离开 Discord 就能看到自己的位置。

机器人加入后大约一分钟它们才会出现。如果始终不出现,说明那次邀请授予了机器人却没有授予它的命令——这是两项独立权限,而较早的邀请链接只申请了其中一项。从 Discord 机器人标签页重新打开邀请链接即可;这不会踢出机器人,也不会重置任何东西。

它用每个人自己的语言回复
默认情况下,机器人会用该成员 Discord 所设的语言回复,并以英语兜底。在 机器人语言 下选定一种语言,即可为所有人覆盖这一行为——这也是获得阿拉伯语的唯一途径,因为 Discord 没有阿拉伯语客户端语言可供检测。
步骤 6

它发什么,什么时候发

#

两个来源。当某处看起来不对时,值得分清哪个是哪个。

站点 发布活动:板开放、报名、开赛、排名、结果。它们从 Anvil 自身发出,无论有没有人装插件都照常工作。

插件 发布游戏里发生的事:掉落、宠物、死亡、等级、收集日志格、战斗成就。它们只对运行插件的成员存在,所以掉落频道安静,通常意味着插件安静,而不是 Webhook 坏了。

不会重复发两次
一次完成格子的掉落只会发一条,而不是插件发一条、板再发一条。
步骤 7

当它安静下来

#

按顺序来,因为每一条都排除下一条:

机器人真的在服务器里吗?Discord 机器人标签页会直接告诉你。“令牌有效”和“在你的服务器里”是两回事,前者并不蕴含后者——用共享机器人时,令牌永远有效。
服务器 ID 对吗?一个错误但真实存在的 ID,看起来和正确的一模一样,直到你发现帖子发去了别处。
Webhook 还在吗?删除 Discord 频道会连同它的 Webhook 一起删掉,而 Anvil 会留着那个失效网址。到 Webhook 标签页重新创建。
机器人的身份组够高吗?只影响身份组和昵称同步——见上文。这一条是会悄无声息失败的那个。
它无法欢迎新加入的人
Discord 只通过 gateway 连接上报加入事件,而共享机器人不会为每个服务器都保持这种连接。因此没有“欢迎”帖——把报名链接放进 #身份组 或 #从这里开始 频道即可,反正大家本来就看那里。

这里的一切都在 管理 → 设置 下,分布在 Discord 机器人、Webhook、身份组与频道、通知 四个标签页。