BotAdapter class
Definisce il comportamento principale di un adattatore bot in grado di connettere un bot a un endpoint di servizio.
Commenti
Il bot adapter incapsula i processi di autenticazione e invia 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'adattatore elabora e indirizza le attività in ingresso tramite la pipeline del middleware del bot alla logica del bot e quindi esegue di nuovo il backout. Quando ogni attività entra ed esce dal bot, ogni componente del middleware può ispezionare o agire in risposta all'attività, prima e dopo l'esecuzione della logica del bot. Utilizzare il metodo use per aggiungere oggetti Middleware alla raccolta middleware dell'adattatore.
Per altre informazioni, vedere gli articoli sul funzionamento dei bot e sul 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 qualche tempo. |
continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo qualche tempo. |
continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo qualche tempo. |
continue |
Riprende in modo asincrono una conversazione con un utente, possibilmente dopo qualche tempo. |
create |
Crea una conversazione nel 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 o sendActivities del contesto del turno dal codice del bot. |
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 il middleware alla pipeline dell'adattatore. |
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 | Tipo | 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 qualche 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 qualche tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity per la conversazione.
- reference
-
Partial<ConversationReference>
Conversazione parzialeReference alla conversazione da 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 qualche tempo.
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
Parametri
- claimsIdentity
-
ClaimsIdentity
ClaimsIdentity per la conversazione.
- reference
-
Partial<ConversationReference>
Conversazione parzialeReference alla conversazione da 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 qualche 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, ovvero Adapters (Console, Test e così via), ma è fondamentale per BotFrameworkAdapter, che è compatibile con più tenant.
- reference
-
Partial<ConversationReference>
Conversazione parzialeReference alla conversazione da 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 nel 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 dei _channels supporta solo l'avvio di una conversazione diretta di messaggi (non di gruppo).
L'adapter tenta di creare una nuova conversazione nel 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 può 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 o sendActivities del contesto del turno dal codice del bot.
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
le attività 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 può generare un'eccezione.
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
Aggiunge il middleware alla pipeline dell'adattatore.
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'adattatore in fase di inizializzazione. Ogni turno, l'adattatore chiama il middleware nell'ordine in cui è stato aggiunto.