Reaction roles 让 Discord 成员通过点击消息下方的表情来获得身份组,移除该表情即可失去身份组。机器人会监视该消息并为你更改身份组,因此工作人员无需手动分配。Discord 本身没有 reaction role 功能,因此你需要一个机器人。本指南将使用 Noxyr 进行设置,Noxyr 还提供按钮和下拉菜单来完成同样的工作。
Reaction roles 的用途
大多数服务器用它来让成员自行选择以下类型的身份组:
- 提醒:公告或活动身份组,只有想接收提醒的人才会获得。
- 兴趣:游戏玩家或画师身份组,用于开放该主题的频道。
- 地区或语言:每位成员只能有一个,因此选择新的会替换旧的。
- 颜色:仅用于更改名称颜色的身份组。
使用表情回应、按钮还是下拉菜单?
三者的作用相同。请根据面板想呈现的效果来选择:
- 表情回应是经典样式。它会显示每个选项有多少人选择,但成员不会收到任何回复,因此身份组更改失败时他们是看不到的。
- 按钮最清晰。每个按钮都有标签,成员会收到一条私密消息,说明发生了什么变化。
- 下拉菜单在列表较长时更整洁,在手机上也能让频道保持简洁。
如何设置 reaction roles
- 添加机器人。将 Noxyr 添加到你的服务器。它是免费的。
- 提高它的身份组。在服务器设置中进入身份组,将机器人的身份组拖到所有成员可选择的身份组之上。机器人只能分配比自己低的身份组。
- 创建面板。打开控制面板,进入欢迎,然后选择 Reaction roles。或者在 Discord 中运行
/reactionrole create,选择样式和第一个身份组。 - 添加你的身份组。一个面板最多可包含 20 个身份组。表情回应面板每个身份组需要一个表情。在控制面板中可以一次性全部添加;在 Discord 中使用
/reactionrole add。 - 发布。在表情回应面板上,机器人会为你添加所有表情,成员只需点击即可。
- 测试。用普通账号点击一个选项,然后再次点击,确认身份组已被移除。
让成员只持有一个身份组
对于互相排斥的选项,例如地区或颜色,请开启仅限一个身份组。选择新身份组时会移除旧的,在表情回应面板上,旧的表情回应也会被移除。在 Discord 中,于 /reactionrole create 中将 single 设为 true。
将管理身份组排除在面板之外
任何能看到身份组面板的人都可以获取其中的身份组,因此带有封禁成员或管理消息权限的身份组绝不能放入面板。保存时 Noxyr 会拒绝这些身份组,并且每次有人选择身份组时都会再次检查。如果某个身份组之后获得了管理权限,它将不再被分配。
修复无法工作的 reaction roles
- 没有任何反应:机器人的身份组位于它要分配的身份组之下,或者缺少管理身份组权限。
- 消息中缺少表情:机器人在该频道需要添加回应和阅读消息历史记录权限。
- 自定义表情被拒绝:它必须上传到你自己的服务器。
- 身份组不在控制面板列表中:它位于机器人之上、由集成管理,或带有管理权限。
所有选项都在 reaction roles 文档中有说明。如果是所有人都应该获得的身份组,请改用自动身份组或验证。