メンバーが/birthday setで誕生日を一度登録すると、botが当日、あなたが選んだチャンネルでお祝いします。任意で、期間限定の誕生日ロールも付与できます。

🎂 仕組み
- 誕生日を有効にして、誕生日ページを開きます。
- お知らせチャンネル、時刻、タイムゾーンを選びます。チャンネルを設定するまで、何も告知されません。
- メッセージを作ります。メンバーに
/birthday setを実行するよう伝えましょう。
当日になると、botはお知らせを投稿し、設定してあれば誕生日ロールを付与し、期間が過ぎると外します。
🗓️ 1つの誕生日を、すべてのサーバーで
テキストのプレフィックスを設定すると、同じ操作を通常のメッセージからも実行できます。たとえば!birthday set 14 Julyです。テキストコマンドとプレフィックスをご覧ください。
メンバーの日付は、サーバーごとではなくDiscordアカウントにつき1回保存されます。YAWBDBを使っている別のサーバーですでに誕生日を登録している人は、何も入力する必要がありません。ここで/birthday setを実行すると、そのまま参加登録になります。
つまり、次のようになります。
- 同じ日付を5つの別々のサーバーで入力し直す必要はありません。
- **
/birthday remove**は、このサーバーだけで参加を解除します。日付は、ほかのサーバーのために保存されたままです。 - **
/birthday forget**は、すべてのサーバーで記録を削除します。サーバーでこの機能がオフになっていても、常に実行できます。
参加登録していないサーバーで、メンバーの誕生日が見られることはありません。
⌨️ メンバー用のコマンド
| コマンド | 内容 |
|---|---|
/birthday set |
日付を保存します。日、月、そして任意の生まれた年。 |
/birthday get |
自分の誕生日を表示します。ほかのメンバーがここで参加登録していれば、その人の誕生日も表示できます。 |
/birthday next |
このサーバーの、近づいている誕生日を一覧表示します。 |
/birthday remove |
このサーバーでの自分の誕生日の告知をやめます。 |
/birthday forget |
YAWBDBから自分の誕生日を完全に削除します。 |
すべての返信は非公開で、コマンドを実行した本人にしか見えません。公開されるのは、当日のお知らせだけです。
生まれた年は任意で、年齢の表示にのみ使われます。入力しなかったメンバーの年齢が表示されることはありません。
💻 パネルから設定する
メンバーは、パネルのプロフィールから自分の誕生日を設定または削除することもでき、Discordにはまったく触れる必要がありません。ただし、Discordアカウントがパネルのアカウントに連携されている必要があります。パネルがどの誕生日が本人のものかを知る手段が、その連携だからです。
/birthday setと同じルールが適用されます。日、月、任意の年に加え、変更後の30日間のロックも同じです。これはアカウント全体の日付で、特定のサーバーに紐づくものではありません。/birthday setが書き込む記録とまったく同じで、スラッシュコマンドの代わりに画面が使えるだけです。
⚙️ 設定
| 設定 | 内容 |
|---|---|
| お知らせチャンネル | メッセージを投稿する場所。必須です。 |
| 告知する時刻 / タイムゾーン | その日の誕生日を告知する現地時刻。その時刻から2時間は、告知の受付が続きます。 |
| メンションするロール | お知らせと一緒にメンションされます。任意です。 |
| 誕生日ロール | 当日に付与され、自動で外されます。任意です。 |
| ロールの保持時間(時間) | 誕生日ロールを保持する時間数。1から168(1週間)まで。 |
| サーバー最低在籍日数 | これより新しく参加したメンバーは、その年は対象外になります。 |
| この人数以上でまとめる | 同じ日の誕生日がこの人数を超えると、複数のメッセージではなく1つのメッセージにまとめて送ります。 |
| 年齢を表示 | 年齢を表示します。生まれた年を自分から登録したメンバーのみが対象です。 |
| DMでもお祝いする | 告知されたメンバーに、同じメッセージをDMで送ります。ロールのメンションは付きません。DMを閉じているメンバーは、ほかの人と同じようにチャンネルの投稿を見ることになります。 |
2時間の受付時間がある理由は? その日の告知は、選んだ時刻から2時間後までの間にだけ送られます。それ以外の時間には何も投稿されません。そのため、夕方に日付を「今日」に設定したメンバーは、即座にメンションが飛ぶのではなく、来年を待つことになります。
✍️ お知らせを書く
メッセージは、埋め込みビルダーと同じエディターで作成します。上にテキスト1行、下に完全な埋め込み、右にライブプレビューがあります。
次のプレースホルダーは、テキストと、埋め込みのどこでも(タイトル、説明、フィールド、フッター)使えます。
| プレースホルダー | 置き換わる内容 |
|---|---|
{mention} |
メンバーへのメンション。まとめたメッセージでは、全員へのメンション |
{user} |
{mention}と同じ |
{age} |
その人が迎える年齢。まとめたメッセージでは空白。生まれた年を共有していない場合や年齢を表示がオフの場合も空白 |
{count} |
お祝いされるメンバーの人数 |
メッセージと埋め込みの両方を空にした場合、誰かの誕生日に何も投稿しないのではなく、botは「🎂 Happy birthday @member!」というシンプルなメッセージに切り替えます。
お知らせが@everyoneや@hereにメンションすることはありません。
🛡️ 注目を独り占めできません
誕生日のお知らせは、公開チャンネルでのメンションなので、悪用される可能性があります。いくつかの仕組みでそれを防いでいます。
- **サーバーごとに年1回。**メンバーが日付を何回書き換えても、1つのサーバーで告知されるのは、暦年につき最大1回です。参加解除して再度参加登録しても、リセットされません。
- **コマンドは何も告知しません。**投稿するのは、スケジュールされたチェックだけです。そのため、日付を今日に設定してもメッセージは飛びません。
- **変更には回数制限があります。**最初の保存は自由で、入力ミスはよくあるからです。その後に日付を変更すると、30日間ロックされます。
- **サーバーの最低在籍期間。**作ったばかりのアカウントが参加して、今日を主張し、メンションを集めることができないように設定します。
- 上で説明した2時間の受付時間。
メンバーが日付を本当に入力ミスして、今ロックされている場合は、スタッフが誕生日ページからロックを解除できます。
🧑💼 パネル側
誕生日ページには、参加登録したすべての人が、誕生日が近い順に並んで表示され、ロックされているメンバーや、今年すでに告知されたメンバーにはバッジが付きます。
- ロック解除 - 本当に間違えたメンバーの、30日間の変更クールダウンを解除します。
- 削除 - そのメンバーの誕生日をこのサーバーからのみ削除します。ほかのサーバーでの記録には影響しません。
🏆 誕生日とレベリング
レベリングが有効な場合、報酬グラフに誕生日にトリガーが加わります。メンバーごとに年1回、お知らせが送られた直後に発動します。
任意のアクションにつなげられます。ボーナスXPの付与、その日だけの個人用XP倍率、ロールの付与、DMの送信などです。機能をまたぐほかのトリガーと同じく、このノードは誕生日が有効になるまで、パレットでロックされたままです。
✅ 権限
誕生日には、お知らせチャンネルでの基本のbotの権限(View Channels、Send Messages、Embed Links)に加え、誕生日ロールを使う場合はManage Rolesが必要です。機能の権限をご覧ください。
botのロールは、Server Settings → Rolesで誕生日ロールより上にある必要があります。そうでないと、Discordがロールの付与を拒否します。
ロールにメンションするには、そのロールをメンション可能にするか、botにMention @everyone, @here, and All Rolesの権限を与えてください。
💡 ベストプラクティス
- サーバーが実際に起きている時間を選びましょう。午前3時の告知は、無駄になります。
- 公開サーバーでは、サーバー最低在籍日数を1週間以上にしておきましょう。
- コミュニティが本当に望まない限り、年齢を表示はオフにしておきましょう。日付は共有しても、年は共有しない人が大勢います。
- まとめる人数のしきい値を使いましょう。大きなサーバーでは、5件のメンションが続くとスパムに見えますが、5人へのメンションが入った1つのメッセージなら、お祝いに見えます。
❓ 何も告知されなかった場合
- チャンネルは設定されていて、botはそこに投稿して埋め込みリンクを送れますか?
- その日の告知時刻は、すでに過ぎていませんか? 受付時間は2時間だけです。
- そのメンバーは、今年すでに告知されていませんか? 誕生日ページのバッジを確認してください。
- サーバー最低在籍日数より新しく参加していませんか?
- 誕生日は、本当にこのサーバーで登録されていますか? メンバーは、ここで参加登録していなくても、別の場所に日付が保存されていることがあります。