抽選(プレゼント企画 / Giveaway)
サーバーのメンバーが参加できるプレゼント抽選(Giveaway)を開催するための機能です。賞品を用意して抽選を作成すると、メンバーはボタンなどで参加でき、期間が来ると Bot が自動で当選者を選んで通知します。手動での早期終了や、当選者を選び直す「再抽選(リロール)」もできます。
抽選そのものの作成・期間設定は、Discord 上のスラッシュコマンド /giveaway create で行います。
この機能は 無料 で利用できます。現在はベータ版のため、本来プレミアム向けの機能や上限も含めて全ユーザーが無料で利用できます(全員にプレミアムが付与されています)。
このページでできること
- コマンド権限設定 …
/giveaway createなどの各コマンドについて「誰が使えるか」を決めます。 - コンテキストメニュー権限設定 … 抽選メッセージを右クリックして実行する「抽選を終了する」「抽選をリロールする」の権限を決めます。
- 当選メッセージ設定 … 当選者へ送る通知メッセージ(本文と埋め込み)を作ります。
機能を有効にする
Bot の管理画面のサイドバーから「抽選」を開き、ページ最上部の「機能の有効化」をオンにして保存します。
コマンド権限設定
「コマンド権限設定」では、抽選の 4 つのスラッシュコマンド /giveaway create /giveaway end /giveaway reroll /giveaway edit を 1 つずつ設定します。行をクリックすると「コマンドを有効化」「個別権限設定を有効化」「Discord権限より個別設定を優先」(強制上書き)を切り替えられます。操作はすべての機能で共通です(コマンド権限設定の使い方)。
各コマンドの役割と、初期状態で誰が使えるかはコマンド一覧にまとめています。
コンテキストメニュー権限設定
「コンテキストメニュー権限設定」では、抽選メッセージを 右クリック(スマートフォンでは長押し) して実行する「抽選を終了する」「抽選をリロールする」の 2 つのメニューを設定します。コマンドを入力しなくても、抽選メッセージから直接操作できます。設定方法はコマンド権限設定と同じです。
当選メッセージ設定
「当選メッセージ設定」では、抽選が終了して当選者が決まったときに Bot が送る お祝いメッセージ を作ります。本文(テキスト)と埋め込み(リッチな枠付きメッセージ)の両方を設定でき、編集画面の下にはプレビューが表示されます。
メッセージの本文を入力する
「メッセージ内容 (Content)」の欄に、当選者へ伝えたい文章を入力します。本文は最大 2000 文字まで入力できます。Markdown(太字やリンクなど)に対応しています。
必要なら埋め込み(Embed)を作る
より見栄えのする通知にしたい場合は、埋め込みを使います。次のタブから内容を編集できます。
- 「基本設定」… タイトル、タイトルURL、説明 (Description)、カラーを設定します。
- 「著者 (Author)」… 著者名、著者URL、アイコンURLを設定します。
- 「画像設定」… 画像URL (Main Image)、サムネイルURL (Thumbnail) を設定します。
- 「フッター」… フッターテキスト、フッターアイコンURL、タイムスタンプの表示を設定します。
- 「フィールド」… 「フィールドを追加」で項目を追加し、名前と値を設定します(最大 25 個)。
変数挿入ボタンで抽選変数を入れる
「変数を追加」ボタンから、当選者名や賞品名などの抽選変数を選んで差し込めます。たとえば「{Giveaway.prize} の当選者は {Giveaway.winners} さんです!」のように書くと、実際の送信時に賞品名と当選者に置き換わります。
画像URLなどに変数({ } を含む値)を入れると、プレビューでは画像やリンクとして表示されないことがありますが、送信時には正しいURLに置き換わります。
メッセージで使える抽選変数
当選メッセージの本文・埋め込みの各入力欄では、抽選に関する変数(Giveaway で始まる変数)を使えます。これらは送信時に実際の値へ自動で置き換わります。
| 変数 | 内容 |
|---|---|
{Giveaway.prize} | 賞品の名前 |
{Giveaway.winners} | 当選者のメンション一覧 |
{Giveaway.winnerNum} | 当選者の総数 |
{Giveaway.participators} | 参加者のメンション一覧 |
{Giveaway.participatorNum} | 参加者の総数 |
{Giveaway.winUser} | 代表当選者(最初の当選者。1 人以上いる場合) |
{Giveaway.endTime} | 抽選の終了日時(Discord の動的タイムスタンプ) |
{Giveaway.creatorMention} | 抽選作成者のメンション |
{Giveaway.messageUrl} | 抽選メッセージへのリンクURL |
代表当選者({Giveaway.winUser})は 1 人分の当選者情報を表す変数で、{Giveaway.winUser.name}(名前)、{Giveaway.winUser.mention}(メンション)、{Giveaway.winUser.id}(ID)のようにさらに細かい情報を取り出せます。
変数の基本的な考え方や使い方の詳細は、変数の概要も参考にしてください。
設定を保存する
設定を変更すると、画面下部に保存バーが表示されます。変更は「保存」をクリックするまで Bot に反映されないため、ページを離れる前に保存してください。「破棄」をクリックすると直前の保存状態に戻ります。
実際に抽選を開催する
ダッシュボードでの設定が終わったら、実際の抽選は Discord 上で行います。
抽選を作成する
Discord で /giveaway create を実行して、賞品・当選者数・期間などを指定します。いずれかを省略すると、項目を順番に入力していく 作成ウィザード が代わりに起動します。
メンバーが参加する
抽選メッセージに表示されるボタンなどから、メンバーが参加します。/giveaway edit を実行すると 管理ハブ が開き、進行中の抽選の一覧や、指定した抽選の詳細を確認できます。
抽選を終了・再抽選する
期間が来ると Bot が自動で当選者を選び、設定した当選メッセージで通知します。早く締め切りたいときは /giveaway end(または抽選メッセージを右クリックして「抽選を終了する」)、当選者を選び直したいときは /giveaway reroll(または「抽選をリロールする」)を使います。
コマンド一覧
Discord 上で使える抽選コマンドの一覧です。「誰が使えるか」は初期状態(個別権限設定をしていない場合)の挙動です。
| コマンド / メニュー | 役割 | 主なオプション | 誰が使えるか | 応答の見え方 |
|---|---|---|---|---|
/giveaway create | 抽選を作成し、参加ボタン付きメッセージを投稿します。賞品・当選者数・期間がそろっていればその場で投稿し、いずれかが未入力のときは項目を順番に入力する作成ウィザードを開きます。 | すべて任意(賞品・当選者数・期間・期間の単位、タイトル・説明・画像・色・必須ロールなど)。未入力の項目はウィザードで補い、入力済みの値はあらかじめ反映されます。 | 初期状態は「Manage Server(サーバー管理)」権限が必要(個別権限設定で変更可能) | コマンド応答(ウィザードを含む)は本人だけに表示。完成した抽選メッセージはチャンネルに公開 |
/giveaway end | 進行中の抽選を手動で終了し、当選者を選んで結果を投稿します。 | 抽選(対象を選択) | 作成者本人 または サーバー管理者 | 確認応答は本人だけに表示。結果は元のチャンネルに公開 |
/giveaway reroll | 終了済みの抽選から当選者を選び直します。 | 抽選(対象を選択)、当選者数 | 作成者本人 または サーバー管理者 | 確認応答は本人だけに表示。結果は公開 |
/giveaway edit | 抽選の管理ハブを開き、編集・削除・一覧・詳細表示を 1 つの画面でまとめて行います。一覧から抽選を選んで詳細を開き、そこから編集・削除へ進みます。 | パラメータなし。管理ハブ内のボタン・選択メニューで操作します。一覧では状態(開催中 / 終了 / すべて。初期値は 開催中)で絞り込めます。 | 一覧・詳細表示は初期状態で「Manage Server(サーバー管理)」権限が必要(個別権限設定で変更可能)。編集・削除は 作成者本人 または サーバー管理者 | 管理ハブは本人だけに表示。編集・削除の結果として抽選メッセージは公開で更新 |
| 「抽選を終了する」(右クリックメニュー) | 抽選メッセージを右クリックして手動で終了します。 | なし(メッセージが対象) | 作成者本人 または サーバー管理者 | 確認応答は本人だけに表示。結果は公開 |
| 「抽選をリロールする」(右クリックメニュー) | 抽選メッセージを右クリックして再抽選します。 | 当選者数(入力欄が開きます) | 作成者本人 または サーバー管理者 | 入力欄・確認は本人だけに表示。結果は公開 |
| 「参加する」(参加ボタン) | 抽選メッセージの公開ボタン。押すたびに参加・取り消しが切り替わります。 | なし | サーバーのメンバー(参加条件がある場合は条件を満たした人のみ) | 応答は本人だけに表示。ボタンには参加人数が表示 |
実際の動作と既定値
- 参加ボタンは押すたびに切り替わります。 まだ参加していない人が「参加する」を押すと参加が受け付けられ、すでに参加済みの人がもう一度押すと参加が取り消されます。ボタンには
参加する (0)のように現在の参加人数が表示され、自動で更新されます。 - 期間が来ると Bot が自動で終了します。 当選者を選び、元のメッセージのタイトルを
終了: ...に書き換えたうえで、抽選メッセージへの返信として当選者を投稿します。終了は時刻ちょうどではなく、数十秒ほど遅れることがあります。 - 当選者はランダムに選ばれます。 参加者の中から指定した人数がランダムに選出されます。ボーナスエントリーを設定している場合は、対象ロールを持つ参加者が当選しやすくなる重み付き抽選になります。
- 当選者数より参加者が少ないときは、いる人数だけ選ばれます。 たとえば当選者 5 人に設定していても参加者が 3 人なら、3 人が当選者になります。参加者がいないまま終了した場合は
当選者なし!と表示されます。 - 参加条件は最初に参加するときだけ確認されます。 いったん参加を取り消して入り直す場合、条件の再確認は行われないため、条件を満たさなくなった人が参加状態を保てる場合があります。
/giveaway createの作成ウィザードでは、期間の単位の初期値は「時間」 です。入力欄の 当選者数・期間の初期値はどちらも1です。- 抽選メッセージの タイトルを指定しない場合、
🎉 抽選: <賞品名>が自動で使われます。 - 抽選メッセージの 説明を指定しない場合、
下のボタンを押して **<賞品名>** の抽選に参加しよう!が自動で使われます。
参加条件とボーナスエントリー
抽選には参加条件や、当選確率を上げるボーナスを設定できます。
- 必須ロール … 指定したロールを持つメンバーだけが参加できます。
- アカウント作成からの経過日数 … アカウントが一定の日数以上経過しているメンバーだけが参加できます。ウィザードでは
7/14/30/90日から選びます。 - サーバー参加からの経過日数 … サーバーに参加してから一定の日数以上たったメンバーだけが参加できます。ウィザードでは
1/7/14/30日から選びます。 - ボーナスエントリー … 指定したロールを持つ参加者の抽選口数を増やし、当選しやすくします。ロールごとに
+1から+5まで設定できます。複数のボーナス対象ロールを持つ場合、ボーナスは合算されます。
アカウント・サーバー参加日数の条件とボーナスエントリーは、本来プレミアム向けの機能です(ベータ期間中は無料で設定できます)。
上限とクールダウン
抽選の各項目には次の上限があります。
- 当選者数 … 無料プランでは 5 人までです。
- 実施期間(日単位) … 無料プランでは「日」単位で 3 日までです(「分」「時間」単位には上限がありません)。
- 賞品名 … 最大 100 文字です。
- 埋め込みのタイトル … 最大 256 文字です。
- 埋め込みの説明 … 最大 1000 文字です。
- 色 …
#RRGGBB形式(7 文字)で指定します。 - 一覧表示(
/giveaway editの一覧) … 一度に表示されるのは最新 10 件までです。 - 詳細表示(
/giveaway editの詳細)の参加者表示 … 参加者が 50 人を超える場合は、メンションの代わりに ID を並べたコードブロックで表示します(メンションの大量通知を防ぐためです)。さらに 100 人を超える場合は、先頭 100 人分の ID を表示し、残りを...他 XXX名のように示します。 - 対象の抽選を選ぶ候補(オートコンプリート) … 最大 25 件まで表示され、開催中の抽選が優先して上に並びます。
抽選コマンド自体に待ち時間(クールダウン)はありません。
表示されるメッセージ
抽選の操作に対して Bot が返す主なメッセージです。<...> の部分は、その時の賞品名や操作名など実際の内容に置き換わります。
成功したとき:
- 参加を受け付けたとき …
抽選への参加を受け付けました!/ 参加を取り消したとき …抽選への参加を取り消しました。 - 作成に成功したとき …
抽選 `<賞品名>` を開始しました。/ 終了に成功したとき …抽選 `<賞品名>` を終了しました。 - 編集に成功したとき …
✅ 抽選を編集しました:に続けて変更点が示されます。 - 再抽選が完了したとき …
再抽選が完了しました。/ 削除に成功したとき …抽選を削除しました。 - 結果メッセージ … 期間が来て自動終了したときは
🎉 **抽選が終了しました!**、再抽選のときは🎉 **再抽選の結果!**に続けて当選者名が投稿されます。
受け付けられなかったとき:
- 参加条件を満たしていないとき …
参加条件を満たしていません:に続けて、満たしていない条件(必須ロール・アカウント経過日数・サーバー参加日数)が示されます。 - すでに終了した抽選のボタンを押したとき、終了済みの抽選をもう一度終了しようとしたとき …
この抽選は既に終了しています。 - 当選者数が 5 人を超えるとき …
無料プランでは、当選者数を5人以上に設定できません。 - 「日」単位で 3 日を超えるとき …
無料プランでは、実施期間を3日以上に設定できません。 - 編集で何も指定しなかったとき …
変更する項目を1つ以上指定してください。 - 終了済みの抽選を編集しようとしたとき …
終了済みの抽選は編集できません。 - 作成者でも管理者でもない人が終了・再抽選・編集・削除を試みたとき …
この抽選を作成した本人、またはサーバー管理者のみが<操作>できます。 - 対象の抽選が見つからないとき …
抽選が見つかりません。 - 一覧に該当する抽選がないとき …
該当する抽選はありません。 - 抽選でないメッセージに右クリックメニューを使ったとき …
これは抽選メッセージではありません。 - 投稿先チャンネルに送信権限がないとき …
エラー: このチャンネルにメッセージを送信する権限がありません。
注意点・うまくいかないとき
- 抽選メッセージを消すと終了・再抽選ができなくなります。 元の抽選メッセージを Discord 上で削除すると、結果を投稿できず、
結果の表示に失敗しました。元のメッセージが見つからないか、権限がありません。のように表示されます。 - 削除は当選者を選びません。
/giveaway editの削除操作は抽選そのものを取り消す操作で、当選者の選出も結果の投稿も行いません。当選者を決めたい場合は/giveaway endを使ってください。 - 期間は延長のみできます。
/giveaway editで変更できるのは賞品名・当選者数・期間の延長で、期間を短くすることはできません。
次のステップ / 関連ページ
- コマンド権限設定の使い方 — コマンド・コンテキストメニューの権限を細かく設定する共通の手順
- モジュールの基本と共通操作 — 機能の有効化や保存など、すべての機能に共通する操作
- 変数の概要 — メッセージに差し込む変数の基本
- 投票 — 同じように Discord 上で開催する投票機能
最終更新: