ストレージ(カスタム変数・データ型)
「ストレージ」は、Bot のコマンドやイベントで使い回せるカスタム変数と、変数の中身を構造化するためのデータ型をまとめて管理する画面です。「ユーザーごとの所持ポイント」「サーバーごとの設定値」など、Bot に覚えておいてほしいデータをここで作成・編集・削除できます。
この画面で作成した変数は、データベースに保存され続ける**永続変数(BSVAR_ で始まる変数)**です。変数そのものの考え方や、コマンドの式の中での使い方は次のページで詳しく解説しています。
- 永続変数の概念: 永続変数
- 式の中での書き方: コマンド内での変数の使い方
- データ型の考え方: データ型
サイドバー(左メニュー)では「データストレージ」と表示されますが、同じ画面です。
この画面でできること
「変数」と「データ型」の 2 つのタブがあります。
| タブ | できること |
|---|---|
| 「変数」 | カスタム変数の作成・編集・削除、使用状況やスコープ分布の確認 |
| 「データ型」 | オブジェクト型の変数に使う独自データ型(プロパティの組み合わせ)の作成・編集・削除 |
カスタム変数は 1 つの Bot につき最大 1000 件まで作成できます。
ストレージ画面を開く
Bot の管理画面を開く
ダッシュボードから、設定したい Bot を選んで管理画面に入ります。
サイドバーから「データストレージ」を開く
左側のサイドバー(スマートフォンでは下部のメニュー)にある「データストレージ」をクリックします。アイコンはデータベースの形をしています。
「変数」タブの見方
このタブでは、3 つの情報カードと「全変数一覧」を確認でき、右上の「新しい変数を作成」ボタンから変数を追加できます。
3 つの情報カード
| カード名 | 表示される内容 |
|---|---|
| 「データ使用量」 | 作成済みの変数の数と上限(1000)をバーで表示します。「数 / 1000 変数」と、使用率のパーセントが表示されます。 |
| 「変数の総数」 | 現在の変数の合計数を大きく表示します。下に「有効/合計:」として有効な変数の数と合計数が出ます。 |
| 「スコープ分布」 | スコープごとの変数の数を「Guild」「Global」「User」のバッジで表示します。 |
スコープとは、その変数が「どの範囲で値を覚えておくか」を表す設定です。永続変数では「Global(Bot 全体で共通)」「Guild(サーバーごと)」「User(Discord ユーザーごと)」の 3 段階があります。詳しくは永続変数をご覧ください。一時変数にはスコープはありません。
全変数一覧の見方
「全変数一覧」には、作成済みの変数が 1 件ずつカードで並びます。各カードの表示内容は次のとおりです。
| 表示位置 | 内容 |
|---|---|
| 上段(大きい文字) | 変数の表示名。 |
| 下段(小さい文字) | リファレンス名。BSVAR_ で始まる、実際にコマンドの式で使う変数名です。 |
| 右側のバッジ(1 つ目) | その変数の型(string/number/boolean/object など)。 |
| 右側のバッジ(2 つ目) | その変数のスコープ(global/guild/user)。 |
| 右側のバッジ(3 つ目・条件付きで表示) | ユーザー型・チャンネル型のときに、その中身のユーザー定義型(例: Money)。 |
| 右端のアイコン | 鉛筆(編集)アイコン。クリックすると編集フォームが開きます。 |
型の表示は分かりやすく整理されます。内部的に文字列を表す型(str/text)は string、オブジェクトを表す型(obj)は object とまとめて表示されます。
新しい変数を作成する
「新しい変数を作成」をクリックする
「変数」タブの右上にある「新しい変数を作成」ボタンをクリックすると、変数の設定フォームが開きます。
「表示名」を入力する
「表示名」に、変数の分かりやすい名前を入力します(日本語も使えます)。入力すると、その内容をもとに下の「リファレンス名」が BSVAR_ で始まる名前として自動で作られます。
「リファレンス名」を確認する
「リファレンス名」は、実際にコマンドビルダーなどで使う変数名です。表示名から自動生成され、この欄は読み取り専用です。BSVAR_ の後ろに、表示名を英数字とアンダースコアに整えた名前が入ります。
「データタイプ」を選ぶ
「データタイプ」(=データ型)で、保存するデータの種類を選びます。
| 選択肢 | 用途の例 |
|---|---|
| 「文字列(String)」 | テキスト(名前、メッセージなど) |
| 「数値(Number)」 | 数(ポイント、回数など) |
| 「真偽値(Boolean)」 | オン/オフ(true / false) |
| 「オブジェクト(Object)」 | 複数の項目をまとめた構造データ |
| 「ユーザー(User)」 | Discord ユーザーに関するデータ |
| 「チャンネル(Channel)」 | チャンネルに関するデータ |
| 「サーバー(Guild)」 | サーバーに関するデータ |
| 「ロール(Role)」 | ロールに関するデータ |
「スコープ」を選ぶ
「スコープ」で、この変数の値をどの範囲で覚えておくかを選びます。
| 選択肢 | 意味 |
|---|---|
| 「グローバル(Global)」 | Bot 全体で 1 つの値を共有します。 |
| 「サーバー毎(Guild)」 | サーバー(ギルド)ごとに別々の値を持ちます。 |
| 「ユーザー毎(User)」 | Discord ユーザーごとに別々の値を持ちます。 |
(ユーザー型・チャンネル型のとき)中身の型を選ぶ
「データタイプ」で「ユーザー(User)」または「チャンネル(Channel)」を選んだときは、「ユーザー/チャンネルごとのデータタイプ」という項目が追加で表示されます。各ユーザー・各チャンネルに保存するデータの型(「文字列(String)」「数値(Number)」「オブジェクト(Object)」「任意(Any)」、または後述のデータ型)を選びます。
「デフォルト値」を入力する(任意)
「デフォルト値」に、変数の初期値を入れます(省略可能)。入力欄は選んだデータ型によって変わります。
- 文字列: テキスト入力欄
- 数値: 数値入力欄
- 真偽値: 「true」「false」から選択
- それ以外: 複数行のテキスト入力欄
(オブジェクト型のとき)プロパティを設定する
「データタイプ」で「オブジェクト(Object)」を選んだときは、「プロパティ」の設定欄が表示されます。「プロパティ追加」をクリックすると項目が増え、それぞれに「キー名」「型」「初期値」を設定できます。各項目には、コマンドで使うときの参照例(例: {BSVAR_xxx.key} の形)も表示されます。不要な項目はゴミ箱アイコンで削除できます。既存のデータ型を読み込む選択欄(「Load Type…」)から、登録済みのデータ型のプロパティをまとめて読み込むこともできます。
「保存」をクリックする
入力が終わったら「保存」をクリックします。保存に成功すると「変数を保存しました」と表示され、一覧に追加されます。途中でやめる場合は「キャンセル」をクリックします。
作成した変数を実際にコマンドの中で使う方法(値の取得・更新、{BSVAR_...} の書き方)は、コマンド内での変数の使い方で説明しています。
既存の変数を編集・削除する
編集したい変数の鉛筆アイコンをクリックする
「全変数一覧」で、編集したい変数のカード右端にある鉛筆(編集)アイコンをクリックします。フォームが開き、その変数の現在の設定が表示されます。
内容を変更して「保存」をクリックする
表示名・データタイプ・スコープ・デフォルト値などを変更し、「保存」をクリックします。「変数を保存しました」と表示されれば完了です。
削除する場合
編集フォームの下部に表示されるゴミ箱(削除)アイコンをクリックすると、その変数を削除できます。削除に成功すると「変数を削除しました」と表示されます。
変数を削除すると元に戻せません。すでにコマンドやイベントでその変数を使っている場合は、削除前に参照箇所を確認してください。
「データ型」タブ
「データ型」タブでは、オブジェクト型の変数の「中身の形」を定義する独自データ型を管理します。たとえば「名前」「レベル」「経験値」をまとめた RPGStats のような型を作っておくと、変数の作成時に同じ構造を繰り返し使えます。
タブを開くと、登録済みのデータ型がカードで一覧表示されます。各カードには、データ型名と「(数)プロパティ」というプロパティの個数が表示されます。各カードの右上には、鉛筆(編集)アイコンと、ゴミ箱(削除)アイコンがあります。
最初から、Bot でよく使う既定のデータ型(User/Guild/Channel/Time/Money/Url など)が用意されています。これらも編集できますが、削除には注意が必要なものがあります。
既定のデータ型「Money」は削除できません。Money のカードには削除(ゴミ箱)アイコンが表示されません。経済機能などで使われる重要な型のため、誤って消せないようになっています。
新しいデータ型を作成する
「データ型を新規作成」をクリックする
「データ型」タブの右上にある「データ型を新規作成」ボタンをクリックするとフォームが開きます。
「データ型名」を入力する
「データ型名」に、このデータ型の名前を入力します(例: RPGStats)。
「プロパティを追加」でプロパティを増やす
「プロパティ」の見出しの横にある「プロパティを追加」をクリックすると、プロパティの入力行が 1 つ追加されます。必要な数だけ繰り返します。
各プロパティの「キー」「型」「デフォルト値」を設定する
追加した各プロパティに、次の項目を設定します。
| 項目 | 内容 |
|---|---|
| 「キー」 | プロパティの名前(例: level)。 |
| 「型」 | プロパティのデータの種類。「文字列」「数値」「真偽値」から選びます。 |
| 「デフォルト値」 | そのプロパティの初期値。 |
不要なプロパティは、その行の右にあるゴミ箱(削除)アイコンで取り除けます。
「保存」をクリックする
設定が終わったら「保存」をクリックします。やめる場合は「キャンセル」をクリックします。
既存のデータ型を編集・削除する
- 編集: 編集したいデータ型カードの鉛筆(編集)アイコンをクリックすると、「データ型を編集」フォームが開きます。データ型名やプロパティを変更して「保存」をクリックします。
- 削除: 削除したいデータ型カードのゴミ箱(削除)アイコンをクリックすると削除できます。
ここで作ったデータ型は、変数作成フォームの「データタイプ」で「オブジェクト(Object)」を選んだとき、または「ユーザー(User)」「チャンネル(Channel)」を選んだときの中身の型として選べるようになります。
次のステップ・関連ページ
- 永続変数 —
BSVAR_変数とスコープの考え方を詳しく - コマンド内での変数の使い方 — 作った変数を式の中で読み書きする方法
- データ型 — オブジェクト型・データ型の構造についての解説
- Bot概要 — Bot 管理画面全体の見取り図