変数の使用方法について知りたい

変数は「システム変数」・「シナリオ内変数」・「ユーザー変数」の3種類があり、シナリオ作成時の「発言内容」・「質問内容」・「選択肢の項目」・「実行条件」で利用可能です。

システム変数

現在日時や現在時刻など、よく利用される変数を予めDialogPlay(システム)側で定義した変数です。
利用できる変数は、「@現在日時」・「@本日」・「@現在時刻」があります。

シナリオ内変数

シナリオ内でのみ利用できる変数です。
シナリオが終了すると変数は初期化されます。

ユーザー変数

ユーザー変数として定義した値をチャットボット内のシナリオで利用できる変数です。
シナリオ終了時に変数の値が初期化されませんので、継続して記憶しておきたい値に利用します。
「ヒアリング」・「Yes/No確認」・「選択肢確認」アクションで利用可能です。

変数の使用方法

  1. 変数一覧に表示されている変数をシナリオ内で利用することが可能です。
    変数一覧については こちら をご覧ください。

    下記の画像のシナリオでは、シナリオ内変数として『エリア』・『予報』・『湿度』・『気温』が利用可能です。

  2. 『テキスト発言』アクションでの利用
    テキスト発言内容に、変数一覧に表示されている変数名を利用して記述してください。
  3. 実行条件での利用
    実行条件に変数一覧に表示されている変数名を入力することで、条件を設定する事が可能です。

ユーザー変数の使用方法

  1. 左メニューの『チャットボット』から『チャットボット一覧』を選択し、「ユーザー変数」を設定したいチャットボットをクリックしてください。

  2. 画面下部にある『ユーザー変数』をクリックし、『名前』を設定してください。
    ※今回はユーザー変数の初期値は設定しません。

  3. シナリオアクションにある、『既に知っている項目は省略する』にチェックを入れてください。
    ※『既に知っている項目は省略する』にチェックを入れると、次回からユーザーから取得した項目は発言されません。

  4. 保存”ボタンをクリックし、シミュレーターで動作を確認してください。
    ユーザー変数の『初期値』が未設定で、『既に知っている項目は省略する』が有効になっている場合のシミュレーション画像です。

    ・初回発言:名前を取得するためのヒアリングを行います。

    ・2回目以降:すでに名前を取得しているため、名前のヒアリングは行いません。

    ・ユーザー変数に『初期値』を設定した場合
    『初期値』がユーザー変数として使用されます。

    ユーザー変数設定画面

    シミュレーション画面

変数の利用方法

・「list(外部システム連携)」で取得( 空き会議室の検索 の場合)

名称 説明 入力例 取得した値
size 配列長を返します 空き会議室:{{locations.size}}室 空き会議室:3室

・「@本日」で取得(2018.06.01場合)

名称 説明 入力例 取得した値
year 年を表す文字列を返します {{@本日.year}} 2018
month 月を表す文字列を返します {{@本日.month}} 6
day 日を表す文字列を返します {{@本日.day}} 1
weekday 月曜日を 0、日曜日を 6 として、曜日を整数で返します {{@本日.weekday}} 4
isoweekday 月曜日を 1、日曜日を 7 として、曜日を整数で返します {{@本日.isoweekday}} 5
isoformat YYYY-MM-DDの日付を表す文字列を返します {{@本日.isoformat}} 2018-06-20

・「@現在時刻」で取得(12:30:00場合)

名称 説明 入力例 取得した値
hour 時間を表す文字列を返します {{@現在時刻.hour}} 12
minute 分を表す文字列を返します {{@現在時刻.minute}} 30
second 秒を表す文字列を返します {{@現在時刻.second}} 00
isoformat hh:mm:ssの時間を表す文字列を返します {{@現在時刻.isoformat}} 12:30:00

・「@現在日時」または「外部システム連携」で取得(2018.06.01 12:30:00場合)

名称 説明 入力例 取得した値
date @dateで取得した文字列を返します {{@現在日時.date}} 2018-06-20
time @timeで取得した文字列を返します {{@現在日時.time}} 12:30:00

使用例

Last updated on 2018/12/11.