Freigeben über


BotAdapter class

Definiert das Kernverhalten eines Botadapters, der einen Bot mit einem Dienstendpunkt verbinden kann.

Hinweise

Der Botadapter kapselt Authentifizierungsprozesse ein und sendet Aktivitäten an bzw. empfängt Aktivitäten vom Bot Connector Service. Wenn Ihr Bot eine Aktivität empfängt, erstellt der Adapter ein Turn-Kontextobjekt, übergibt es an ihre Botanwendungslogik und sendet Antworten zurück an den Kanal des Benutzers.

Der Adapter verarbeitet und leitet eingehende Aktivitäten in über die Botmiddlewarepipeline an Ihre Botlogik weiter und dann wieder aus. Während jede Aktivität den Bot durchläuft, kann jede Middleware die Aktivität überprüfen und beeinflussen, sowohl bevor als auch nachdem die Bot-Logik ausgeführt wurde. Verwenden Sie die use-Methode , um middleware-Objekte zur Middlewaresammlung Ihres Adapters hinzuzufügen.

Weitere Informationen finden Sie in den Artikeln zur Funktionsweise von Bots und Middleware.

Eigenschaften

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

Ruft einen Fehlerhandler ab, der Ausnahmen in der Middleware oder Anwendung abfangen kann, oder legt diesen fest. Legt einen Fehlerhandler fest, der Ausnahmen in der Middleware oder Anwendung abfangen kann.

Methoden

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Erstellt eine Unterhaltung im angegebenen Kanal.

deleteActivity(TurnContext, Partial<ConversationReference>)

Löscht eine vorhandene Aktivität asynchron. Diese Schnittstelle unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie TurnContext.deleteActivity , um eine Aktivität aus Ihrem Botcode zu löschen.

sendActivities(TurnContext, Partial<Activity>[])

Sendet asynchron eine Reihe ausgehender Aktivitäten an einen Kanalserver. Diese Methode unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie die sendActivity - oder sendActivities-Methode des Turn-Kontexts aus Ihrem Botcode.

updateActivity(TurnContext, Partial<Activity>)

Ersetzt asynchron eine vorherige Aktivität durch eine aktualisierte Version. Diese Schnittstelle unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie TurnContext.updateActivity , um eine Aktivität aus Ihrem Botcode zu aktualisieren.

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

Fügt der Pipeline des Adapters Middleware hinzu.

Details zur Eigenschaft

BotIdentityKey

BotIdentityKey: symbol

Eigenschaftswert

symbol

ConnectorClientKey

ConnectorClientKey: symbol

Eigenschaftswert

symbol

OAuthScopeKey

OAuthScopeKey: symbol

Eigenschaftswert

symbol

onTurnError

Ruft einen Fehlerhandler ab, der Ausnahmen in der Middleware oder Anwendung abfangen kann, oder legt diesen fest. Legt einen Fehlerhandler fest, der Ausnahmen in der Middleware oder Anwendung abfangen kann.

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

Eigenschaftswert

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

Eine Zusage, die den asynchronen Vorgang darstellt.

Hinweise

Der Fehlerhandler wird mit den folgenden Parametern aufgerufen:

Name Typ BESCHREIBUNG
context TurnContext Das Kontextobjekt für den Turn.
error Error Der Node.js fehler ausgelöst.

Details zur Methode

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Parameter

reference

Partial<ConversationReference>

Ein Verweis auf die unterhaltung, die fortgesetzt werden soll.

logic

(revocableContext: TurnContext) => Promise<void>

Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adaptermiddleware ausgeführt wurde.

Gibt zurück

Promise<void>

Hinweise

Dies wird häufig als proaktive Benachrichtigung bezeichnet. Der Bot kann proaktiv eine Nachricht an eine Unterhaltung oder einen Benutzer senden, ohne auf eine eingehende Nachricht zu warten. Beispielsweise kann ein Bot diese Methode verwenden, um Benachrichtigungen oder Coupons an einen Benutzer zu senden.

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Parameter

claimsIdentity

ClaimsIdentity

Eine ClaimsIdentity für die Unterhaltung.

reference

Partial<ConversationReference>

Eine teilweise ConversationReference für die Unterhaltung, die fortgesetzt werden soll.

logic

(context: TurnContext) => Promise<void>

Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adaptermiddleware ausgeführt wurde.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Parameter

claimsIdentity

ClaimsIdentity

Eine ClaimsIdentity für die Unterhaltung.

reference

Partial<ConversationReference>

Eine teilweise ConversationReference für die Unterhaltung, die fortgesetzt werden soll.

audience

string

Ein Wert, der den Empfänger der proaktiven Nachricht angibt.

logic

(context: TurnContext) => Promise<void>

Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adaptermiddleware ausgeführt wurde.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt

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

