Partager via


BotAdapter class

Définit le comportement principal d’un adaptateur de bot qui peut connecter un bot à un point de terminaison de service.

Remarques

L’adaptateur de bot encapsule le processus d’authentification et envoie les activités au service Bot Connector et en reçoit de celui-ci. Lorsque votre bot reçoit une activité, l’adaptateur crée un objet de contexte de tour, le transmet à la logique de votre application de bot et renvoie des réponses au canal de l’utilisateur.

L’adaptateur traite et dirige les activités entrantes par le biais du pipeline d’intergiciels de bot vers votre logique de bot, puis recule à nouveau. Comme chaque activité entre et sort du bot, chaque middleware peut effectuer une inspection ou une action sur l’activité, avant comme après l’exécution de la logique de bot. Utilisez la méthode use pour ajouter des objets middleware à la collection d’intergiciels de votre adaptateur.

Pour plus d’informations, consultez les articles sur le fonctionnement des bots et les intergiciels.

Propriétés

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

Obtient ou définit un gestionnaire d’erreurs qui peut intercepter des exceptions dans l’intergiciel ou l’application. Définit un gestionnaire d’erreurs qui peut intercepter des exceptions dans l’intergiciel ou l’application.

Méthodes

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Crée une conversation sur le canal spécifié.

deleteActivity(TurnContext, Partial<ConversationReference>)

Supprime de façon asynchrone une activité existante. Cette interface prend en charge le framework et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.deleteActivity pour supprimer une activité de votre code de bot.

sendActivities(TurnContext, Partial<Activity>[])

Envoie de façon asynchrone un ensemble d’activités sortantes à un serveur de canal. Cette méthode prend en charge l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez la méthode sendActivity ou sendActivities du contexte de tour à partir de votre code de bot.

updateActivity(TurnContext, Partial<Activity>)

Remplace de manière asynchrone une activité précédente par une version mise à jour. Cette interface prend en charge le framework et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.updateActivity pour mettre à jour une activité à partir du code de votre bot.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Ajoute un intergiciel (middleware) au pipeline de l’adaptateur.

Détails de la propriété

BotIdentityKey

BotIdentityKey: symbol

Valeur de propriété

symbol

ConnectorClientKey

ConnectorClientKey: symbol

Valeur de propriété

symbol

OAuthScopeKey

OAuthScopeKey: symbol

Valeur de propriété

symbol

onTurnError

Obtient ou définit un gestionnaire d’erreurs qui peut intercepter des exceptions dans l’intergiciel ou l’application. Définit un gestionnaire d’erreurs qui peut intercepter des exceptions dans l’intergiciel ou l’application.

(context: TurnContext, error: Error) => Promise<void> onTurnError

Valeur de propriété

(context: TurnContext, error: Error) => Promise<void>

Promesse représentant l’opération asynchrone.

Remarques

Le gestionnaire d’erreurs est appelé avec les paramètres suivants :

Nom Type Description
context TurnContext Objet de contexte pour le tour.
error Error Erreur Node.js levée.

Détails de la méthode

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>

Paramètres

reference

Partial<ConversationReference>

Référence à la conversation à poursuivre.

logic

(revocableContext: TurnContext) => Promise<void>

Méthode asynchrone à appeler après l’exécution de l’intergiciel de l’adaptateur.

Retours

Promise<void>

Remarques

Il s’agit souvent d’une notification proactive. Le bot peut envoyer de manière proactive un message à une conversation ou à un utilisateur sans attendre un message entrant. Par exemple, un bot peut utiliser cette méthode pour envoyer des notifications ou des coupons à un utilisateur.

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Paramètres

claimsIdentity

ClaimsIdentity

ClaimsIdentity pour la conversation.

reference

Partial<ConversationReference>

ConversationReference partielle à la conversation à poursuivre.

logic

(context: TurnContext) => Promise<void>

Méthode asynchrone à appeler après l’exécution de l’intergiciel de l’adaptateur.

Retours

Promise<void>

promesse représentant l’opération asynchrone

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>

Paramètres

claimsIdentity

ClaimsIdentity

ClaimsIdentity pour la conversation.

reference

Partial<ConversationReference>

ConversationReference partielle à la conversation à poursuivre.

audience

string

