보상 그래프는 고급 레벨링 보상을 만들기 위한 시각적 편집기예요.
특정 레벨에 역할 하나를 주는 것에 그치지 않고, 트리거, 조건, 액션을 이용해 보상 체인을 만들 수 있습니다.

🧩 보상 그래프란?
보상 그래프는 서로 연결된 노드의 집합이에요.
각 체인은 보통 이런 구조를 따릅니다.
- 트리거 - 보상 체인이 언제 실행되나요?
- 조건 - 누가 보상을 받을 수 있나요?
- 액션 - YAWBDB가 무엇을 해야 하나요?
예시:
멤버가 레벨 10에 도달했을 때, 부스터 역할이 아직 없다면 활동 멤버 역할을 부여하고 축하 메시지를 보냅니다.
⚡ 트리거 노드
트리거 노드는 체인이 언제 시작되는지를 정해요.
예시는 다음과 같아요.
- 레벨 도달
- XP 임계값 도달
- 연속 기록 도달
- 첫 메시지
- 음성 채널 분 도달
- XP 감소
- 프레스티지
- 일일 최고 XP
- XP 이벤트 시작
기능 간 트리거(해당 기능이 활성화되기 전까지는 팔레트에서 잠긴 상태로 표시돼요)는 다음과 같아요.
- 경품 당첨 시 / 경품 참여 시 - 경품 추첨 기능이 필요해요. 경품에 당첨되거나 참여한 멤버에게 XP, 역할, 칭호로 보상해요.
- 건의 작성 시 / 건의 승인 시 - 건의 기능이 필요해요. 멤버가 건의를 제출하거나 건의가 승인되면 XP를 지급해요.
- Wordle 정답 - Wordle이 활성화된 게임 기능이 필요해요. 멤버가 일일 Wordle을 맞히면 발동하고, 노드에서 바로 설정할 수 있는 두 가지 선택 조건이 있어요. N번 이내에 정답과 Wordle 연속 기록 ≥ N이에요. "3번 만에 정답" 배지 역할이나 연속 기록 보상에 아주 좋아요.
- 생일에 - 생일 기능이 필요해요. 멤버의 생일 공지가 나간 직후에 멤버당 일 년에 한 번 발동해요. XP 부여나 XP 배율과 함께 쓰면 생일 보너스가 되고, 일회성 역할을 줄 수도 있어요.
- 양식 제출 - 폼 빌더 기능이 필요해요. 멤버가 어떤 양식이든 보내면 발동해요. 지원서를 작성하면 XP를 주거나, "지원자" 역할을 자동으로 줄 수 있어요. 양식에 자체 대기 시간이 없다면 쿨다운 노드를 추가하세요.
- 미니게임 승리 - 게임 기능이 필요해요. 멤버가 행맨, 가위바위보, 퀴즈에서 이기면 발동하고, 어느 게임이었는지도 함께 전달되어 그래프가 그에 따라 분기할 수 있어요. 각 미니게임에는 이미 자체 승리 시 XP 설정이 있으니, XP보다 풍부한 보상에 이 트리거를 사용하세요.
- top.gg에서 투표함 - 멤버가 top.gg에서 봇에 투표한 뒤 이 서버에서 처음으로 XP를 얻을 때(메시지, 음성 시간, 자신의 메시지에 달린 리액션) 발동하며, 투표한 순간 자체에는 발동하지 않아요. top.gg는 투표가 어느 서버에서 온 것인지 알려 주지 않으므로, 그래프는 멤버가 실제로 여기에 나타날 때까지 기다려요. 투표 한 번과 서버 하나당 한 번만 발동하고, 다시 투표하면 다시 준비돼요. 별도의 top.gg 투표 보너스 XP 배율과는 독립적이에요. 역할, 메시지, 보너스 XP로 보상할 수 있어요.
이 트리거로 참여(경품 응모, 건의 작성)를 XP로 바꿀 수 있어요. 어뷰징을 막으려면 쿨다운 노드를 추가하세요.
❓ 조건 노드
조건 노드는 체인을 계속 진행할지 결정해요.
예시는 다음과 같아요.
- 멤버가 역할을 가지고 있음
- 멤버가 역할을 가지고 있지 않음
- 레벨 범위
- XP 범위
- 최소 연속 기록
- 서버 부스터 여부
- 계정 나이
- 서버 멤버 나이
- 요일
- 시간 창
- 프레스티지 요건
조건은 엉뚱한 멤버에게 보상이 가거나 잘못된 시점에 액션이 실행되는 것을 막아 줘요.
🎬 액션 노드
액션 노드는 체인이 성공했을 때 무슨 일이 일어날지를 정해요.
예시는 다음과 같아요.
- 역할 할당
- 역할 제거
- 역할 교체
- DM 보내기
- 채널에 전송
- XP 부여
- 프레스티지 발동
- 개인 배율 설정
- 칭호 할당
- 메시지 고정
✏️ 메시지에 넣을 수 있는 변수
텍스트를 작성하는 모든 액션(DM 보내기, 채널에 전송)은 다음 자리 표시자를 받아요. 메시지가 전송되는 순간 멤버의 실제 값으로 바뀝니다.
| 변수 | 바뀌는 값 |
|---|---|
{user} / {username} |
멤버 멘션 |
{level} |
멤버의 레벨 |
{xp} |
멤버의 총 XP |
{streak} |
현재 일일 연속 기록(일 단위) |
{prestige} |
프레스티지 등급(프레스티지한 적이 없으면 0) |
{server} |
서버 이름 |
{event} / {event_name} |
XP 이벤트의 이름이며, XP 이벤트 트리거 두 개에서 사용해요 |
프레스티지 발동 액션 뒤에 오는 메시지에서
{prestige}는 멤버가 떠난 등급이 아니라 방금 도달한 등급을 보여 줘요.
잘못 입력한 자리 표시자는 그대로 출력돼요. 멤버에게 {presige}가 보인다면 다른 무엇보다 먼저 철자를 확인하세요.
✨ 어시스턴트에게 맡기기
원하는 것을 설명하는 편이 연결하는 것보다 쉽다면, 그래프 어시스턴트가 한 문장으로 그래프를 제안해 줘요. 어시스턴트는 스스로 아무것도 적용하지 않아요. 제안을 검토하고 직접 결정합니다.
ℹ️ 모든 카드의 (i) 버튼
편집기의 각 카드 오른쪽 위 모서리에는 작은 **(i)**가 있어요. 카드 자체로는 보여 줄 수 없는 세 가지 질문에 답하는 패널이 열립니다.
이 카드가 읽는 값. 카드가 참조하는 값으로, 멤버의 레벨, 역할, 서버에 있은 기간 등이에요. 명령어 그래프에서는 이 중 일부에 취소선이 그어져 있어요. 명령어는 그 값을 전달하지 않기 때문에, 그 값에 의존하는 카드는 거기서 절대 발동할 수 없어요. XP 임계값 트리거가 가장 분명한 예인데, 이벤트 이전에 멤버가 가지고 있던 XP를 알아야 하지만 명령어에는 "이전"이 없기 때문이에요.
아무 일도 하지 않게 만드는 경우. 읽어 볼 만한 부분이에요. 필수 입력란이 비어 있으면 여러 카드가 아무 알림 없이 건너뛰어져요. 역할을 고르지 않은 역할 할당, 메시지가 비어 있는 채널에 전송이 그런 경우예요. 아무것도 기록되지 않고 표시되지도 않으며, 그래프는 그 카드만 빼고 실행돼요. 패널이 원인이 되는 입력란을 정확히 알려 줘요.
반대 방향으로 실패하는 조건 두 가지도 있는데, 패널이 이것도 알려 줘요. 역할을 선택하지 않은 역할 보유는 절대 통과하지 않으므로 그 뒤의 모든 것에 도달할 수 없어요. 역할을 선택하지 않은 역할 미보유는 항상 통과하므로 아무것도 걸러내지 못해요.
여기서 쓸 수 있는 변수. 텍스트를 작성하는 카드에서는 그 카드에서 유효한 자리 표시자를 패널이 나열해 주므로, 추측하거나 이 페이지로 돌아올 필요가 없어요.
카드끼리는 값을 주고받지 않아요. 카드가 읽는 모든 값은 그래프를 시작한 이벤트에서 오고, 그 그래프의 모든 카드에서 첫 번째든 마지막이든 똑같이 읽혀요. 그래서 트리거에 바로 연결된 카드에서도
{user}를 쓸 수 있고, 한 카드가 무언가를 계산해서 다음 카드가 쓰도록 할 방법이 없는 거예요.
(i) 버튼은 전체 편집기의 일부이므로 데스크톱에서 나타나요. 모바일 요약은 읽기 전용 개요로 남아 있어요.
🧠 논리 노드
고급 그래프에서는 논리 노드로 흐름을 제어할 수 있어요.
| 노드 | 기능 |
|---|---|
| AND | 연결된 카드가 모두 통과하면 통과해요 |
| OR | 연결된 카드 중 하나라도 통과하면 통과해요 |
| NOT | 연결된 카드가 통과하지 않을 때 통과해요 |
| 랜덤 | 나가는 경로 중 무작위로 고른 하나만 따라가요 |
| 지연 | 경로를 계속 진행하기 전에 기다려요 |
| 쿨다운 | 실행된 뒤 정해진 시간(시간 단위) 동안 자신의 경로를 막아요 |
| 순서 | 나가는 모든 경로를 순서대로 따라가요 |
⚠️ AND, OR, NOT은 거꾸로 읽어요. 이 노드는 뒤에 오는 카드가 아니라 자신 안으로 연결된 카드를 판단해요. 편집기에서 화살표가 "그다음"을 뜻하지 않는 유일한 곳이며, 여기서는 "검사 대상 중 하나"를 뜻해요. 조건을 게이트 안으로 연결하고, 게이트에서 보상으로 나가도록 연결하세요.
아무것도 연결되지 않은 게이트는 검사할 대상이 없어요. AND와 NOT은 모든 것을 통과시키고, OR은 모든 것을 막아요. 어느 쪽도 오류를 표시하지 않으므로, 실수로 연결이 끊어진 조건은 모든 사람에게 발동하거나 아무에게도 발동하지 않는 보상이 돼요.
이 노드로 모든 것을 시각적으로 유지하면서 더 복잡한 보상 시스템을 만들 수 있어요.
📱 모바일 동작
시각적 편집기는 데스크톱에서 사용하는 것이 가장 좋아요.
화면이 작은 경우 레이아웃에 따라 패널이 간소화된 보기나 읽기 전용 보기를 제공할 수 있어요.
보상 그래프를 크게 수정할 때는 데스크톱 브라우저를 사용하세요.
💡 모범 사례
🌱 작게 시작하기
먼저 간단한 보상을 하나 만들고 테스트하세요.
예를 들면 이렇습니다.
- 트리거: 레벨 5 도달
- 액션: Member+ 역할 할당
그것이 작동하면 조건과 액션을 추가하세요.
🏷️ 노드 이름을 분명하게
그래프를 읽기 쉽게 유지하세요. 체인이 많다면 가능한 곳에서 주석이나 레이블을 사용하세요.
📈 중복 보상 피하기
“역할 미보유” 같은 조건을 사용해서 같은 보상이 반복해서 부여되지 않도록 하세요.
⏱️ 쿨다운은 신중하게
쿨다운은 도배를 막는 데 유용하지만, 긴 쿨다운은 테스트를 헷갈리게 만들 수 있어요.
📈 낮은 레벨 보상으로 먼저 테스트하기
복잡한 레벨 50 보상 체인을 만들기 전에, 같은 구조를 낮은 레벨에서 먼저 테스트하세요.
💡 보상 아이디어 예시
- 레벨 10에 역할 부여
- 레벨 25에 이전 역할을 제거하고 새 역할 부여
- 멤버가 연속 기록 이정표에 도달하면 DM 전송
- 활발한 이벤트 참가자에게 임시 XP 배율 부여
- 더블 XP 이벤트가 시작될 때 공지
- 프레스티지 후 특별한 칭호 부여
- XP 최고 획득자에게 일일 챔피언 역할 부여
보상 그래프는 YAWBDB 레벨링 시스템에서 가장 강력한 부분 중 하나예요. 고정된 보상 구조를 강요하는 대신, 커뮤니티에 맞는 진행 규칙을 설계할 수 있습니다.