다음을 통해 공유


BotState class

프레임워크 상태 지원 범위에 대한 기본 클래스입니다.

설명

이 클래스는 사용자와 대화할 때마다 제공된 스토리지 공급자에게 상태를 읽고 씁니다. ConversationStateUserState같은 파생 클래스는 지정된 스토리지 개체를 유지하는 데 사용되는 키를 결정하는 데 사용되는 StorageKeyFactory 제공합니다.

로드된 상태 개체는 턴의 수명 동안 컨텍스트 개체에 자동으로 캐시되며 수정된 경우에만 스토리지에 기록됩니다.

생성자

BotState(Storage, StorageKeyFactory)

새 BotState 인스턴스를 만듭니다.

메서드

clear(TurnContext)

턴의 현재 상태 개체를 지웁니다.

createProperty<T>(string)

개별 속성을 읽고 봇 상태 스토리지 개체에 쓰기 위한 새 속성 접근자를 만듭니다.

delete(TurnContext)

현재 턴에 대한 지원 상태 개체를 삭제합니다.

get(TurnContext)

캐시된 상태 개체를 반환하거나 캐시되지 않은 경우 정의되지 않은 개체를 반환합니다.

load(TurnContext, boolean)

턴에 대한 백업 상태 개체를 읽고 캐시합니다.

saveChanges(TurnContext, boolean)

캐시된 상태 개체가 변경된 경우 저장합니다.

생성자 세부 정보

BotState(Storage, StorageKeyFactory)

새 BotState 인스턴스를 만듭니다.

new BotState(storage: Storage, storageKey: StorageKeyFactory)

매개 변수

storage
Storage

상태 개체를 유지할 스토리지 공급자입니다.

storageKey
StorageKeyFactory

지정된 턴에 대한 스토리지 키를 계산해야 할 때마다 호출되는 함수입니다.

메서드 세부 정보

clear(TurnContext)

턴의 현재 상태 개체를 지웁니다.

function clear(context: TurnContext): Promise<void>

매개 변수

context
TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

반환

Promise<void>

비동기 작업을 나타내는 프라미스입니다.

설명

삭제된 상태 개체는 saveChanges() 호출될 때까지 유지되지 않습니다.

await botState.clear(context);
await botState.saveChanges(context);

createProperty<T>(string)

개별 속성을 읽고 봇 상태 스토리지 개체에 쓰기 위한 새 속성 접근자를 만듭니다.

function createProperty<T>(name: string): StatePropertyAccessor<T>

매개 변수

name

string

추가할 속성의 이름입니다.

반환

속성의 접근자입니다.

delete(TurnContext)

현재 턴에 대한 지원 상태 개체를 삭제합니다.

function delete(context: TurnContext): Promise<void>

매개 변수

context
TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

반환

Promise<void>

비동기 작업을 나타내는 프라미스입니다.

설명

상태 개체가 있는 경우 스토리지에서 제거됩니다. 상태 개체를 읽고 캐시한 경우 캐시가 지워질 것입니다.

await botState.delete(context);

get(TurnContext)

캐시된 상태 개체를 반환하거나 캐시되지 않은 경우 정의되지 않은 개체를 반환합니다.

function get(context: TurnContext): any | undefined

매개 변수

context
TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

반환

any | undefined

캐시된 상태 개체이거나 캐시되지 않은 경우 정의되지 않은 개체입니다.

설명

이 예제에서는 이미 로드되고 캐시된 상태 개체를 동기적으로 가져오는 방법을 보여줍니다.

const state = botState.get(context);

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);

saveChanges(TurnContext, boolean)

캐시된 상태 개체가 변경된 경우 저장합니다.

function saveChanges(context: TurnContext, force?: boolean): Promise<void>

매개 변수

context
TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

force

boolean

(선택 사항) true 경우 상태는 변경 상태에 관계없이 항상 기록됩니다. 기본값은 false.

반환

Promise<void>

비동기 작업을 나타내는 프라미스입니다.

설명

force 플래그가 캐시된 상태 개체에 전달되면 개체가 변경되었는지 여부에 관계없이 저장되고 캐시된 개체가 없으면 빈 개체가 만들어지고 저장됩니다.

await botState.saveChanges(context);