BotAdapter class
Define el comportamiento principal de un adaptador de bot que puede conectar un bot a un punto de conexión de servicio.
Comentarios
El adaptador de bot encapsula los procesos de autenticación, envía actividades a Bot Connector Service y recibe actividades de este. Cuando el bot recibe una actividad, el adaptador crea un objeto de contexto de turno, lo pasa a la lógica de la aplicación del bot y devuelve respuestas al canal del usuario.
El adaptador procesa y dirige las actividades entrantes en a través de la canalización de middleware del bot a la lógica del bot y, a continuación, vuelve a salir de nuevo. Cuando las actividades entran y salen de los bots, cada fragmento de software intermedio puede inspeccionar o actuar sobre la actividad, tanto antes como después de que se ejecute la lógica del bot. Use el método use para agregar objetos middleware a la colección de middleware del adaptador.
Para más información, consulte los artículos sobre cómo funcionan los bots y middleware.
Propiedades
Bot |
|
Connector |
|
OAuth |
|
on |
Obtiene o establece un controlador de errores que puede detectar excepciones en el middleware o la aplicación. Establece un controlador de errores que puede detectar excepciones en el middleware o la aplicación. |
Métodos
continue |
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo. |
continue |
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo. |
continue |
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo. |
continue |
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo. |
create |
Crea una conversación en el canal especificado. |
delete |
Elimina de forma asincrónica una actividad existente. Esta interfaz admite el marco y no está pensado para llamarse directamente para el código. Use TurnContext.deleteActivity para eliminar una actividad del código del bot. |
send |
Envía de forma asincrónica un conjunto de actividades salientes a un servidor de canal. Este método admite el marco y no está pensado para llamarse directamente para el código. Use el método sendActivity o sendActivities del contexto de turno desde el código del bot. |
update |
Reemplaza de forma asincrónica una actividad anterior por una versión actualizada. Esta interfaz admite el marco y no está pensado para llamarse directamente para el código. Use TurnContext.updateActivity para actualizar una actividad desde el código del bot. |
use((context: Turn |
Agrega middleware a la canalización del adaptador. |
Detalles de las propiedades
BotIdentityKey
BotIdentityKey: symbol
Valor de propiedad
symbol
ConnectorClientKey
ConnectorClientKey: symbol
Valor de propiedad
symbol
OAuthScopeKey
OAuthScopeKey: symbol
Valor de propiedad
symbol
onTurnError
Obtiene o establece un controlador de errores que puede detectar excepciones en el middleware o la aplicación. Establece un controlador de errores que puede detectar excepciones en el middleware o la aplicación.
(context: TurnContext, error: Error) => Promise<void> onTurnError
Valor de propiedad
(context: TurnContext, error: Error) => Promise<void>
Promesa que representa la operación asincrónica.
Comentarios
Se llama al controlador de errores con estos parámetros:
Nombre | Tipo | Descripción |
---|---|---|
context |
TurnContext | Objeto de contexto del turno. |
error |
Error |
Error de Node.js producido. |
Detalles del método
continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo.
function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>
Parámetros
- reference
-
Partial<ConversationReference>
Referencia a la conversación que se va a continuar.
- logic
-
(revocableContext: TurnContext) => Promise<void>
Método asincrónico al que se va a llamar después de que se ejecute el middleware del adaptador.
Devoluciones
Promise<void>
Comentarios
Esto se conoce a menudo como una notificación proactiva, el bot puede enviar proactivamente un mensaje a una conversación o usuario sin esperar un mensaje entrante. Por ejemplo, un bot puede usar este método para enviar notificaciones o cupones a un usuario.
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parámetros
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity para la conversación.
- reference
-
Partial<ConversationReference>
ConversationReference parcial a la conversación que se va a continuar.
- logic
-
(context: TurnContext) => Promise<void>
Método asincrónico al que se va a llamar después de que se ejecute el middleware del adaptador.
Devoluciones
Promise<void>
una promesa que representa la operación asincrónica
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parámetros
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity para la conversación.
- reference
-
Partial<ConversationReference>
ConversationReference parcial a la conversación que se va a continuar.
- audience
-
string
Valor que indica al destinatario del mensaje proactivo.
- logic
-
(context: TurnContext) => Promise<void>
Método asincrónico al que se va a llamar después de que se ejecute el middleware del adaptador.
Devoluciones
Promise<void>
una promesa que representa la operación asincrónica
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Reanuda de forma asincrónica una conversación con un usuario, posiblemente después de algún tiempo.
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parámetros
- botAppId
-
string
Identificador de aplicación del bot. Este parámetro se omite en un solo inquilino los adaptadores (consola, prueba, etc.), pero es fundamental para BotFrameworkAdapter, que es compatible con varios inquilinos.
- reference
-
Partial<ConversationReference>
ConversationReference parcial a la conversación que se va a continuar.
- logic
-
(context: TurnContext) => Promise<void>
Método asincrónico al que se va a llamar después de que se ejecute el middleware del adaptador.
Devoluciones
Promise<void>
una promesa que representa la operación asincrónica
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
Crea una conversación en el canal especificado.
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
Parámetros
- _botAppId
-
string
Identificador de aplicación del bot.
- _channelId
-
string
Identificador del canal.
- _serviceUrl
-
string
Identificador del canal.
- _audience
-
string
Audiencia del conector.
- _conversationParameters
-
ConversationParameters
La información de conversación que se va a usar para crear la conversación
- _logic
-
(context: TurnContext) => Promise<void>
Método al que se va a llamar para el turno de bot resultante.
Devoluciones
Promise<void>
Promesa que representa la operación asincrónica.
Comentarios
Para iniciar una conversación, el bot debe conocer su información de cuenta y la información de la cuenta del usuario en ese canal. La mayoría de los _channels solo admiten iniciar una conversación de mensaje directo (no grupal).
El adaptador intenta crear una nueva conversación en el canal y, a continuación, envía una conversationUpdate
actividad a través de su canalización de middleware al método lógico.
Si la conversación se establece con los usuarios especificados, el identificador de la conversación de la actividad contendrá el identificador de la nueva conversación.
deleteActivity(TurnContext, Partial<ConversationReference>)
Elimina de forma asincrónica una actividad existente. Esta interfaz admite el marco y no está pensado para llamarse directamente para el código. Use TurnContext.deleteActivity para eliminar una actividad del código del bot.
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
Parámetros
- context
- TurnContext
Objeto de contexto del turno.
- reference
-
Partial<ConversationReference>
Información de referencia de conversación para la actividad que se va a eliminar.
Devoluciones
Promise<void>
Comentarios
No todos los canales admiten esta operación. Para los canales que no lo hacen, esta llamada puede producir una excepción.
sendActivities(TurnContext, Partial<Activity>[])
Envía de forma asincrónica un conjunto de actividades salientes a un servidor de canal. Este método admite el marco y no está pensado para llamarse directamente para el código. Use el método sendActivity o sendActivities del contexto de turno desde el código del bot.
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
Parámetros
- context
- TurnContext
Objeto de contexto del turno.
- activities
-
Partial<Activity>[]
Las actividades que se van a enviar.
Devoluciones
Promise<ResourceResponse[]>
Matriz de ResourceResponse
Comentarios
Las actividades se enviarán una después de otra en el orden en que se reciben. Se devolverá un objeto de respuesta para cada actividad enviada. En message
el caso de las actividades, contendrá el identificador del mensaje entregado.
updateActivity(TurnContext, Partial<Activity>)
Reemplaza de forma asincrónica una actividad anterior por una versión actualizada. Esta interfaz admite el marco y no está pensado para llamarse directamente para el código. Use TurnContext.updateActivity para actualizar una actividad desde el código del bot.
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
Parámetros
- context
- TurnContext
Objeto de contexto del turno.
- activity
-
Partial<Activity>
Versión actualizada de la actividad que se va a reemplazar.
Devoluciones
Promise<ResourceResponse | void>
Comentarios
No todos los canales admiten esta operación. Para los canales que no lo hacen, esta llamada puede producir una excepción.
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Agrega middleware a la canalización del adaptador.
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
Parámetros
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
Middleware o controladores de middleware que se van a agregar.
Devoluciones
this
Objeto de adaptador actualizado.
Comentarios
El middleware se agrega al adaptador en el momento de la inicialización. Cada turno, el adaptador llama a su middleware en el orden en que lo agregó.