다음을 통해 공유


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[]

턴이 끝날 때 자동으로 저장되는 하나 이상의 BotState 플러그 인입니다.

속성 세부 정보

botStateSet

자동으로 저장되는 BotState 플러그 인 집합입니다.

botStateSet: BotStateSet

속성 값

메서드 세부 정보

add(BotState[])

저장할 추가 BotState 플러그 인을 추가합니다.

function add(botStates: BotState[]): this

매개 변수

botStates

BotState[]

추가할 하나 이상의 BotState 플러그 인입니다.

반환

this

업데이트된 BotStateSet 개체입니다.

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

인바운드 작업처리하기 위해 런타임 시 어댑터(예: BotFrameworkAdapter)에서 호출됩니다.

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

매개 변수

context
TurnContext

이 턴의 컨텍스트 개체입니다.

next

() => Promise<void>

다음 대리자 함수입니다.

반환

Promise<void>