PrivateConversationState class
ボットの PrivateConversation 状態を読み取ってストレージに書き込みます。
- Extends
注釈
ボットがユーザーまたはグループと共に持つ各 PrivateConversation には、PrivateConversation のターン間で PrivateConversation 追跡情報を保持するために使用できる独自の分離ストレージ オブジェクトがあります。 この状態情報は、 clear() を呼び出すことによって、任意の時点でリセットできます。
const { PrivateConversationState, MemoryStorage } = require('botbuilder');
const PrivateConversationState = new PrivateConversationState(new MemoryStorage());
コンストラクター
Private |
新しい PrivateConversationState インスタンスを作成します。 |
メソッド
get |
現在の PrivateConversation 状態のストレージ キーを返します。 |
継承されたメソッド
clear(Turn |
ターンの現在の状態オブジェクトをクリアします。 |
create |
個々のプロパティを読み取り、ボット状態のストレージ オブジェクトに書き込む新しいプロパティ アクセサーを作成します。 |
delete(Turn |
現在のターンのバッキング状態オブジェクトを削除します。 |
get(Turn |
キャッシュされた状態オブジェクトを返します。キャッシュされていない場合は未定義です。 |
load(Turn |
を読み取り、ターンのバッキング状態オブジェクトをキャッシュします。 |
save |
キャッシュされた状態オブジェクトが変更された場合は保存します。 |
コンストラクターの詳細
PrivateConversationState(Storage, string)
新しい PrivateConversationState インスタンスを作成します。
new PrivateConversationState(storage: Storage, namespace?: string)
パラメーター
- storage
- Storage
PrivateConversation 状態を保持するストレージ プロバイダー。
- namespace
-
string
(省略可能) ストレージ キーに追加する名前空間。 空の文字列を既定値に設定します。
メソッドの詳細
getStorageKey(TurnContext)
現在の PrivateConversation 状態のストレージ キーを返します。
function getStorageKey(context: TurnContext): string | undefined
パラメーター
- context
- TurnContext
ユーザーとの PrivateConversation の現在のターンのコンテキスト。
戻り値
string | undefined
現在の PrivateConversation 状態のストレージ キー。
継承済みメソッドの詳細
clear(TurnContext)
ターンの現在の状態オブジェクトをクリアします。
function clear(context: TurnContext): Promise<void>
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
戻り値
Promise<void>
非同期操作を表す promise。
注釈
saveChanges() が呼び出されるまで、クリア状態オブジェクトは保持されません。
await botState.clear(context);
await botState.saveChanges(context);
BotState.clearから継承
createProperty<T>(string)
個々のプロパティを読み取り、ボット状態のストレージ オブジェクトに書き込む新しいプロパティ アクセサーを作成します。
function createProperty<T>(name: string): StatePropertyAccessor<T>
パラメーター
- name
-
string
追加するプロパティの名前。
戻り値
プロパティのアクセサー。
delete(TurnContext)
現在のターンのバッキング状態オブジェクトを削除します。
function delete(context: TurnContext): Promise<void>
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
戻り値
Promise<void>
非同期操作を表す promise。
注釈
状態オブジェクトが存在する場合、ストレージから削除されます。 状態オブジェクトが読み取られ、キャッシュされている場合、キャッシュはクリアされます。
await botState.delete(context);
BotState.deleteから継承
get(TurnContext)
キャッシュされた状態オブジェクトを返します。キャッシュされていない場合は未定義です。
function get(context: TurnContext): any | undefined
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
戻り値
any | undefined
キャッシュされた状態オブジェクト。キャッシュされていない場合は未定義です。
注釈
この例では、既に読み込まれ、キャッシュされた状態オブジェクトを同期的に取得する方法を示します。
const state = botState.get(context);
BotState.getから継承
load(TurnContext, boolean)
を読み取り、ターンのバッキング状態オブジェクトをキャッシュします。
function load(context: TurnContext, force?: boolean): Promise<any>
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
- force
-
boolean
(省略可能)キャッシュがバイパスされ、状態が常にストレージから直接読み込まれる場合 true
。 既定値は false
です。
戻り値
Promise<any>
キャッシュされた状態。
注釈
後続の読み取りでは、状態オブジェクトを強制的に force
再読み取りするフラグが渡されない限り、キャッシュされたオブジェクトが返されます。
このメソッドは、作成されたプロパティ アクセサーの最初のアクセス時に自動的に呼び出されます。
const state = await botState.load(context);
BotState.loadから継承
saveChanges(TurnContext, boolean)
キャッシュされた状態オブジェクトが変更された場合は保存します。
function saveChanges(context: TurnContext, force?: boolean): Promise<void>
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
- force
-
boolean
(省略可能) 状態が変更状態に関係なく常に書き出される場合 true
。 既定値は false
です。
戻り値
Promise<void>
非同期操作を表す promise。
注釈
フラグが force
キャッシュ状態オブジェクトに渡されると、そのフラグが変更されているかどうかに関係なく保存され、オブジェクトがキャッシュされていない場合は、空のオブジェクトが作成されて保存されます。
await botState.saveChanges(context);