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>