Oracle Cloud Infrastructureドキュメント

D SDKヘルパー・メソッド

機能 使用方法
conversation.payload() 現在のユーザー・メッセージのペイロードを取得します。 ペイロードには、メッセージ・テキストとその他の情報(ユーザーIDなど)が含まれます。
conversation.text() テキスト文字列にアクセスします。
conversation.attachment() アタッチ・メッセージにアクセスします。
conversation.location() ロケーション・メッセージにアクセスします。
conversation.postback() ポストバック・メッセージにアクセスします。
conversation.transition(“action”)conversation.transition() ダイアログ・エンジンに、ダイアログ・フロー内の次の状態を指示します。 カスタム・コンポーネントは、ダイアログ・フローで状態にマップしたアクション文字列を返すことにより、ナビゲーションに影響を与える可能性があります。
  • コンポーネント制御ナビゲーション(conversation.transition(“action”))-ターゲット状態を設定するには、次のスニペットのnameFoundnameNotFoundなど、コンポーネント・モジュールのmetatdata関数のいずれかのsupportedActions文字列と一致する文字列引数を渡します:
    metadata: () => ({
        "name": "helloWorld",
        "properties": {
          "properties": {
            "name": {
            "type": "string",
            "required": false"
          }
        },
        "supportedActions": ["nameFound", "nameNotFound"]
      }),      
    
  • ダイアログ・フロー・コントロールのナビゲーション(conversation.transition())-コンポーネント・モジュールにsupportedActions定義がない場合(つまり、渡す引数がない場合)は、この関数を引数なしでコールできます。 この場合、ダイアログ・フロー定義は、コンポーネントではなく遷移を設定します。 たとえば、ダイアログ・フロー定義に応じて、transitionメソッド(transitions: {})の実行後または特定の状態に移動すると、ダイアログ・エンジンがフロー内の次の状態に移動する場合があります:
    transitions:
      next: "newState"

    ダイアログ・フローでは、コンポーネント・モジュールにsupportedActions定義があるが、関数自体に引数がない場合の遷移も決定します。

conversation.channelType() メッセージング・チャネルを決定できます。
conversation.keepTurn(boolean) ボットが会話の制御を保持できるようにします。keepTurnは、基本的に入力ユーザーまたはレスポンスを提供するユーザーを決定: ボットまたはそのユーザー。 したがって、doneをコールする前に、conversation.keepTurn(true)またはconvesationkeepTurn(false)をコールして、次に誰が進むかを指定できます。
  • conversation.keepTurn(true)-ボットが会話を制御できるようにするtrueに設定します。 これは基本的にはボット(コンポーネントを介す)アサートです。それでも、ボットはスピーキングされます。 コンポーネントにユーザー入力が必要ない場合、またはユーザー入力の抑制時に複数の返信を連続して送信する必要がある場合は、この設定を使用します。

  • conversation.keepTurn(false)-ユーザーが返信できるようにfalse (デフォルト)に設定します。 この設定により、基本的にはコンポーネントからの次の返信までユーザーに制御が戻ります。 これにより、典型的な双方向の会話が可能になります。

conversation.reply({text: "..."}) メッセージ・クライアントからレスポンスを返します。 このレスポンスは、単純なテキスト・メッセージ、またはカスタム・コンポーネントSDKのMessageModelクラスの機能を使用するリッチUIでのより複雑なレスポンスになります。 この関数を使用すると、Facebookのスクロール・カルーセルなど、より複雑なレスポンスを構築できます。 このタイプのレスポンスの場合、JSONペイロードを適切に構造化する必要があります。

conversation.replyに対して行われたコールの数にかかわらず、レスポンスを送信するにはdone()をコールする必要があります。

conversation.properties() コンポーネント入力プロパティ(conversation.properties().accountType)にアクセスできます。
conversation.error 処理中にエラーがあったことを示します。
conversation.botId() リクエストを送信したボットのIDを返します。
conversation.platformVersion() メッセージ・プラットフォーム(Facebook 1.0など)のバージョンを返します。
conversation.text() インテントとコンポーネントの呼出しをトリガーしたNLPテキスト・メッセージへのアクセスを提供します。
conversation.variable(“name”,value) 現在のフローで定義された変数への読取りまたは書込みアクセスを提供します。 この関数は次の引数を使用します。
  • variable(name)-name変数を読み、その値を返します。

  • variable(name, value)-value変数の値をname変数に書き込みます。 文字列の場合は、値を引用符で囲みます。

また、この関数では、実行時に、コンポーネントの状態の追跡に使用できる変数を作成します。 これは、コンポーネントがダイアログ・フローの次の状態に遷移しないため、内部状態を追跡する必要がある場合に使用できます。
conversation.nlpResult() nlpresult変数のNLPResultヘルパー・オブジェクトを返します。 たとえば、conversation.nlpResult.entityMatches(entity name)をコールして、ユーザー入力から抽出されたエンティティの値を検索できます。 この値を使用して、エンティティ・タイプ変数を更新できます。
conversation.request() ボットによって送信されるJSONオブジェクト本文にアクセスします。 この関数を使用して、SDK関数の1つによって直接公開されない情報のペイロードを解析します。
conversation.response() done()をコールするとボットに返信されるHTTPレスポンス・ペイロード(JSONオブジェクト)へのアクセス権を付与します。