変数とデータ
変数の概要(3種類の使い分け)
BotShade には 3 種類の変数があります。値を残す期間と、作る場所が異なります。
| 種類 | 用途 | 値が残る期間 | 作る場所 | 参照のしかた |
|---|---|---|---|---|
| 永続変数 | スコア・ポイント・設定値など、実行をまたいで使い回す値 | 削除するまで残る | 「データストレージ」、またはコマンドビルダー左パネルの「変数」 | {BSVAR_score} |
| 環境変数 | API キー・トークン・各種 ID を Bot 単位で保管する | 管理者が編集・削除するまで残る | 「環境変数」 | {env.NAME} |
| 一時変数 | コマンドの処理中だけ使う計算結果・入力値 | コマンドの実行が終わると消える | コマンドビルダーの「変数を設定」ノードなど | {score} |
永続変数
値を共有する範囲を、スコープ(Bot 全体・サーバーごと・ユーザーごと)で選びます。名前は表示名から自動で BSVAR_ で始まるリファレンス名が付き、コマンドではこのリファレンス名で参照します。複数の項目をまとめたいときは、データ型でひな形を定義してオブジェクト型の変数に割り当てます。
環境変数
変数ごとにシークレットか設定値を選べます。シークレットは暗号化して保存され、保存後は値を再表示できません(差し替えのみ可能)。コマンドで読み書きする値は永続変数、外部サービスへの接続情報や秘密の値は環境変数、と使い分けます。
一時変数
一時変数は、コマンドの実行が終わると消えます。値を残したい場合は永続変数を使ってください。
参照の基本
- オブジェクト型は
{変数名.キー名}で項目を取り出せます。配列は{変数名.length}(件数)、{変数名.0}(0 から数えた番号)、.first/.lastでたどれます。 - 自分で作らなくても、
{User.name}{Guild.name}{Now}などの組み込み変数や、実行の文脈を表す{Command.*}{Event.*}が使えます(変数の種類と参照のしかた)。 - モジュールのメッセージでは、そのモジュール専用の変数も使えます。一覧は各モジュールのページにあります(抽選の
{Giveaway.*}、レベリングの{Leveling.*}、Twitch 配信通知の{Twitch.*})。 - 値が用意されていない変数を書いた場合、その部分は空にはならず、書いたとおりの文字列がそのまま残ります。
次のステップ / 関連ページ
- コマンド内での変数の使い方 —
{変数名}と${ ... }式の書き方 - 変数と式の使い方 — 変数まわりのノード(変数操作・配列操作・乱数)
最終更新: