奖励图是一个用于构建高级等级奖励的可视化编辑器。
你不再只能在某个等级分配一个身份组,而是可以使用触发器、条件和操作来构建奖励链。

🧩 什么是奖励图?
奖励图是一组相互连接的节点。
每条链通常遵循这样的结构:
- 触发器:奖励链应该在什么时候运行?
- 条件:谁有资格获得奖励?
- 操作:YAWBDB 应该做什么?
示例:
当成员达到 10 级时,如果他们还没有 Booster 身份组,就分配 Active Member 身份组并发送一条祝贺消息。
⚡ 触发器节点
触发器节点定义一条链何时开始。
例如:
- 达到等级
- 达到 XP 阈值
- 达到连续记录
- 第一条消息
- 达到语音分钟数
- XP 衰减
- 声望
- 每日 XP 榜首
- XP 活动开始
跨功能触发器(在对应功能启用之前,会在面板中显示为锁定):
- 中奖时 / 参与时:需要抽奖功能。当成员中奖或参与抽奖时,用 XP、身份组或称号奖励他们。
- 创建建议时 / 批准建议时:需要建议功能。当成员提交建议或建议被批准时,授予 XP。
- Wordle 猜中:需要启用了 Wordle 的游戏功能。当成员猜中每日 Wordle 时触发,节点上有两个可选条件:在 N 次尝试内猜中和 Wordle 连胜 ≥ N。非常适合“3 次猜中”徽章身份组或连胜奖励。
- 生日时:需要生日功能。每位成员每年触发一次,就在他们的生日公告发出之后。可以搭配给予 XP 或 XP 倍数作为生日奖励,或者发放一次性身份组。
- 表单已提交:需要表单生成器功能。当成员提交任何表单时触发。填写申请时授予 XP,或自动发放一个“候选人”身份组。如果表单本身没有冷却,请添加一个冷却节点。
- 赢得小游戏:需要游戏功能。当成员赢得猜词游戏、石头剪刀布或知识问答时触发,并带上是哪个游戏的信息,这样图表可以据此分支。请注意,每个小游戏本身已有自己的获胜经验设置,如果需要比 XP 更丰富的奖励,请使用这个触发器。
- 在 top.gg 投票:在成员为该机器人在 top.gg 投票之后,下一次在这台服务器上获得 XP(一条消息、语音时间、对其消息的反应)时触发,而不是在投票的那一刻。top.gg 不会说明投票来自哪台服务器,所以图表要等成员真正出现在这里。每次投票、每台服务器只触发一次;再次投票会重新启用它。它独立于单独的 top.gg 投票加成 XP 倍率。可以用身份组、消息或额外 XP 来奖励。
这些让你可以把互动(参与抽奖、发布建议)转化为 XP。请添加一个冷却节点以防止刷分。
❓ 条件节点
条件节点决定链是否应该继续。
例如:
- 成员拥有某个身份组
- 成员没有某个身份组
- 等级范围
- XP 范围
- 最低连续天数
- 是服务器助推者
- 账号年龄
- 服务器年龄
- 星期几
- 时间窗口
- 声望要求
条件可以帮助你避免把奖励发给错误的成员,或在错误的时间触发操作。
🎬 操作节点
操作节点定义链成功时会发生什么。
例如:
- 分配身份组
- 移除身份组
- 交换身份组
- 发送私信
- 向频道发送消息
- 给予 XP
- 触发声望
- 设置个人倍率
- 分配称号
- 置顶消息
✏️ 可以放进消息的变量
任何会写入文本的操作,如发送私信、发布到频道,都接受这些占位符。它们会在消息发送的那一刻,被替换为该成员的真实数值。
| 变量 | 会变成什么 |
|---|---|
{user} / {username} |
对该成员的提及 |
{level} |
他们的等级 |
{xp} |
他们的总 XP |
{streak} |
他们当前的每日连续记录(天数) |
{prestige} |
他们的声望等级(如果从未获得声望则为 0) |
{server} |
服务器名称 |
{event} / {event_name} |
XP 活动的名称,用于两个 XP 活动触发器 |
在触发声望操作之后,后续消息中的
{prestige}显示的是成员刚刚达到的等级,而不是他们离开的那个等级。
拼错的占位符会原样输出,所以如果有消息向你的成员显示了 {presige},请先检查拼写。
✨ 让助手来构建
如果描述你想要的内容比连线更容易,图表助手可以根据一句话提出一个图表。它绝不会自行应用任何内容,你要审阅建议并作出决定。
ℹ️ 每张卡片上的 (i) 按钮
编辑器中的每张卡片右上角都有一个小小的 (i)。它会打开一个面板,回答卡片本身无法展示的三个问题。
这张卡片读取什么。它所查看的值:成员的等级、身份组、加入服务器的时间,等等。在命令图表上,其中一些会显示为被划掉:命令不携带这些值,所以依赖其中某个值的卡片在那里永远不会触发。达到 XP 阈值触发器是最明显的例子,因为它需要知道成员在该事件之前拥有的 XP,而命令没有“之前”。
什么情况会让它什么都不做。这是最值得阅读的部分。当必需的字段留空时,有几种卡片会被悄悄地跳过:没有选择身份组的分配身份组、消息为空的发送消息。不会记录任何内容,也不会标记任何内容;图表只是在没有那张卡片的情况下继续运行。面板会指出会导致这种情况的具体字段。
有两个条件会朝相反的方向失败,面板也会指出这一点:没有选择身份组的拥有身份组永远不会通过,所以它后面的一切都无法到达。没有选择身份组的没有身份组则总是通过,所以它什么也没有过滤。
**这里哪些变量可用。**在会写入文本的卡片上,面板会列出在这张卡片上有效的占位符,所以你永远不必猜测,也不必再回到这个页面。
卡片之间不会互相传递值。卡片读取的一切都来自启动图表的事件,并且在该图表的每张卡片中读取到的内容都相同,第一张和最后一张都一样。这就是为什么即使卡片直接连在触发器上也可以使用
{user},也是为什么无法让一张卡片计算出某个东西供下一张卡片使用。
(i) 按钮是完整编辑器的一部分,所以它会出现在桌面端。移动端的摘要仍然是只读的概览。
🧠 逻辑节点
高级图表可以使用逻辑节点来控制流程。
| 节点 | 作用 |
|---|---|
| 与门 | 连入它的每一张卡片都通过时才通过 |
| 或门 | 连入它的卡片中至少有一张通过时就通过 |
| 非门 | 连入它的卡片未通过时才通过 |
| 随机 | 随机选择它一条出口路径来走 |
| 延迟 | 在继续沿着路径前进之前等待 |
| 冷却 | 在运行之后,把它的路径阻塞设定的小时数 |
| 顺序 | 按顺序走完它所有的出口路径 |
⚠️ 与门、或门和非门是反向读取的。它们判断的是连入它们的卡片,而不是之后的卡片。这是编辑器中唯一一个箭头不表示“然后”的地方,在这里箭头表示“是被测试的对象之一”。请把你的条件连入门,再把门连出到奖励。
没有任何连入的门就没有可测试的内容:与门和非门会放行所有内容,或门会阻挡所有内容。两者都不会显示错误,所以一个意外断开的条件,会变成对所有人触发或对无人触发的奖励。
这些节点可以帮助你构建更复杂的奖励系统,同时保持一切可视化。
📱 移动端表现
可视化编辑器最好在桌面端使用。
在较小的屏幕上,面板可能会根据布局提供简化的或只读的视图。
对于奖励图的重大修改,请使用桌面浏览器。
💡 最佳实践
🌱 从小处开始
先创建一个简单的奖励,然后测试它。
例如:
- 触发器:达到 5 级
- 操作:分配身份组 Member+
等这个能正常工作后,再添加条件和额外的操作。
🏷️ 使用清晰的节点名称
保持你的图表易读。如果你构建了很多链,请在可用的地方使用注释或标签。
📈 避免重复奖励
使用类似“没有身份组”这样的条件,来避免反复分配同一个奖励。
⏱️ 谨慎使用冷却
冷却对于防止刷屏很有用,但过长的冷却会让测试变得令人困惑。
📈 先用低等级的奖励测试
在构建一条复杂的 50 级奖励链之前,先在低等级上测试同样的结构。
💡 奖励创意示例
- 在 10 级时分配一个身份组
- 在 25 级时移除旧身份组并分配新的身份组
- 当成员达到连续记录里程碑时发送私信
- 给活跃的活动参与者一个临时的 XP 倍率
- 在双倍 XP 活动开始时发布公告
- 在获得声望之后给予一个特殊称号
- 把每日冠军身份组分配给获得 XP 最多的成员
奖励图是 YAWBDB 等级系统中最强大的部分之一。它让你设计与社区相匹配的进度规则,而不是把你限制在固定的奖励结构里。