変数は「システム変数」「シナリオ内変数」「ユーザー変数」「チャットボット定数」の4種類があります。
用途に合わせて変数を定義することで、以下例のような動作が可能となります。
例:変数の値をチャットボットの発言に組み込む
例:変数の値によってアクションの実行を制御する
例:変数の値を送受信し外部サービスと連携する
各変数の説明については、 【 変数とは 】をご覧ください。
変数の定義(システム変数)
変数の定義(シナリオ内変数)
変数の定義(ユーザー変数)
変数の定義(チャットボット定数)
変数の利用方法
変数に格納された値の表示方法を指定
変数の定義(システム変数)
- システム変数は、DialogPlay(システム)側で定義済みのため、ユーザーが定義する必要はありません。
- @ユーザー名は、@userNameに値を設定することで上書きすることができます。
値の設定については、【 変数の定義(シナリオ内変数) 】と【 変数の定義(ユーザー変数) 】をご覧ください。
変数の定義(シナリオ内変数)
- シナリオ画面の「シナリオの流れ」にある、以下アクションを追加後、以下説明の項目を設定することで、『変数一覧』に使用できるシナリオ内変数が定義されます。
- 『ヒアリング』アクション
- 『選択肢確認』アクション
- 『外部システム連携』アクション
- 『Yes/No確認』アクション
- 各アクション設定時に追加されるシナリオ内変数は以下のとおりです。
- 『ヒアリング』アクション設定時
『ヒアリング』アクションを追加し、『ヒアリング項目名』を入力すると、入力した値が『シナリオ内変数』に変数として定義されます。 - 『選択肢確認』アクション設定時
『選択肢確認』アクションを追加し、『タイトル』を入力すると、入力した値が『シナリオ内変数』に変数として定義されます。 - 『外部システム連携』アクション設定時
『外部システム連携』アクションを追加し、『連携先』を選択すると、連携先の『Response Map』で設定されている『変換先』が、『シナリオ内変数』に変数として定義されます。
[選択した外部システム連携先] - 『Yes/No確認』アクション設定時
『Yes/No確認』アクションを追加し、『タイトル』を入力すると、入力した値が『シナリオ内変数』に変数として定義されます。
- 『ヒアリング』アクション設定時
変数の定義(ユーザー変数)
- チャットボット設定画面下部の『ユーザー変数』をクリックで展開後、『名前』を入力し、”保存“ボタンをクリックしてください。
変数の初期値を設定したい場合は、『初期値』を入力してください。 - 定義したユーザー変数は、同一チャットボット内の全シナリオで共通項目として利用可能です。
1つ目のシナリオで取得したユーザー変数の値を、2つ目のシナリオで継続して使用するなど、シナリオを跨いだ使い方が可能となります。
[1つ目のシナリオ]
[2つ目のシナリオ]
変数の定義(チャットボット定数)
- チャットボット設定画面下部の『ユーザー変数』をクリックで展開後、各項目を入力し、”保存“ボタンをクリックしてください。
No. 項目名 説明 1 名前 定数名を入力 2 値 シークレットにチェックがない場合:必須
定数に設定したい値を入力シークレットにチェックがある場合:空白可能
定数に設定したい値を入力(値がマスクされる)
未入力の場合、編集前の値を引き継ぐ3 シークレット 『値』でシークレットモードにしたい時にチェックを入れる - 定義したチャットボット定数はユーザー変数同様、同一チャットボット内の全シナリオで共通項目として利用可能です。
変数の利用方法
- 『変数一覧』に表示されている変数をシナリオ内で利用することが可能です。
[利用可能変数例]
- 『発言内容』、『質問内容』での利用
各アクション内の『発言内容』または『質問内容』に、変数名を{{}}で囲って記述することで、変数の値をチャットボットの発言の一部として表示できます。 - 『実行条件』での利用
各アクション内の『実行条件』に変数と値を指定することで、アクションを実行するための条件を設定できます。
- 『発言内容』、『質問内容』での利用
変数に格納された値の表示方法を指定
以下例のように、変数の後ろに特定の値を入れることで、変数に格納された値を部分的に表示したり、フォーマットを指定して表示することが可能です。
[例1]
「list(外部システム連携)」で取得
名称 | 説明 | 入力例 | 取得した値 |
---|---|---|---|
size | 配列長を返します | 空き会議室:{{locations.size}}室 | 空き会議室:3室 |
[例2]
「@本日」で取得(2019.12.02 の場合)
名称 | 説明 | 入力例 | 取得した値 |
---|---|---|---|
year | 年を表す文字列を返します | {{@本日.year}} | 2019 |
month | 月を表す文字列を返します | {{@本日.month}} | 12 |
day | 日を表す文字列を返します | {{@本日.day}} | 2 |
weekday | 月曜日を 0、日曜日を 6 として、曜日を整数で返します | {{@本日.weekday}} | 0 |
isoweekday | 月曜日を 1、日曜日を 7 として、曜日を整数で返します | {{@本日.isoweekday}} | 1 |
weekday_ja | 曜日を日本語表記1文字で返します(月、火、水、木、金、土、日) | {{@本日.weekday_ja}} | 月 |
weekday_en | 曜日を英語表記3文字で返します (Mon, Tue, Wed, Thu, Fri, Sat, Sun) | {{@本日.weekday_en}} | Mon |
isoformat | YYYY-MM-DDの日付を表す文字列を返します | {{@本日.isoformat}} | 2019-12-02 |
[例3]
「@現在時刻」で取得(12:30:00 の場合)
名称 | 説明 | 入力例 | 取得した値 |
---|---|---|---|
hour | 時間を表す文字列を返します | {{@現在時刻.hour}} | 12 |
minute | 分を表す文字列を返します | {{@現在時刻.minute}} | 30 |
second | 秒を表す文字列を返します | {{@現在時刻.second}} | 0 |
isoformat | hh:mm:ssの時間を表す文字列を返します | {{@現在時刻.isoformat}} | 12:30:00 |
[例4]
「@現在日時」または「外部システム連携」で取得(2019.12.02 12:30:00 の場合)
名称 | 説明 | 入力例 | 取得した値 |
---|---|---|---|
date | @dateで取得した文字列を返します | {{@現在日時.date}} | 2019-12-02 |
time | @timeで取得した文字列を返します | {{@現在日時.time}} | 12:30:00 |
[例4]
「数値」または「外部システム連携」で取得(「値段」変数に1000000が設定されている場合)
名称 | 説明 | 入力例 | 取得した値 |
---|---|---|---|
with_comma | 3桁区切りのカンマ付き文字列を返します | {{値段.with_comma}} | 1,000,000 |
[使用例]