報酬グラフは、高度なレベリングの報酬を作るためのビジュアルエディタです。
1つのレベルで1つのロールを割り当てるだけでなく、トリガー、条件、アクションを使って、報酬のチェーンを作れます。

🧩 報酬グラフとは?
報酬グラフは、つながったノードの集まりです。
各チェーンは、通常、次の構造になっています。
- トリガー: 報酬のチェーンは、いつ実行されるか?
- 条件: 誰が報酬を受け取れるか?
- アクション: YAWBDBは何をするか?
例:
メンバーがレベル10に到達したとき、すでにBoosterロールを持っていなければ、Active Memberロールを割り当て、お祝いのメッセージを送る。
⚡ トリガーノード
トリガーノードは、チェーンがいつ始まるかを決めます。
例:
- レベル達成
- XPしきい値
- ストリーク達成
- 最初のメッセージ
- 通話時間の達成
- XP減衰
- プレステージ
- デイリートップXP
- XPイベント開始
機能をまたぐトリガー(対応する機能が有効になるまで、パレットではロックされた状態で表示されます):
- ギブアウェイ当選時 / ギブアウェイ参加時: プレゼント企画機能が必要です。メンバーが企画に当選したとき、または参加したときに、XP、ロール、タイトルで報います。
- 提案作成時 / 提案承認時: 提案機能が必要です。メンバーが提案を送信したとき、または提案が承認されたときに、XPを付与します。
- Wordle正解: Wordleが有効なゲーム機能が必要です。メンバーがデイリーのWordleを正解したときに発動し、ノード上に2つの任意の条件があります。N回以内に正解とWordleの連続記録 ≥ Nです。「3回で正解」のバッジロールや、連続記録の報酬に最適です。
- 誕生日に: 誕生日機能が必要です。メンバーごとに年に一度、誕生日の告知が出た直後に発動します。XPを付与やXP倍率と組み合わせて誕生日ボーナスにしたり、1回限りのロールを付与したりできます。
- フォーム送信: フォームビルダー機能が必要です。メンバーがいずれかのフォームを送信したときに発動します。応募フォームの記入に対してXPを付与したり、「候補者」ロールを自動で付与したりできます。フォームに独自のクールダウンがない場合は、クールダウンノードを追加してください。
- ミニゲーム勝利: ゲーム機能が必要です。メンバーがハングマン、じゃんけん、クイズに勝ったときに発動し、どのゲームだったかの情報も渡されるので、グラフで分岐できます。各ミニゲームにはすでに独自の勝利時の XP設定があることに注意してください。XPより高度なことをしたい場合に、このトリガーを使ってください。
- top.gg で投票した: メンバーがtop.ggでボットに投票したあと、このサーバーで次にXPを獲得したとき(メッセージ、通話時間、自分のメッセージへのリアクション)に発動します。投票の瞬間そのものではありません。top.ggは、投票がどのサーバーからのものかを伝えないため、グラフは、メンバーが実際にここに姿を見せるのを待ちます。投票ごと、サーバーごとに1回です。もう一度投票すると、再び有効になります。別のtop.gg 投票ボーナスのXP倍率とは独立しています。ロール、メッセージ、ボーナスXPで報いてください。
これらによって、エンゲージメント(企画への参加、提案の投稿)をXPに変えられます。稼ぎを防ぐために、クールダウンノードを追加してください。
❓ 条件ノード
条件ノードは、チェーンを続けるかどうかを決めます。
例:
- メンバーがロールを持っている
- メンバーがロールを持っていない
- レベル範囲
- XP範囲
- 最小ストリーク
- サーバーブースターかどうか
- アカウント年齢
- サーバー参加期間
- 曜日
- 時間帯
- プレステージの要件
条件を使うと、間違ったメンバーに報酬を与えたり、間違ったタイミングでアクションが発動したりするのを防げます。
🎬 アクションノード
アクションノードは、チェーンが成功したときに何が起きるかを決めます。
例:
- ロールを割り当て
- ロールを削除
- ロールを入れ替え
- ダイレクトメッセージを送信
- チャンネルにメッセージを送信
- XPを付与
- プレステージを発動
- 個人用の倍率を設定
- タイトルを割り当て
- メッセージをピン留め
✏️ メッセージに入れられる変数
テキストを書くアクション(DMを送信、チャンネルに送信)では、次のプレースホルダーを使えます。メッセージが送られる瞬間に、メンバーの実際の値に置き換えられます。
| 変数 | 置き換えられる内容 |
|---|---|
{user} / {username} |
メンバーへのメンション |
{level} |
メンバーのレベル |
{xp} |
メンバーの合計XP |
{streak} |
現在のデイリーストリーク(日数) |
{prestige} |
プレステージのランク(一度もプレステージしていなければ 0) |
{server} |
サーバー名 |
{event} / {event_name} |
XPイベントの名前(2つのXPイベントのトリガーで使えます) |
プレステージを発動のアクションのあとに続くメッセージでは、
{prestige}は、メンバーが離れたランクではなく、今到達したランクを表示します。
スペルを間違えたプレースホルダーは、そのまま出力されます。メンバーに {presige} と表示されている場合は、まずスペルを確認してください。
✨ アシスタントに作ってもらう
つなぎ方を考えるより、やりたいことを説明するほうが簡単な場合は、グラフアシスタントが、1文からグラフを提案します。アシスタントが自分で何かを適用することは決してなく、提案を確認して決めるのはあなたです。
ℹ️ すべてのカードにある(i)ボタン
エディタの各カードの右上には、小さな**(i)**が付いています。これを開くと、カード自体には表示できない3つの疑問に答えるパネルが開きます。
**このカードが読み取るもの。**カードが参照する値です。メンバーのレベル、ロール、サーバーにいる期間などです。コマンドのグラフでは、これらの一部に取り消し線が付いて表示されます。コマンドはそれらを持っていないため、それに依存するカードは、そこでは決して発動しません。最もわかりやすい例がXPしきい値トリガーです。イベントの前にメンバーが持っていたXPを知る必要があるのに、コマンドには「前」がないからです。
何もしなくなる原因。ここが読んでおくべき部分です。必須のフィールドが空のままだと、黙ってスキップされるカードがいくつかあります。ロールを選んでいないロールを割り当てや、メッセージが空のメッセージを送信などです。何も記録されず、何も警告されません。グラフは、そのカードを除いてそのまま実行されます。パネルは、原因となる具体的なフィールドを示します。
逆の方向に失敗する条件が2つあり、パネルはそれも伝えます。ロールを選択していないロールを持つは、決して通過しないので、そのあとのものにはすべて到達できなくなります。ロールを選択していないロールを持たないは、常に通過するので、何も絞り込みません。
**ここで使える変数。**テキストを書くカードでは、パネルがそのカードで有効なプレースホルダーを一覧表示するので、推測したり、このページに戻ってきたりする必要はありません。
カード同士が値を渡し合うことはありません。カードが読み取るものはすべて、グラフを開始したイベントから来ており、そのグラフのどのカードでも同じように読み取れます。最初のカードでも最後のカードでも同じです。だから、トリガーに直接つながっているカードでも
{user}を使えますし、あるカードが計算した結果を次のカードに使わせる方法がないのも、そのためです。
(i)ボタンは、フル機能のエディタの一部なので、デスクトップで表示されます。モバイルの概要は、引き続き読み取り専用のままです。
🧠 ロジックノード
高度なグラフでは、ロジックノードを使って流れを制御できます。
| ノード | 内容 |
|---|---|
| ANDゲート | つながっているすべてのカードが通過したときに通過します |
| ORゲート | つながっているカードの少なくとも1つが通過したときに通過します |
| NOTゲート | つながっているカードが通過しなかったときに通過します |
| ランダム | 出ていくパスのうち、ちょうど1つをランダムに選んで進みます |
| ディレイ | 待ってから、パスを先へ進めます |
| クールダウン | 実行後、設定した時間数だけ、そのパスをブロックします |
| シーケンス | 出ていくすべてのパスを、順番にたどります |
⚠️ ANDゲート、ORゲート、NOTゲートは、向きが逆に読めます。これらは、あとに続くカードではなく、自分につながっているカードを判定します。エディタの中で、矢印が「そのあと」を意味しない唯一の場所です。矢印は「テストされるものの1つ」を意味します。条件はゲートに入れるようにつなぎ、ゲートからは報酬へ出すようにつないでください。
何もつながっていないゲートには、テストするものがありません。ANDゲートとNOTゲートはすべてを通し、ORゲートはすべてをブロックします。どちらもエラーは表示されないので、誤って切り離された条件は、全員に対して発動する報酬、または誰に対しても発動しない報酬になります。
これらのノードを使うと、すべてをビジュアルに保ったまま、より複雑な報酬システムを作れます。
📱 モバイルでの動作
ビジュアルエディタは、デスクトップでの利用に最適です。
小さな画面では、レイアウトに応じて、簡略化された表示や読み取り専用の表示になることがあります。
報酬グラフを大きく編集するときは、デスクトップのブラウザを使ってください。
💡 ベストプラクティス
🌱 小さく始める
まず、シンプルな報酬を1つ作って、テストしてください。
例:
- トリガー: レベル5に到達
- アクション: ロールMember+を割り当て
それが動いたら、条件と追加のアクションを加えてください。
🏷️ わかりやすいノード名を付ける
グラフを読みやすく保ってください。多くのチェーンを作る場合は、使える場所でコメントやラベルを使ってください。
📈 報酬の重複を避ける
「ロールを持たない」のような条件を使って、同じ報酬を繰り返し割り当てないようにしてください。
⏱️ クールダウンは慎重に使う
クールダウンはスパムの防止に便利ですが、長いクールダウンは、テストを分かりにくくすることがあります。
📈 まずは低いレベルの報酬でテストする
複雑なレベル50の報酬チェーンを作る前に、同じ構造を低いレベルでテストしてください。
💡 報酬のアイデアの例
- レベル10でロールを割り当てる
- レベル25で古いロールを削除して新しいロールを割り当てる
- メンバーがストリークの節目に達したときにDMを送る
- イベントの参加者のうち、アクティブな人に一時的なXP倍率を与える
- ダブルXPイベントが始まったときに告知する
- プレステージのあとに特別なタイトルを与える
- XP獲得トップの人に、デイリーチャンピオンのロールを割り当てる
報酬グラフは、YAWBDBのレベリングシステムで最も強力な部分の1つです。決まった報酬の仕組みを押し付けられるのではなく、コミュニティに合った進行のルールを設計できます。