Compartir a través de


AutoSaveStateMiddleware class

Middleware que guardará automáticamente los cambios de estado al final del turno.

Comentarios

La AutoSaveStateMiddleware clase debe agregarse hacia la parte superior de la pila de middleware del bot, antes de cualquier otro componente que use el estado. Los BotState complementos pasados al constructor tendrán su BotState.saveChanges() método llamado tras la finalización correcta del turno.

En este ejemplo se muestra código reutilizable para leer y escribir conversaciones y estado de usuario dentro de un bot:

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

Constructores

AutoSaveStateMiddleware(BotState[])

Crea una nueva instancia de AutoSaveStateMiddleware.

Propiedades

botStateSet

Conjunto de BotState complementos que se guardan automáticamente.

Métodos

add(BotState[])

Agrega complementos adicionales BotState que se guardarán.

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

Lo llama el adaptador (por ejemplo, un BotFrameworkAdapter) en tiempo de ejecución para procesar una actividad entrante.

Detalles del constructor

AutoSaveStateMiddleware(BotState[])

Crea una nueva instancia de AutoSaveStateMiddleware.

new AutoSaveStateMiddleware(botStates: BotState[])

Parámetros

botStates

BotState[]

Uno o varios complementos de BotState para guardar automáticamente al final del turno.

Detalles de las propiedades

botStateSet

Conjunto de BotState complementos que se guardan automáticamente.

botStateSet: BotStateSet

Valor de propiedad

Detalles del método

add(BotState[])

Agrega complementos adicionales BotState que se guardarán.

function add(botStates: BotState[]): this

Parámetros

botStates

BotState[]

Uno o varios complementos de BotState que se van a agregar.

Devoluciones

this

Objeto BotStateSet actualizado.

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

Lo llama el adaptador (por ejemplo, un BotFrameworkAdapter) en tiempo de ejecución para procesar una actividad entrante.

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

Parámetros

context
TurnContext

Objeto de contexto para este turno.

next

() => Promise<void>

La siguiente función de delegado.

Devoluciones

Promise<void>