データ型(カスタム型)を定義する
「データ型」は、複数の項目(プロパティ)をひとまとめにした 自分専用の型 を作っておく機能です。たとえば「レベル」「経験値」「所持金」をまとめた RPGStats のような型をあらかじめ定義しておくと、オブジェクト型の変数を作るときに同じ構造を何度も使い回せます。データ型は「ストレージ」画面の「データ型」タブで管理します。
この機能は現在ベータ版です。ここで作るデータ型は お使いのブラウザにのみ保存 され、Bot 本体には送られません。詳しくは下のデータ型はこのブラウザにだけ保存されますをご覧ください。
データ型タブとは(オブジェクトの「設計図」を作る)
Bot に覚えさせるデータには、1 つの値だけを持つもの(数値や文字列)と、複数の項目をひとまとめにしたもの(オブジェクト)があります。たとえば「あるユーザーの RPG ステータス」は、
level(レベル)= 数値exp(経験値)= 数値class(職業)= 文字列
のように、複数の項目をひとつにまとめたいことがあります。このような「まとまった形」をあらかじめ名前付きで定義しておくのが データ型 です。
データ型は、いわばオブジェクトの 設計図 です。設計図そのものがデータを持つわけではなく、「この型にはこういう項目(プロパティ)が並ぶ」という形だけを決めておきます。実際の変数を作るときに、この設計図を読み込むことで、プロパティを一つひとつ手入力する手間を省けます。
データ型は、オブジェクト型の変数を作るときの 入力補助(プロパティの自動入力) として使われる機能です。データ型を作っただけでは Bot の動作は変わりません。実際に使うには、変数作成フォームでこの型を読み込みます(オブジェクト型変数で「Load Type…」から読み込むを参照)。
「データ型」タブを開くと、登録済みのデータ型がカードで一覧表示されます。
| 表示位置 | 内容 |
|---|---|
| カード上部(大きい文字) | データ型の名前(例: RPGStats)。 |
| カード下部(小さい文字) | そのデータ型が持つプロパティの個数。「(数)プロパティ」と表示されます。 |
| カード右上のアイコン | 鉛筆(編集)アイコンと、ゴミ箱(削除)アイコン。 |
データ型タブを開く
Bot の管理画面を開く
ダッシュボードから、設定したい Bot を選んで管理画面に入ります。
サイドバーから「データストレージ」を開く
左側のサイドバー(スマートフォンでは下部のメニュー)にある「データストレージ」をクリックして、ストレージ画面を開きます。
「データ型」タブを選ぶ
画面上部にある「変数」「データ型」の 2 つのタブのうち、「データ型」をクリックします。登録済みのデータ型の一覧が表示されます。
サイドバー(左メニュー)では「データストレージ」、ページ内の見出しでは「ストレージ」と表示されますが、どちらも同じ画面です(説明は「Bot で使用可能なカスタム変数を管理できます」)。変数そのものの一覧や作成は「変数」タブ側で行います(ストレージ(カスタム変数・データ型)を参照)。
最初から用意されている組み込みの型
「データ型」タブには、はじめから Bot でよく使う組み込みのデータ型が用意されています。これらは Discord のユーザーやサーバーなど、よく扱う対象の項目をまとめたものです。
| データ型 | 主な用途 | 含まれるプロパティの例 |
|---|---|---|
User | Discord ユーザー/サーバーメンバーを表す | name、id、mention、icon、createdAt、joinedAt |
Guild | Discord サーバー(ギルド)を表す | name、id、memberCount、icon、owner、boostCount、boostLevel |
Channel | チャンネルを表す | name、id、mention |
Time | 日付と時刻を表す | unix、relative、long、short |
Money | 経済システムの金額を表す | value、format |
Url | URL 文字列を表す | url |
これらの組み込み型も、自分で作った型と同じように編集したり、(後述の Money を除いて)削除したりできます。
「Money」型は経済システム用の組み込み型のため削除できません。Money のカードには削除(ゴミ箱)アイコンが表示されないため、誤って消してしまう心配はありません。
新しいデータ型を作る
データ型は「データ型名」と、その型が持つ「プロパティ」の組み合わせで作ります。
「データ型を新規作成」をクリックする
「データ型」タブの右上にある「データ型を新規作成」ボタンをクリックして、「新しいデータ型」フォームを開きます。
「データ型名」を入力する
「データ型名」に、このデータ型の名前を入力します(入力欄には例として RPGStats が薄く表示されます)。Bot の中で識別しやすい、分かりやすい名前を付けましょう。
「プロパティを追加」でプロパティを増やす
「プロパティ」の見出しの横にある「プロパティを追加」をクリックすると、プロパティの入力行が 1 つ追加されます。必要な項目の数だけ繰り返して追加します。
各プロパティの「キー」「型」「デフォルト値」を設定する
追加した各プロパティに、次の 3 つの項目を設定します(詳しくは下のプロパティの設定を参照)。
- 「キー」… プロパティの名前
- 「型」… そのプロパティのデータの種類
- 「デフォルト値」… 初期値
不要になったプロパティは、その行の右にあるゴミ箱(削除)アイコンで取り除けます。
「保存」をクリックする
入力が終わったら「保存」をクリックします。一覧にこのデータ型のカードが追加されます。途中でやめる場合は「キャンセル」をクリックします。
プロパティの設定
各プロパティには、次の項目を設定します。
| 項目 | 内容 |
|---|---|
| 「キー」 | プロパティの名前です。コマンドの中で値を取り出すときの目印になります(例: level)。入力欄には key_name という例が薄く表示されます。 |
| 「型」 | そのプロパティに入れるデータの種類です。「文字列」「数値」「真偽値」の 3 つから選びます。 |
| 「デフォルト値」 | そのプロパティの初期値です。 |
「型」で選べる種類:
| 選択肢 | 用途の例 |
|---|---|
| 「文字列」 | テキスト(名前、職業名、メッセージなど)。 |
| 「数値」 | 数(レベル、経験値、回数など)。 |
| 「真偽値」 | オン/オフ(true / false)。 |
データ型タブの新規作成フォームで選べる「型」は「文字列」「数値」「真偽値」の 3 種類です。変数作成フォーム側でプロパティを直接編集する場合は、これに加えて「ユーザー」「チャンネル」「ロール」「オブジェクト」も選べます(ストレージ(カスタム変数・データ型)を参照)。
オブジェクト型変数で「Load Type…」から読み込む
作ったデータ型は、変数を作るときの 入力補助 として使います。変数の「データタイプ」を「オブジェクト」にすると、データ型に登録したプロパティをまとめて読み込めます。
「変数」タブで新しい変数を作る
「ストレージ」画面の「変数」タブを開き、右上の「新しい変数を作成」をクリックします。変数の設定フォームが開きます。
「データタイプ」を「オブジェクト(Object)」にする
「データタイプ」の選択欄で「オブジェクト(Object)」を選びます。すると「プロパティ」の設定欄が表示されます。
「Load Type…」から作ったデータ型を選ぶ
「プロパティ」の見出しの横にある「Load Type…」と表示された選択欄を開くと、登録済みのデータ型の一覧が出てきます。ここで読み込みたい型(例: RPGStats)を選びます。
プロパティが自動で入力される
型を選ぶと、そのデータ型に登録されているプロパティ(キー名・型・初期値)が「プロパティ」欄にまとめて読み込まれます。あとは必要に応じて値を調整し、変数を保存します。
「データタイプ」で「ユーザー(User)」または「チャンネル(Channel)」を選んだときに表示される「ユーザー/チャンネルごとのデータタイプ」の選択肢にも、作成済みのデータ型が並びます。各ユーザー・各チャンネルに保存するデータの中身の型として、作ったデータ型を指定できます。
編集と削除
登録済みのデータ型は、一覧のカードからいつでも編集・削除できます。
編集する場合
編集したいデータ型カードの右上にある鉛筆(編集)アイコンをクリックすると、「データ型を編集」フォームが開きます。データ型名やプロパティを変更して「保存」をクリックします。やめる場合は「キャンセル」をクリックします。
削除する場合
削除したいデータ型カードの右上にあるゴミ箱(削除)アイコンをクリックして、そのデータ型を削除します。組み込み型を含め、ほとんどの型を削除できます(Money を除く。下の注意を参照)。
既存のデータ型を編集しても、すでにその型を「Load Type…」で読み込んで作った変数の内容は自動では変わりません。「Load Type…」はあくまで、変数作成時にプロパティをコピーして読み込むための機能です。型を変更したあとに変数側へ反映したい場合は、対象の変数を開いて改めて読み込み直してください。
データ型はこのブラウザにだけ保存されます
データ型は、お使いのブラウザの中(ローカルストレージ)にのみ保存されます。Bot の本体や、永続変数のカタログには送られません。
次の点に注意してください。
- 別の端末や別のブラウザで同じダッシュボードを開いても、作ったデータ型は表示されません。
- ブラウザの履歴やサイトデータを消去すると、作ったデータ型も失われることがあります。
- 共同編集者など、ほかの人の画面には、作ったデータ型は共有されません。
データ型はあくまで「変数を作るときの入力補助」です。実際に Bot に保存・反映されるのは、データ型を読み込んで作った 変数 のほうです。変数は「保存」したときにサーバー側に保存されます。データ型が消えても、すでに保存済みの変数の中身には影響しません。
次のステップ・関連ページ
- ストレージ(カスタム変数・データ型) — 変数とデータ型をまとめて管理する画面の全体像
- 永続変数 —
BSVAR_変数とスコープの考え方 - コマンド内での変数の使い方 — 作った変数を式の中で読み書きする方法
- 変数の概要 — 変数の基本的な考え方