BotAdapter class
Definiert das Kernverhalten eines Botadapters, der einen Bot mit einem Dienstendpunkt verbinden kann.
Hinweise
Der Botadapter kapselt Authentifizierungsprozesse und sendet Aktivitäten an und empfängt Aktivitäten vom Bot Connector-Dienst. Wenn Ihr Bot eine Aktivität empfängt, erstellt der Adapter ein Turnkontextobjekt, übergibt es an die Bot-Anwendungslogik und sendet Antworten an den Kanal des Benutzers.
Der Adapter verarbeitet und leitet eingehende Aktivitäten über die Bot-Middleware-Pipeline an Ihre Botlogik weiter und wieder heraus. Da jede Aktivität in und aus dem Bot fließt, kann jeder Teil der Middleware die Aktivität sowohl vor als auch nach ausführung der Botlogik überprüfen oder darauf reagieren. Verwenden Sie die Methode, um Middleware- Objekte zur Middleware-Sammlung des Adapters hinzuzufügen.
Weitere Informationen finden Sie in den Artikeln zu Funktionsweise von Bots und Middleware-.
Eigenschaften
Bot |
|
Connector |
|
OAuth |
|
on |
Dient zum Abrufen oder Festlegen eines Fehlerhandlers, der Ausnahmen in der Middleware oder Anwendung abfangen kann. Legt einen Fehlerhandler fest, der Ausnahmen in der Middleware oder Anwendung abfangen kann. |
Methoden
continue |
Setzt asynchron eine Unterhaltung mit einem Benutzer fort, möglicherweise nach einiger Zeit. |
continue |
Setzt asynchron eine Unterhaltung mit einem Benutzer fort, möglicherweise nach einiger Zeit. |
continue |
Setzt asynchron eine Unterhaltung mit einem Benutzer fort, möglicherweise nach einiger Zeit. |
continue |
Setzt asynchron eine Unterhaltung mit einem Benutzer fort, möglicherweise nach einiger Zeit. |
create |
Erstellt eine Unterhaltung im angegebenen Kanal. |
delete |
Löscht asynchron eine vorhandene Aktivität. 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. |
send |
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 Turnkontexts aus Ihrem Botcode. |
update |
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: Turn |
Fügt Middleware zur Pipeline des Adapters hinzu. |
Details zur Eigenschaft
BotIdentityKey
BotIdentityKey: symbol
Eigenschaftswert
symbol
ConnectorClientKey
ConnectorClientKey: symbol
Eigenschaftswert
symbol
OAuthScopeKey
OAuthScopeKey: symbol
Eigenschaftswert
symbol
onTurnError
Dient zum Abrufen oder Festlegen eines Fehlerhandlers, der Ausnahmen in der Middleware oder Anwendung abfangen kann. 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 folgenden Parametern aufgerufen:
Name | Art | Beschreibung |
---|---|---|
context |
TurnContext- | Das Kontextobjekt für die Drehung. |
error |
Error |
Der Node.js Fehler ausgelöst. |
Details zur Methode
continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)
Setzt asynchron eine Unterhaltung mit einem Benutzer 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, um fortzufahren.
- logic
-
(revocableContext: TurnContext) => Promise<void>
Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adapter-Middleware ausgeführt wird.
Gibt zurück
Promise<void>
Hinweise
Dies wird häufig als proaktive Benachrichtigungbezeichnet, 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 asynchron eine Unterhaltung mit einem Benutzer 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, um die Unterhaltung fortzusetzen.
- logic
-
(context: TurnContext) => Promise<void>
Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adapter-Middleware ausgeführt wird.
Gibt zurück
Promise<void>
eine Zusage, die den asynchronen Vorgang darstellt
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Setzt asynchron eine Unterhaltung mit einem Benutzer 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, um die Unterhaltung fortzusetzen.
- 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 Adapter-Middleware ausgeführt wird.
Gibt zurück
Promise<void>
eine Zusage, die den asynchronen Vorgang darstellt
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Setzt asynchron eine Unterhaltung mit einem Benutzer 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 einem einzigen Mandanten ignoriert, die Adapter (Konsole, Test usw.) sind für den BotFrameworkAdapter wichtig, der multimandantenfähig ist.
- reference
-
Partial<ConversationReference>
Eine teilweise ConversationReference, um die Unterhaltung fortzusetzen.
- logic
-
(context: TurnContext) => Promise<void>
Die asynchrone Methode, die aufgerufen werden soll, nachdem die Adapter-Middleware ausgeführt wird.
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 die resultierende 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 unterstützen nur das Initiieren einer direkten Unterhaltung (nicht gruppieren).
Der Adapter versucht, eine neue Unterhaltung 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 Aktivitätskonverstion die ID der neuen Unterhaltung.
deleteActivity(TurnContext, Partial<ConversationReference>)
Löscht asynchron eine vorhandene Aktivität. 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 die Drehung.
- 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. Bei Kanälen, die nicht funktionieren, 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 Turnkontexts aus Ihrem Botcode.
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
Parameter
- context
- TurnContext
Das Kontextobjekt für die Drehung.
- 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 zugestellten 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 die Drehung.
- 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. Bei Kanälen, die nicht funktionieren, löst dieser Aufruf möglicherweise eine Ausnahme aus.
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Fügt Middleware zur Pipeline des Adapters 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 Middleware-Handler.
Gibt zurück
this
Das aktualisierte Adapterobjekt.
Hinweise
Middleware wird dem Adapter zur Initialisierungszeit hinzugefügt. Jeder Turn ruft die Middleware des Adapters in der Reihenfolge auf, in der Sie ihn hinzugefügt haben.