멤버가 /birthday set으로 생일을 한 번만 등록하면, 봇이 생일 당일에 여러분이 고른 채널에서 축하 인사를 건네요. 임시 생일 역할도 선택적으로 줄 수 있어요.

🎂 작동 방식
- 생일을 켜고 생일 페이지를 엽니다.
- 공지 채널, 시각, 시간대를 고릅니다. 채널을 지정하기 전에는 아무것도 공지되지 않아요.
- 메시지를 작성합니다. 멤버들에게
/birthday set을 실행하라고 알려 주세요.
생일 당일에 봇이 공지를 게시하고, 생일 역할을 설정했다면 부여하고, 기간이 지나면 다시 회수해요.
🗓️ 하나의 생일, 모든 서버
텍스트 접두사를 설정하면 일반 메시지로도 같은 동작을 할 수 있어요. 예를 들어 !birthday set 14 July처럼요. 텍스트 명령어와 접두사를 참고하세요.
멤버의 날짜는 서버마다가 아니라 Discord 계정당 한 번만 저장돼요. YAWBDB를 쓰는 다른 서버에서 이미 생일을 등록한 사람은 아무것도 다시 입력할 필요가 없어요. 여기서 /birthday set을 실행하면 그냥 참여하는 것으로 처리돼요.
그래서 이런 점이 좋아요.
- 서버 다섯 곳에서 같은 날짜를 다시 입력하지 않아도 돼요.
- **
/birthday remove**는 이 서버에서만 빠져요. 날짜는 다른 서버를 위해 그대로 저장돼요. - **
/birthday forget**은 모든 서버에서 기록을 완전히 삭제해요. 서버에서 기능을 꺼 두었더라도 항상 동작해요.
참여하지 않은 서버에서는 누구도 멤버의 생일을 볼 수 없어요.
⌨️ 멤버 명령어
| 명령어 | 하는 일 |
|---|---|
/birthday set |
날짜를 저장해요. 일, 월, 그리고 선택 사항인 출생 연도를 입력해요. |
/birthday get |
내 생일을 보여 줘요. 이 서버에서 참여한 다른 멤버의 생일도 볼 수 있어요. |
/birthday next |
이 서버의 다가오는 생일을 나열해요. |
/birthday remove |
이 서버에서 내 생일 공지를 중단해요. |
/birthday forget |
YAWBDB에서 내 생일을 완전히 삭제해요. |
모든 응답은 비공개예요. 명령어를 실행한 사람에게만 보여요. 당일 공지만 공개돼요.
출생 연도는 선택 사항이며 나이를 표시하는 데에만 쓰여요. 연도를 입력하지 않은 멤버는 나이가 표시되는 일이 없어요.
💻 패널에서 설정하기
멤버는 Discord를 전혀 거치지 않고 패널 프로필에서 자신의 생일을 설정하거나 제거할 수도 있어요. 단, Discord 계정이 연결되어 있어야 해요. 그 연결로 패널이 어떤 생일이 그 사람의 것인지 알 수 있기 때문이에요.
/birthday set과 같은 규칙이 적용돼요. 일, 월, 선택 사항인 연도가 있고, 변경 후에는 같은 30일 잠금이 걸려요. 이것은 특정 서버에 묶이지 않은 계정 전체의 날짜예요. /birthday set이 쓰는 기록과 똑같고, 슬래시 명령어 대신 화면을 제공하는 것뿐이에요.
⚙️ 설정
| 설정 | 하는 일 |
|---|---|
| 공지 채널 | 메시지가 게시되는 곳이에요. 필수예요. |
| 공지 시각 / 시간대 | 그날의 생일 공지가 나가는 현지 시각이에요. 그 시각 이후 두 시간 동안 창이 열려 있어요. |
| 멘션할 역할 | 공지와 함께 멘션돼요. 선택 사항이에요. |
| 생일 역할 | 당일에 부여되고 자동으로 회수돼요. 선택 사항이에요. |
| 역할 유지 시간 | 생일 역할을 유지할 시간이에요. 1에서 168(일주일)까지예요. |
| 서버 최소 가입 일수 | 이보다 최근에 가입한 멤버는 그해에는 건너뛰어요. |
| 이 인원 이상이면 묶기 | 같은 날 생일이 이 개수를 넘으면 여러 개가 아니라 하나의 메시지로 나가요. |
| 나이 표시 | 나이를 표시해요. 출생 연도를 직접 알려 준 멤버에게만 해당돼요. |
| DM으로도 축하하기 | 공지된 멤버에게 같은 메시지를 DM으로 보내요. 역할 멘션은 없어요. DM을 닫아 둔 멤버는 다른 사람들처럼 채널 게시물만 보게 돼요. |
왜 두 시간의 창이 있나요? 그날의 공지는 선택한 시각부터 두 시간 사이에만 나가요. 그 밖의 시간에는 아무것도 게시되지 않아요. 그래서 저녁에 날짜를 "오늘"로 설정한 멤버는 즉시 멘션이 가는 대신 내년을 기다리게 돼요.
✍️ 공지 작성하기
메시지는 임베드 빌더와 같은 편집기로 작성해요. 위쪽에는 일반 텍스트 한 줄, 아래쪽에는 전체 임베드가 있고 오른쪽에서 실시간 미리보기를 볼 수 있어요.
이 플레이스홀더는 텍스트 그리고 임베드의 어디에서든(제목, 설명, 필드, 푸터) 쓸 수 있어요.
| 플레이스홀더 | 바뀌는 내용 |
|---|---|
{mention} |
멤버의 멘션, 묶음 메시지에서는 모든 멤버의 멘션 |
{user} |
{mention}과 같아요 |
{age} |
맞이하는 나이예요. 묶음 메시지, 출생 연도를 공유하지 않은 경우, 나이 표시가 꺼져 있는 경우에는 비어 있어요 |
{count} |
축하받는 멤버의 수 |
메시지와 임베드를 모두 비워 두면, 누군가의 생일에 아무것도 게시하지 않는 대신 봇이 기본 문구인 "🎂 Happy birthday @member!"로 대체해요.
공지는 @everyone이나 @here를 멘션하지 않아요.
🛡️ 아무도 주목을 가로챌 수 없어요
생일 공지는 공개 채널에서 멘션이 되기 때문에 악용될 소지가 있어요. 이를 막는 장치가 여러 가지 있어요.
- 서버당 1년에 한 번. 멤버가 날짜를 몇 번 다시 쓰든, 한 서버에서는 달력 기준으로 1년에 최대 한 번만 공지돼요. 참여를 해제했다가 다시 해도 초기화되지 않아요.
- 명령어는 아무것도 공지하지 않아요. 예약된 확인 작업만 게시하므로, 날짜를 오늘로 설정해도 메시지가 바로 나가지 않아요.
- 변경 횟수가 제한돼요. 첫 저장은 자유예요. 사람들은 오타를 내니까요. 그 이후에 날짜를 바꾸면 30일 동안 잠겨요.
- 서버 최소 가입 기간. 새로 만든 계정이 들어와서 오늘을 선택하고 멘션을 받아 가지 못하도록 설정하세요.
- 위에서 설명한 두 시간의 창.
멤버가 날짜를 정말 잘못 입력해서 잠겼다면, 스태프가 생일 페이지에서 잠금을 풀 수 있어요.
🧑💼 패널 쪽
생일 페이지에는 참여한 모든 사람이 생일이 가까운 순서로 나열되고, 잠긴 멤버나 올해 이미 공지된 멤버에게는 배지가 표시돼요.
- 잠금 해제 - 정말 실수한 멤버의 30일 변경 쿨다운을 풀어 줘요.
- 제거 - 그 멤버의 생일을 이 서버에서만 삭제해요. 다른 서버의 기록은 그대로예요.
🏆 생일과 레벨링
레벨링이 켜져 있으면 보상 그래프에 생일에 트리거가 추가돼요. 멤버당 1년에 한 번, 공지가 나간 직후에 작동해요.
어떤 동작에든 연결할 수 있어요. 보너스 XP 지급, 그날 하루 개인 XP 배수 부여, 역할 부여, DM 전송 등이에요. 다른 기능 간 트리거와 마찬가지로, 생일을 켜기 전까지는 팔레트에서 해당 노드가 잠겨 있어요.
✅ 권한
생일 기능에는 공지 채널에서 기본 봇 권한(View Channels, Send Messages, Embed Links)이 필요하고, 생일 역할을 쓴다면 Manage Roles도 필요해요. 기능 권한을 참고하세요.
봇의 역할은 Server Settings → Roles에서 생일 역할보다 위에 있어야 해요. 그렇지 않으면 Discord가 역할 부여를 거부해요.
역할을 멘션하려면 그 역할을 멘션 가능하게 하거나, 봇에게 Mention @everyone, @here, and All Roles 권한을 부여하세요.
💡 모범 사례
- 서버가 실제로 깨어 있는 시간을 고르세요. 새벽 3시 공지는 낭비예요.
- 공개 서버에서는 서버 최소 가입 일수를 일주일 이상으로 두세요.
- 커뮤니티가 정말 원하지 않는 한 나이 표시는 꺼 두세요. 날짜는 공유해도 연도는 공유하지 않는 사람이 많아요.
- 묶기 기준을 활용하세요. 규모가 큰 서버에서 멘션 다섯 개가 연달아 나가면 스팸처럼 보이지만, 다섯 명을 멘션한 메시지 하나는 축하처럼 보여요.
❓ 아무것도 공지되지 않았어요
- 채널이 지정되어 있고, 봇이 거기서 글을 쓰고 링크를 임베드할 수 있나요?
- 오늘 공지 시각이 이미 지났나요? 창은 두 시간뿐이에요.
- 올해 이미 공지된 멤버인가요? 생일 페이지의 배지를 확인하세요.
- 서버 최소 가입 일수보다 최근에 가입했나요?
- 생일이 실제로 이 서버에 등록되어 있나요? 멤버가 다른 곳에 날짜를 저장해 두었어도 여기서는 참여하지 않았을 수 있어요.