変数とデータ

変数の概要(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.*})。
  • 値が用意されていない変数を書いた場合、その部分は空にはならず、書いたとおりの文字列がそのまま残ります。

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

最終更新:

目次