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 les processus d’authentification et envoie des activités vers et reçoit des activités du service Bot Connector. Lorsque votre bot reçoit une activité, l’adaptateur crée un objet de contexte de tour, le transmet à votre logique d’application de bot et renvoie des réponses au canal de l’utilisateur.

L’adaptateur traite et dirige les activités entrantes via le pipeline d’intergiciel de bot vers votre logique de bot, puis revient à nouveau. À mesure que chaque activité circule dans et hors du bot, chaque élément d’intergiciel peut inspecter ou agir sur l’activité, avant et après l’exécution de la logique du bot. Utilisez la utilisez méthode pour ajouter middleware objets à la collection d’intergiciels de votre adaptateur.

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

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, éventuellement après un certain temps.

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

Reprend de façon asynchrone une conversation avec un utilisateur, éventuellement après un certain temps.

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

Reprend de façon asynchrone une conversation avec un utilisateur, éventuellement après un certain temps.

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

Reprend de façon asynchrone une conversation avec un utilisateur, éventuellement 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 l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.deleteActivity pour supprimer une activité de votre code 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 le sendActivity du contexte de tour ou méthode sendActivities à partir de votre code bot.

updateActivity(TurnContext, Partial<Activity>)

Remplace de façon asynchrone une activité précédente par une version mise à jour. Cette interface prend en charge l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.updateActivity pour mettre à jour une activité à partir de votre code bot.

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

Ajoute un intergiciel 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 ces paramètres :

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, éventuellement 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 pour continuer.

logic

(revocableContext: TurnContext) => Promise<void>

Méthode asynchrone à appeler après l’exécution du middleware 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, éventuellement 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>

Une ConversationReference partielle à la conversation pour continuer.

logic

(context: TurnContext) => Promise<void>

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

Retours

Promise<void>

une 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, éventuellement 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>

Une ConversationReference partielle à la conversation pour continuer.

audience

string

Valeur indiquant le destinataire du message proactif.

logic

(context: TurnContext) => Promise<void>

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

Retours

Promise<void>

une 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, éventuellement 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 un seul locataire, les adaptateurs (console, test, etc.), mais il est essentiel pour BotFrameworkAdapter, qui prend en charge plusieurs locataires.

reference

Partial<ConversationReference>

Une ConversationReference partielle à la conversation pour continuer.

logic

(context: TurnContext) => Promise<void>

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

Retours

Promise<void>

une 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

Public 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 de message direct (non-groupe).

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

Si la conversation est établie avec les utilisateurs spécifiés, l’ID de la converstion 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 l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.deleteActivity pour supprimer une activité de votre code 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 sur la 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 le sendActivity du contexte de tour ou méthode sendActivities à partir de votre code 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 seront envoyées l’une après l’autre dans l’ordre dans lequel elles sont reçues. Un objet réponse est retourné pour chaque activité envoyée. Pour message activités qui contiennent l’ID du message remis.

updateActivity(TurnContext, Partial<Activity>)

Remplace de façon asynchrone une activité précédente par une version mise à jour. Cette interface prend en charge l’infrastructure et n’est pas destinée à être appelée directement pour votre code. Utilisez TurnContext.updateActivity pour mettre à jour une activité à partir de votre code 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 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[]

Les 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é.