次の方法で共有


AutoSaveStateMiddleware class

ターンの終了時に状態の変更を自動的に保存するミドルウェア。

注釈

AutoSaveStateMiddleware クラスは、状態を使用する他のコンポーネントの前に、ボットのミドルウェア スタックの先頭に追加する必要があります。 コンストラクターに渡される BotState プラグインには、ターンが正常に完了したときに BotState.saveChanges() メソッドが呼び出されます。

この例では、ボット内の会話とユーザーの状態を読み書きするための定型コードを示します。

const { AutoSaveStateMiddleware, ConversationState, UserState, MemoryStorage } = require('botbuilder');

const storage = new MemoryStorage();
const conversationState = new ConversationState(storage);
const userState = new UserState(storage);
adapter.use(new AutoSaveStateMiddleware(conversationState, userState));

server.post('/api/messages', (req, res) => {
   adapter.processActivity(req, res, async (turnContext) => {
      // Get state
      const convo = await conversationState.load(turnContext);
      const user = await userState.load(turnContext);

      // ... route activity ...
      // ...make changes to state objects...
      // ... no need to call userState.saveChanges() or conversationState.saveChanges() anymore!
   });
});

コンストラクター

AutoSaveStateMiddleware(BotState[])

新しい AutoSaveStateMiddleware インスタンスを作成します。

プロパティ

botStateSet

自動的に保存される BotState プラグインのセット。

メソッド

add(BotState[])

保存する BotState プラグインを追加します。

onTurn(TurnContext, () => Promise<void>)

受信 アクティビティを処理するために、実行時にアダプター (BotFrameworkAdapterなど) によって呼び出されます。

コンストラクターの詳細

AutoSaveStateMiddleware(BotState[])

新しい AutoSaveStateMiddleware インスタンスを作成します。

new AutoSaveStateMiddleware(botStates: BotState[])

パラメーター

botStates

BotState[]

ターンの最後に自動的に保存する 1 つ以上の BotState プラグイン。

プロパティの詳細

botStateSet

自動的に保存される BotState プラグインのセット。

botStateSet: BotStateSet

プロパティ値

メソッドの詳細

add(BotState[])

保存する BotState プラグインを追加します。

function add(botStates: BotState[]): this

パラメーター

botStates

BotState[]

追加する 1 つ以上の BotState プラグイン。

戻り値

this

更新された BotStateSet オブジェクト。

onTurn(TurnContext, () => Promise<void>)

受信 アクティビティを処理するために、実行時にアダプター (BotFrameworkAdapterなど) によって呼び出されます。

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

パラメーター

context
TurnContext

このターンのコンテキスト オブジェクト。

next

() => Promise<void>

次のデリゲート関数。

戻り値

Promise<void>