BotAdapter class
Definisce il comportamento principale di un adattatore bot in grado di connettere un bot a un endpoint di servizio.
Commenti
L'adapter bot incapsula i processi di autenticazione e invia attività a e riceve attività dal servizio Bot Connector. Quando il bot riceve un'attività, l'adapter crea un oggetto contesto di turno, lo passa alla logica dell'applicazione bot e invia le risposte al canale dell'utente.
L'adapter elabora e indirizza le attività in ingresso nella pipeline del middleware del bot alla logica del bot e quindi esegue di nuovo il back-out. Man mano che ogni attività scorre all'interno e all'esterno del bot, ogni parte del middleware può esaminare o agire sull'attività, sia prima che dopo l'esecuzione della logica del bot. Utilizzare il metodo utilizzare per aggiungere oggetti middleware all'insieme middleware dell'adattatore.
Per altre informazioni, vedere gli articoli su Funzionamento dei bot e middleware.
Proprietà
| Bot |
|
| Connector |
|
| OAuth |
|
| on |
Ottiene o imposta un gestore errori che può intercettare le eccezioni nel middleware o nell'applicazione. Imposta un gestore errori in grado di intercettare le eccezioni nel middleware o nell'applicazione. |
Metodi
| continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo. |
| continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo. |
| continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo. |
| continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo. |
| create |
Crea una conversazione sul canale specificato. |
| delete |
Elimina in modo asincrono un'attività esistente. Questa interfaccia supporta il framework e non deve essere chiamata direttamente per il codice. Usare TurnContext.deleteActivity per eliminare un'attività dal codice del bot. |
| send |
Invia in modo asincrono un set di attività in uscita a un server di canale.
Questo metodo supporta il framework e non deve essere chiamato direttamente per il codice.
Usare il metodo sendActivity |
| update |
Sostituisce in modo asincrono un'attività precedente con una versione aggiornata. Questa interfaccia supporta il framework e non deve essere chiamata direttamente per il codice. Usare TurnContext.updateActivity per aggiornare un'attività dal codice del bot. |
| use((context: Turn |
Aggiunge middleware alla pipeline dell'adapter. |
Dettagli proprietà
BotIdentityKey
BotIdentityKey: symbol
Valore della proprietà
symbol
ConnectorClientKey
ConnectorClientKey: symbol
Valore della proprietà
symbol
OAuthScopeKey
OAuthScopeKey: symbol
Valore della proprietà
symbol
onTurnError
Ottiene o imposta un gestore errori che può intercettare le eccezioni nel middleware o nell'applicazione. Imposta un gestore errori in grado di intercettare le eccezioni nel middleware o nell'applicazione.
(context: TurnContext, error: Error) => Promise<void> onTurnError
Valore della proprietà
(context: TurnContext, error: Error) => Promise<void>
Promessa che rappresenta l'operazione asincrona.
Commenti
Il gestore degli errori viene chiamato con questi parametri:
| Nome | Digitare | Descrizione |
|---|---|---|
context |
TurnContext | Oggetto di contesto per il turno. |
error |
Error |
Errore Node.js generato. |
Dettagli metodo
continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo.
function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>
Parametri
- reference
-
Partial<ConversationReference>
Riferimento alla conversazione da continuare.
- logic
-
(revocableContext: TurnContext) => Promise<void>
Metodo asincrono da chiamare dopo l'esecuzione del middleware dell'adapter.
Restituisce
Promise<void>
Commenti
Questa operazione viene spesso definita notifica proattiva , il bot può inviare in modo proattivo un messaggio a una conversazione o a un utente senza attendere un messaggio in arrivo. Ad esempio, un bot può usare questo metodo per inviare notifiche o coupon a un utente.
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- claimsIdentity
-
ClaimsIdentity
claimsIdentity
- reference
-
Partial<ConversationReference>
Un parziale di ConversationReference alla conversazione per continuare.
- logic
-
(context: TurnContext) => Promise<void>
Metodo asincrono da chiamare dopo l'esecuzione del middleware dell'adapter.
Restituisce
Promise<void>
promessa che rappresenta l'operazione asincrona
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- claimsIdentity
-
ClaimsIdentity
claimsIdentity
- reference
-
Partial<ConversationReference>
Un parziale di ConversationReference alla conversazione per continuare.
- audience
-
string
Valore che indica il destinatario del messaggio proattivo.
- logic
-
(context: TurnContext) => Promise<void>
Metodo asincrono da chiamare dopo l'esecuzione del middleware dell'adapter.
Restituisce
Promise<void>
promessa che rappresenta l'operazione asincrona
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo un po' di tempo.
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- botAppId
-
string
ID applicazione del bot. Questo parametro viene ignorato in un singolo tenant gli adapter (console, test e così via), ma è fondamentale per BotFrameworkAdapter che è compatibile con più tenant.
- reference
-
Partial<ConversationReference>
Un parziale di ConversationReference alla conversazione per continuare.
- logic
-
(context: TurnContext) => Promise<void>
Metodo asincrono da chiamare dopo l'esecuzione del middleware dell'adapter.
Restituisce
Promise<void>
promessa che rappresenta l'operazione asincrona
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
Crea una conversazione sul canale specificato.
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- _botAppId
-
string
ID applicazione del bot.
- _channelId
-
string
ID del canale.
- _serviceUrl
-
string
ID del canale.
- _audience
-
string
Destinatari del connettore.
- _conversationParameters
-
ConversationParameters
Informazioni sulla conversazione da usare per creare la conversazione
- _logic
-
(context: TurnContext) => Promise<void>
Metodo da chiamare per il turno del bot risultante.
Restituisce
Promise<void>
Promessa che rappresenta l'operazione asincrona
Commenti
Per avviare una conversazione, il bot deve conoscere le informazioni sull'account e le informazioni sull'account dell'utente su tale canale. La maggior parte _channels supporta solo l'avvio di una conversazione diretta (non di gruppo).
L'adapter tenta di creare una nuova conversazione sul canale e quindi invia un'attività conversationUpdate tramite la pipeline middleware al metodo logico.
Se la conversazione viene stabilita con gli utenti specificati, l'ID della conversazione dell'attività conterrà l'ID della nuova conversazione.
deleteActivity(TurnContext, Partial<ConversationReference>)
Elimina in modo asincrono un'attività esistente. Questa interfaccia supporta il framework e non deve essere chiamata direttamente per il codice. Usare TurnContext.deleteActivity per eliminare un'attività dal codice del bot.
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
Parametri
- context
- TurnContext
Oggetto di contesto per il turno.
- reference
-
Partial<ConversationReference>
Informazioni di riferimento sulla conversazione per l'attività da eliminare.
Restituisce
Promise<void>
Commenti
Non tutti i canali supportano questa operazione. Per i canali che non lo fanno, questa chiamata potrebbe generare un'eccezione.
sendActivities(TurnContext, Partial<Activity>[])
Invia in modo asincrono un set di attività in uscita a un server di canale.
Questo metodo supporta il framework e non deve essere chiamato direttamente per il codice.
Usare il metodo sendActivity
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
Parametri
- context
- TurnContext
Oggetto di contesto per il turno.
- activities
-
Partial<Activity>[]
Attività da inviare.
Restituisce
Promise<ResourceResponse[]>
Matrice di ResourceResponse
Commenti
Le attività verranno inviate una dopo l'altra nell'ordine in cui vengono ricevute. Verrà restituito un oggetto risposta per ogni attività inviata. Per message attività, questo conterrà l'ID del messaggio recapitato.
updateActivity(TurnContext, Partial<Activity>)
Sostituisce in modo asincrono un'attività precedente con una versione aggiornata. Questa interfaccia supporta il framework e non deve essere chiamata direttamente per il codice. Usare TurnContext.updateActivity per aggiornare un'attività dal codice del bot.
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
Parametri
- context
- TurnContext
Oggetto di contesto per il turno.
- activity
-
Partial<Activity>
Versione aggiornata dell'attività da sostituire.
Restituisce
Promise<ResourceResponse | void>
Commenti
Non tutti i canali supportano questa operazione. Per i canali che non lo fanno, questa chiamata potrebbe generare un'eccezione.
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Aggiunge middleware alla pipeline dell'adapter.
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
Parametri
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
Gestori middleware o middleware da aggiungere.
Restituisce
this
Oggetto adapter aggiornato.
Commenti
Il middleware viene aggiunto all'adapter in fase di inizializzazione. Ogni turno, l'adattatore chiama il middleware nell'ordine in cui è stato aggiunto.