Setzt eine Unterhaltung mit einem Benutzer asynchron fort, möglicherweise nach einiger Zeit.

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

Parameter

botAppId

string

Die Anwendungs-ID des Bots. Dieser Parameter wird in den Adaptern mit nur einem Mandanten (Konsole, Test usw.) ignoriert, ist aber für den mehrinstanzenfähigen BotFrameworkAdapter wichtig.

reference

Partial<ConversationReference>

Eine teilweise ConversationReference für die Unterhaltung, die fortgesetzt werden soll.

logic

(context: TurnContext) => Promise<void>

Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adaptermiddleware ausgeführt wurde.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt

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

Erstellt eine Unterhaltung im angegebenen Kanal.

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

Parameter

_botAppId

string

Die Anwendungs-ID des Bots.

_channelId

string

Die ID für den Kanal.

_serviceUrl

string

Die ID für den Kanal.

_audience

string

Die Zielgruppe für den Connector.

_conversationParameters

ConversationParameters

Die Unterhaltungsinformationen, die zum Erstellen der Unterhaltung verwendet werden sollen

_logic

(context: TurnContext) => Promise<void>

Die Methode, die für den resultierenden Bot turn aufgerufen werden soll.

Gibt zurück

Promise<void>

Eine Zusage, die den asynchronen Vorgang darstellt

Hinweise

Um eine Unterhaltung zu starten, muss Ihr Bot seine Kontoinformationen und die Kontoinformationen des Benutzers in diesem Kanal kennen. Die meisten _channels nur das Initiieren einer Direkten Nachrichtenunterhaltung (nicht in Gruppen) unterstützen.

Der Adapter versucht, eine neue Konversation im Kanal zu erstellen, und sendet dann eine conversationUpdate Aktivität über seine Middlewarepipeline an die Logikmethode.

Wenn die Unterhaltung mit den angegebenen Benutzern eingerichtet wird, enthält die ID der Konversation der Aktivität die ID der neuen Unterhaltung.

deleteActivity(TurnContext, Partial<ConversationReference>)

Löscht eine vorhandene Aktivität asynchron. Diese Schnittstelle unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie TurnContext.deleteActivity , um eine Aktivität aus Ihrem Botcode zu löschen.

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

Parameter

context
TurnContext

Das Kontextobjekt für den Turn.

reference

Partial<ConversationReference>

Unterhaltungsreferenzinformationen für die zu löschende Aktivität.

Gibt zurück

Promise<void>

Hinweise

Nicht alle Kanäle unterstützen diesen Vorgang. Für Kanäle, die dies nicht der Fall ist, löst dieser Aufruf möglicherweise eine Ausnahme aus.

sendActivities(TurnContext, Partial<Activity>[])

Sendet asynchron eine Reihe ausgehender Aktivitäten an einen Kanalserver. Diese Methode unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie die sendActivity - oder sendActivities-Methode des Turn-Kontexts aus Ihrem Botcode.

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

Parameter

context
TurnContext

Das Kontextobjekt für den Turn.

activities

Partial<Activity>[]

Die zu sendenden Aktivitäten.

Gibt zurück

Promise<ResourceResponse[]>

Ein Array von ResourceResponse

Hinweise

Die Aktivitäten werden nacheinander in der Reihenfolge gesendet, in der sie empfangen werden. Für jede gesendete Aktivität wird ein Antwortobjekt zurückgegeben. Für message Aktivitäten enthält dies die ID der übermittelten Nachricht.

updateActivity(TurnContext, Partial<Activity>)

Ersetzt asynchron eine vorherige Aktivität durch eine aktualisierte Version. Diese Schnittstelle unterstützt das Framework und soll nicht direkt für Ihren Code aufgerufen werden. Verwenden Sie TurnContext.updateActivity , um eine Aktivität aus Ihrem Botcode zu aktualisieren.

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

Parameter

context
TurnContext

Das Kontextobjekt für den Turn.

activity

Partial<Activity>

Die aktualisierte Version der zu ersetzenden Aktivität.

Gibt zurück

Promise<ResourceResponse | void>

Hinweise

Nicht alle Kanäle unterstützen diesen Vorgang. Für Kanäle, die dies nicht der Fall ist, löst dieser Aufruf möglicherweise eine Ausnahme aus.

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

Fügt der Pipeline des Adapters Middleware hinzu.

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

Parameter

middlewares

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

Die hinzuzufügenden Middleware- oder Middlewarehandler.

Gibt zurück

this

Das aktualisierte Adapterobjekt.

Hinweise

Middleware wird dem Adapter zur Initialisierungszeit hinzugefügt. Bei jedem Turn ruft der Adapter seine Middleware in der Reihenfolge auf, in der Sie sie hinzugefügt haben.