Valeur qui signifie le destinataire du message proactif.

logic

(context: TurnContext) => Promise<void>

Méthode asynchrone à appeler après l’exécution de l’intergiciel de l’adaptateur.

Retours

Promise<void>

promesse représentant l’opération asynchrone

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

Reprend de façon asynchrone une conversation avec un utilisateur, peut-être après un certain temps.

function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>

Paramètres

botAppId

string

ID d’application du bot. Ce paramètre est ignoré dans les adaptateurs à locataire unique (console, test, etc.), mais il est essentiel pour le BotFrameworkAdapter qui prend en charge les multilocataires.

reference

Partial<ConversationReference>

ConversationReference partielle à la conversation à poursuivre.

logic

(context: TurnContext) => Promise<void>

Méthode asynchrone à appeler après l’exécution de l’intergiciel de l’adaptateur.

Retours

Promise<void>

promesse représentant l’opération asynchrone

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

Crée une conversation sur le canal spécifié.

function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>

Paramètres

_botAppId

string

ID d’application du bot.

_channelId

string

ID du canal.

_serviceUrl

string

ID du canal.

_audience

string

Audience du connecteur.

_conversationParameters

ConversationParameters

Informations de conversation à utiliser pour créer la conversation

_logic

(context: TurnContext) => Promise<void>

Méthode à appeler pour le tour de bot résultant.

Retours

Promise<void>

Promesse qui représente l’opération asynchrone

Remarques

Pour démarrer une conversation, votre bot doit connaître ses informations de compte et les informations de compte de l’utilisateur sur ce canal. La plupart des _channels prennent uniquement en charge le lancement d’une conversation par message direct (non de groupe).

L’adaptateur tente de créer une conversation sur le canal, puis envoie une conversationUpdate activité via son pipeline d’intergiciel (middleware) à la méthode logique.

Si la conversation est établie avec les utilisateurs spécifiés, l’ID de la conversation de l’activité contient l’ID de la nouvelle conversation.

deleteActivity(TurnContext, Partial<ConversationReference>)

Supprime de façon asynchrone une activité existante. Cette interface prend en charge le framework et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.deleteActivity pour supprimer une activité de votre code de bot.

function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>

Paramètres

context
TurnContext

Objet de contexte pour le tour.

reference

Partial<ConversationReference>

Informations de référence de conversation pour l’activité à supprimer.

Retours

Promise<void>

Remarques

Tous les canaux ne prennent pas en charge cette opération. Pour les canaux qui ne le font pas, cet appel peut lever une exception.

sendActivities(TurnContext, Partial<Activity>[])

Envoie de façon asynchrone un ensemble d’activités sortantes à un serveur de canal. Cette méthode prend en charge l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez la méthode sendActivity ou sendActivities du contexte de tour à partir de votre code de bot.

function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>

Paramètres

context
TurnContext

Objet de contexte pour le tour.

activities

Partial<Activity>[]

Activités à envoyer.

Retours

Promise<ResourceResponse[]>

Tableau de ResourceResponse

Remarques

Les activités sont envoyées les unes après les autres dans l’ordre dans lequel elles sont reçues. Un objet response est retourné pour chaque activité envoyée. Pour message les activités, il contient l’ID du message remis.

updateActivity(TurnContext, Partial<Activity>)

Remplace de manière asynchrone une activité précédente par une version mise à jour. Cette interface prend en charge le framework et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.updateActivity pour mettre à jour une activité à partir du code de votre bot.

function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>

Paramètres

context
TurnContext

Objet de contexte pour le tour.

activity

Partial<Activity>

Version mise à jour de l’activité à remplacer.

Retours

Promise<ResourceResponse | void>

Remarques

Tous les canaux ne prennent pas en charge cette opération. Pour les canaux qui ne le font pas, cet appel peut lever une exception.

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

Ajoute un intergiciel (middleware) au pipeline de l’adaptateur.

function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this

Paramètres

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

Gestionnaires d’intergiciels ou d’intergiciels à ajouter.

Retours

this

Objet adaptateur mis à jour.

Remarques

L’intergiciel est ajouté à l’adaptateur au moment de l’initialisation. À chaque tour, l’adaptateur appelle son intergiciel dans l’ordre dans lequel vous l’avez ajouté.