--- title: "コンテキストハンドラファンクション" url: https://docs.catalyst.zoho.com/ja/convokraft/help/actions/bot-logic/deluge-functions/context-handler-function/ description: "Deluge Functionsについて学び、ConvoKraft BotのBusiness Logicをコーディングするために使用する方法を説明します。" last_updated: 2026-08-17T12:16:04Z service: ConvoKraft type: general --- # Context Handler関数 # はじめに Context Handler関数は、Actionの会話フローを制御するために使用されます。実行時にparamがユーザーにプロンプトされる順序を変更できます。一部のparamをスキップしたり、param値のカスタムバリデーションを行ったり、実行時にAction実行前に確認を求めたりすることもできます。 Context Handler関数は、静的paramが定義されている順序をオーバーライドできます。Context Handler関数が有効な場合、BotはCatalystコンソールでparamを定義した際に宣言した順序ではなく、Context Handler関数で指定された順序でパラメータをプロンプトします。 > **注意:** Context Handler関数は、ConvoKraft Botの開発プラットフォームとして`[Deluge](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/bot-logic/deluge-functions/defining-deluge-functions/)`を選択した場合にのみ使用できます。 ### 呼び出しポイント ConvoKraftがユーザー入力のActionを検出すると、ユーザー入力に含まれる可能なparam値が検出され、Botは最初の未入力paramをユーザーにプロンプトします。ユーザーがparamプロンプトに返信すると、ConvoKraftはContext Handler関数を呼び出します。Context Handler関数は、会話中にプロンプトされるすべてのparamに対して呼び出されます。Actionにparamがない場合、Context Handler関数はExecution関数の前に1回実行されます。 ### 入力引数 [システム定義](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/bot-logic/deluge-functions/defining-deluge-functions/#system-defined-input-arguments)入力引数に加えて、Context Handler関数では以下の入力引数も利用可能です:
引数 Delugeデータ型 説明
`userInput` String ユーザーからの最新の返信
`previousParam` Map ユーザーに最後にプロンプトされたparam。ユーザーの最新の返信がこのparamの値です。
### 戻り値 Context Handler関数は、以下の形式のマップを返します: ```javascript { "todo":"prompt", "prompt":{ "param_name":"<name of the param to be prompted>", "prompt_msg":"<the text to be displayed as a prompt message>", "validation_failure_message":"<the text to be displayed if the user submits invalid input>", "options":[ ], "buttons":[ ], "fields":[ ], }, "confirm":{ "message":"Are you sure you want to cancel?" }, "assign":{ "clientData":{ "<key1>":"<value1>", "<key2>":"<value2>" //必要に応じてクライアントデータを追加する } } } ``` 上記のように、Context Handler関数から返されるマップには以下のキーが含まれます: ### todo このキーは、Context Handler関数の実行後にConvoKraft Botが何をすべきかを示すために使用されます。以下の値のいずれかのみを取ることができます。このキーは必須です。 * **prompt**:ユーザーにparamをプロンプトするようBotに指示します。 * **confirm**:ActionのExecution関数を呼び出すための最終確認を求めるようBotに指示します。 * **execute**:Execution関数を呼び出すようConvoKraftに指示します。 ### prompt このキーには、ユーザーにプロンプトするparamを指定するマップが含まれ、`todo`が`prompt`に設定されている場合にのみ使用されます。 `todo`が`prompt`に設定されていてもこのキーが提供されない場合、Botはコンソールで定義されたparamの順序に従って次のparamをプロンプトします。したがって、param定義のデフォルト順序を使用する場合、このキーはスキップできます。このキーのマップ値には以下の属性が含まれます: 1. **param_name**:プロンプトするparamの名前。param名は、コンソールで定義された既存のparamのいずれかである必要があります。 2. **prompt_msg**:Catalystコンソールでparam作成時に定義されたparamのプロンプトメッセージをオーバーライドするために使用できます。 **validation_failure_message** - プロンプトされたparamに対してユーザーが入力した値が無効な場合に表示されるカスタムメッセージ。このキーは任意です。 3. **options**:ユーザーが選択できるSingle selection listおよびMultiple selection list paramのオプションリスト。 * **id**:オプションの一意のID。 * **label**:オプションのラベルとして表示されるテキスト。 * **preview**:Single selection listおよびMultiple selection list paramのオプションに表示される追加情報。オプションプレビューは、Single selection listおよびMultiple selection list paramの入力モードが`Visual`の場合にのみ利用可能です。previewキーは任意です。 * **header**:headerは、Single selection listおよびMultiple selection list paramオプションのプロパティをリストします。headerオブジェクトには、以下の形式で以下の属性を含める必要があります: ```javascript { "id":"<the unique id for the option>", "label":"<the text to be displayed as the options label>", "preview":{ "header":{ "title":"<the text to be displayed as the option previews title>", "description":"<the text to be displayed as the option previews description>", "subheading":"<the text to be displayed as the subheading to the options preview>", "image":{ "url":"<the url of the preview image>" } } } } ``` `header`オブジェクトにオプションの適切な属性が設定されている場合、ユーザーが各オプションの情報アイコンをクリックするとプレビューが表示されます。 ![info-icon](https://catalyst-docs-development.zohostratus.in/images/help/convokraft/info-icon.webp) 情報アイコンをクリックすると、設定された画像、名前、URLが表示されます。 * **fields**:fieldsオブジェクトは、オプションに関する追加プロパティをリストします。`fields`オブジェクトには、以下の形式で以下の属性を含める必要があります。これは、プレビューが設定されている場合にのみ必須です。 ```javascript [ { "label":"<the text to be displayed as the field name>", "value":"<the text to be displayed as the field value>" } ] ``` > **注意:** オプションには最大7つのfieldsを設定できます。 `preview`キーのキー要素は、`header`と`fields`です。`fields`オブジェクトが`preview`キーとともに設定されている場合、ユーザーがそれぞれのオプションにホバーすると適切なプレビューが表示され、この場合は情報アイコンは表示されません。 4. **buttons**:ボタンは、Single selection listおよびMultiple selection list paramで定義されたオプションに対して実行される操作を設定するために使用されます。`buttons`キーには、以下の形式で以下の属性を含める必要があります。 ```javascript [ { "id":"the unique id for the button", "label":"the text to be displayed as the button's label", "theme":"<positive | neutral | negative>" } ] ``` > **注意:** Single selection listおよびMultiple selection list paramには最大3つのボタンを設定できます。 ### confirm Action実行の確認メッセージを指定するマップが含まれ、ユーザーにプロンプトされます。`todo`が`confirm`に設定されている場合にのみ必須です。マップ値には以下のキーのみ含めることができます: * **message**:ユーザーにプロンプトする確認メッセージ。 ### assign assignキーの値はMap型です。実行時にすべての静的paramとシステム定義引数の値を変更するために使用できます。 * **clientData**:実行時にセッションデータに基づいてクライアントデータの値を更新するために使用されます。 ### 実装 ConvoKraft Botの[Actionを作成](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/create-an-action)し、Business Logicに基づいて応答を設定することを選択したら、Sample Sentencesとそれぞれのparamを定義する必要があります。Context Handler関数を実装するには、以下の手順に従ってください: 1. Actionに必要な[Sample Sentences](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/define-sample-sentences/)と[param](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/define-params/)を設定して保存した後、Actionの詳細ページが表示されます。Functionsタブに切り替え、`Context Handler function`を有効にします。 ![enable-context-handler](https://catalyst-docs-development.zohostratus.in/images/help/convokraft/enable-context-handler.webp) 2. 以下のメッセージが表示されます。OKをクリックして続行します。 ![enable-popup](https://catalyst-docs-development.zohostratus.in/images/help/convokraft/enable-popup.webp) 3. ConvoKraft Delugeエディタが開き、Business Logicをコーディングしてスクリプトを保存できます。Delugeエディタの詳細については、[こちらのページ](https://docs.catalyst.zoho.com/ja/convokraft/help/actions/bot-logic/deluge-functions/defining-deluge-functions/#overview-of-the-code-editor)をご覧ください。[Test this bot](https://docs.catalyst.zoho.com/ja/convokraft/help/manage-a-bot/test-a-bot/)機能を使用して、変更を並行してテストできます。 ![edit-context-handler](https://catalyst-docs-development.zohostratus.in/images/help/convokraft/edit-context-handler.webp)