Bot 機能(モジュール)

抽選(プレゼント企画 / 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 で変更できるのは賞品名・当選者数・期間の延長で、期間を短くすることはできません。

次のステップ / 関連ページ

最終更新:

目次