UniversalBot class
Gestisce le conversazioni dei bot con gli utenti in più canali.
- Extends
Costruttori
| Universal |
Crea una nuova istanza di UniversalBot. |
| Universal |
Crea una nuova istanza di UniversalBot. |
| Universal |
Crea una nuova istanza di UniversalBot. |
Proprietà
| name | Spazio dei nomi univoco delle librerie. Viene usato per risolvere le finestre di dialogo delle librerie e le richieste localizzate. |
| Route |
Valori routeType supportati restituiti per impostazione predefinita da findRoutes(). |
Metodi
| add |
Metodo helper chiamato dai vari metodi di ricerca di route per gestire l'aggiunta di una route candidata al set di risultati.
|
| begin |
Avvia in modo proattivo un nuovo dialogo con l'utente. Qualsiasi conversazione corrente tra il bot e l'utente verrà sostituita con un nuovo stack di dialoghi. |
| begin |
Registra un'azione globale che avvierà un'altra finestra di dialogo ogni volta che viene attivata. Il nuovo dialogo verrà inserito nello stack in modo da non terminare automaticamente alcuna attività corrente. L'attività corrente verrà continuata al termine della nuova finestra di dialogo. Le richieste predefinite richiederanno automaticamente all'utente una volta che ciò si verifica, ma tale comportamento può essere disabilitato impostando il flag promptAfterAction quando si chiama un prompt predefinito. |
| best |
Trova la route migliore da usare all'interno di un set di risultati contenente più route ambigue. Verrà usata la strategia di ambiguità seguente:
|
| clone(Universal |
Restituisce un clone di un bot esistente. |
| connector(string, IConnector) | Registra o restituisce un connettore per un canale specifico. |
| custom |
Registra un'azione globale personalizzata che chiamerà l'oggetto passato onSelectAction gestore quando viene attivato. |
| dialog(string, Dialog | IDialog |
Registra o restituisce una finestra di dialogo dalla libreria. |
| end |
Registra un'azione globale che terminerà la conversazione con l'utente quando viene attivata. |
| find |
Ottiene l'attendibilità dei dialoghi attivi che riconosce il messaggio corrente. Il dialogo deve essere un membro della libreria corrente. In caso contrario, verrà restituito un punteggio pari a 0,0. |
| find |
Cerca nella libreria e in tutte le relative dipendenze una finestra di dialogo specifica. Restituisce la finestra di dialogo se trovata; in caso contrario, null. |
| find |
Cerca nella libreria per verificare se sono state attivate azioni globali. |
| find |
Cerca le route candidate per gestire il messaggio corrente. Per avviare effettivamente la gestione del messaggio, è necessario chiamare selectRoute() con uno dei risultati restituiti.
È possibile eseguire l'override della logica di ricerca predefinita usando onFindRoute() e viene eseguita solo la ricerca della libreria corrente in modo da chiamare |
| find |
Cerca nello stack di finestre di dialogo delle sessioni per verificare se sono state attivate azioni. |
| for |
Enumera tutte le finestre di dialogo delle librerie. |
| for |
Enumera tutte le librerie figlio delle librerie. Il chiamante deve eseguire i passaggi appropriati per evitare riferimenti circolari durante l'enumerazione della gerarchia. Nella maggior parte dei casi la chiamata di libraryList() è una scelta migliore perché contiene già la logica per evitare cicli. |
| get(string) | Restituisce il valore corrente di un'impostazione. |
| is |
Restituisce informazioni su quando si è verificato l'ultimo turno tra l'utente e un bot. Questa operazione può essere chiamata prima di beginDialog per determinare se l'utente è attualmente in una conversazione con il bot. |
| library(Library | string) | Registra o restituisce una dipendenza di libreria. |
| library |
Restituisce un elenco di librerie univoche all'interno della gerarchia. Deve essere chiamato nella radice della gerarchia di libreria ed evita i cicli creati quando due librerie figlio fanno riferimento alla stessa libreria dipendente. |
| load |
Carica un oggetto sessione per un indirizzo arbitrario. |
| locale |
Ottiene o imposta il percorso della cartella "/locale/" delle librerie contenente le richieste localizzate. I prompt per la libreria devono essere archiviati in un file "/locale/<IETF_TAG>/.json" in questo percorso dove "<IETF_TAG>" rappresenta il tag di lingua di 2-3 cifre per le impostazioni locali e "" è un nome file corrispondente allo spazio dei nomi delle librerie. |
| on(string, (data: any) => void) | Registra un listener di eventi. Il bot genererà i propri eventi durante l'elaborazione dei messaggi in ingresso e in uscita. Inoltra anche gli eventi correlati all'attività generati dal connettore, offrendo un'unica posizione in cui restare in ascolto di tutte le attività del bot. Il flusso di eventi dal bot è il seguente: Messaggio ricevutoQuando il bot riceve un nuovo messaggio, genera gli eventi seguenti nell'ordine:
Qualsiasi di ricezione del middleware installato verrà eseguito tra gli eventi "receive" e "in ingresso". Dopo che l'evento 'routing' viene generato qualsiasi middleware botbuilder verrà eseguito prima di inviare il messaggio alla finestra di dialogo attiva dei bot. Attività connettore ricevutaI connettori possono generare eventi di attività per segnalare elementi come la digitazione di un utente o l'amico di un bot. Queste attività vengono instradate tramite middleware come messaggi, ma non vengono instradate attraverso il sistema di dialogo dei bot. Vengono generati solo come eventi. Il flusso degli eventi del connettore è:
Messaggio inviatoI bot possono inviare più messaggi in modo che la sessione invii in batch tutto il messaggio in uscita e quindi salvi lo stato corrente dei bot prima di recapitare i messaggi inviati. Verrà visualizzato un singolo evento "saveStorageData" generato e quindi per ogni messaggio in uscita nel batch verrà visualizzata la sequenza di eventi seguente:
Qualsiasi di invio del middleware installato verrà eseguito tra gli eventi 'send' e 'in uscita'. |
| on |
Sostituisce la logica di disambiguazione della route predefinita dei bot con un'implementazione personalizzata. |
| on |
Sostituisce findRoutes() logica di ricerca di route predefinita con un'implementazione personalizzata. |
| on |
Sostituisce la logica predefinita per selectRoute() con un'implementazione personalizzata. |
| receive(IEvent | IEvent[], (err: Error) => void) | Chiamato quando viene ricevuto un nuovo evento. Questa operazione può essere chiamata manualmente per simulare il bot che riceve un messaggio dall'utente. |
| recognize(IRecognize |
Tenta di associare un'espressione di testo di un utente a una finalità usando i riconoscitori delle librerie. Per informazioni dettagliate, vedere IIntentRecognizer.recognize(). |
| recognizer(IIntent |
Aggiunge un nuovo plug-in di riconoscimento alla libreria. |
| select |
Indirizza il messaggio corrente alla finestra di dialogo attiva. |
| select |
Indirizza il messaggio corrente a un'azione globale attivata. |
| select |
Attiva la gestione del messaggio corrente usando la route selezionata. È possibile eseguire l'override della logica predefinita usando onSelectRoute(). |
| select |
Indirizza il messaggio corrente a un'azione dello stack attivata. |
| send(IIs |
Invia un messaggio all'utente senza interrompere lo stack di dialoghi delle conversazioni correnti. |
| set(string, any) | Imposta un'impostazione nel bot. |
| use(IMiddleware |
Installa il middleware per il bot. Il middleware consente di intercettare eventi/messaggi in ingresso e in uscita. |
Dettagli costruttore
UniversalBot(IConnector, any, string)
Crea una nuova istanza di UniversalBot.
new UniversalBot(connector?: IConnector, defaultDialog?: any, libraryName?: string)
Parametri
- connector
- IConnector
(Facoltativo) connettore predefinito da usare per le richieste. Se non è presente un connettore più specifico registrato per un canale, questo connettore verrà usato./**
- defaultDialog
-
any
(Facoltativo) Gestore predefinito dei messaggi ricevuti. Può trattarsi di una singola funzione o di una sequenza a cascata.
- libraryName
-
string
(Facoltativo) spazio dei nomi della libreria per il bot. Il valore predefinito è '*'.
UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)
Crea una nuova istanza di UniversalBot.
new UniversalBot(connector: IConnector, defaultDialog?: IDialogWaterfallStep | IDialogWaterfallStep[], libraryName?: string)
Parametri
- connector
- IConnector
(Facoltativo) connettore predefinito da usare per le richieste. Se non è presente un connettore più specifico registrato per un canale, questo connettore verrà usato./**
- defaultDialog
(Facoltativo) Gestore predefinito dei messaggi ricevuti. Può trattarsi di una singola funzione o di una sequenza a cascata.
- libraryName
-
string
(Facoltativo) spazio dei nomi della libreria per il bot. Il valore predefinito è '*'.
UniversalBot(IConnector, IUniversalBotSettings)
Crea una nuova istanza di UniversalBot.
new UniversalBot(connector: IConnector, settings?: IUniversalBotSettings)
Parametri
- connector
- IConnector
(Facoltativo) connettore predefinito da usare per le richieste. Se non è presente un connettore più specifico registrato per un canale, questo connettore verrà usato./**
- settings
- IUniversalBotSettings
Dettagli proprietà
name
Spazio dei nomi univoco delle librerie. Viene usato per risolvere le finestre di dialogo delle librerie e le richieste localizzate.
name: string
Valore della proprietà
string
RouteTypes
Valori routeType supportati restituiti per impostazione predefinita da findRoutes().
static RouteTypes: Object
Valore della proprietà
Object
Dettagli metodo
addRouteResult(IRouteResult, IRouteResult[])
Metodo helper chiamato dai vari metodi di ricerca di route per gestire l'aggiunta di una route candidata al set di risultati.
- Se il punteggio è maggiore, la corrispondenza migliore corrente nel set verrà restituito un nuovo set di risultati contenente solo la nuova corrispondenza.
- Se il punteggio è uguale alla corrispondenza migliore corrente, verrà aggiunto al set esistente.
- Se il punteggio è minore della corrispondenza migliore corrente, verrà ignorato.
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])
Parametri
- route
- IRouteResult
Route candidata da aggiungere al set.
- current
(Facoltativo) set di risultati per aggiungere anche la route. Se manca, verrà restituito un nuovo set con solo la route.
Restituisce
beginDialog(IAddress, string, any, (err: Error) => void)
Avvia in modo proattivo un nuovo dialogo con l'utente. Qualsiasi conversazione corrente tra il bot e l'utente verrà sostituita con un nuovo stack di dialoghi.
function beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void)
Parametri
- address
- IAddress
Indirizzo dell'utente con cui avviare una nuova conversazione. Questa operazione deve essere salvata durante una conversazione precedente con l'utente. Qualsiasi conversazione o dialogo esistente verrà immediatamente terminata.
- dialogId
-
string
ID della finestra di dialogo da avviare.
- dialogArgs
-
any
(Facoltativo) argomenti da passare alla finestra di dialogo.
- done
-
(err: Error) => void
(Facoltativo) funzione da richiamare al termine dell'operazione.
beginDialogAction(string, string, IDialogActionOptions)
Registra un'azione globale che avvierà un'altra finestra di dialogo ogni volta che viene attivata. Il nuovo dialogo verrà inserito nello stack in modo da non terminare automaticamente alcuna attività corrente. L'attività corrente verrà continuata al termine della nuova finestra di dialogo. Le richieste predefinite richiederanno automaticamente all'utente una volta che ciò si verifica, ma tale comportamento può essere disabilitato impostando il flag promptAfterAction quando si chiama un prompt predefinito.
function beginDialogAction(name: string, id: string, options?: IDialogActionOptions)
Parametri
- name
-
string
Nome univoco per assegnare l'azione.
- id
-
string
ID della finestra di dialogo da avviare.
- options
- IDialogActionOptions
(Facoltativo) opzioni usate per configurare l'azione. Se corrisponde viene specificata, l'azione ascolterà l'utente di pronunciare una parola o una frase che attiva l'azione. In caso contrario, l'azione deve essere associata a un pulsante usando CardAction.dialogAction() per attivare l'azione. È anche possibile usare dialogArgs per passare parametri aggiuntivi alla finestra di dialogo avviata.
Restituisce
bestRouteResult(IRouteResult[], IDialogState[], string)
Trova la route migliore da usare all'interno di un set di risultati contenente più route ambigue. Verrà usata la strategia di ambiguità seguente:
- : i tipi di route personalizzati sono la priorità più alta e saranno preferiti. Ciò consente allo sviluppatore di eseguire l'override del routing all'interno di un bot in modo molto potente.
- ActiveDialog: la finestra di dialogo attiva è la priorità più alta successiva.
- StackAction: le azioni stack sono la priorità più alta successiva e l'azione con la posizione dello stack più profonda verrà restituita.
-
GlobalAction: le azioni globali sono la priorità più bassa. Se un
dialogStackè passato nelle azioni della libreria più a fondo nello stack, verrà favorito. In caso contrario, verrà restituito il primo.
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)
Parametri
- routes
Matrice di route candidate da filtrare.
- dialogStack
(Facoltativo) stack di dialoghi usato per determinare quali librerie sono azioni globali da favorire.
- rootLibraryName
-
string
(Facoltativo) Spazio dei nomi della libreria da preferire quando si disambiguano le azioni globali e non sono presenti dialoghi nello stack.
Restituisce
clone(UniversalBot, string)
Restituisce un clone di un bot esistente.
function clone(copyTo?: UniversalBot, newName?: string)
Parametri
- copyTo
- UniversalBot
(Facoltativo) Istanza in cui copiare l'oggetto corrente. Se manca una nuova istanza verrà creata.
- newName
-
string
(Facoltativo) se specificata la copia restituita verrà rinominata in un nuovo nome.
Restituisce
connector(string, IConnector)
Registra o restituisce un connettore per un canale specifico.
function connector(channelId: string, connector?: IConnector)
Parametri
- channelId
-
string
ID univoco del canale. Usare un channelId di '*' per fare riferimento al connettore predefinito.
- connector
- IConnector
(Facoltativo) connettore da registrare. Se viene omesso il connettore per channelId verrà restituito.
Restituisce
customAction(IDialogActionOptions)
Registra un'azione globale personalizzata che chiamerà l'oggetto passato onSelectAction gestore quando viene attivato.
function customAction(options: IDialogActionOptions)
Parametri
- options
- IDialogActionOptions
Opzioni utilizzate per configurare l'azione. Se corrisponde viene specificata l'azione ascolterà l'utente per pronunciare una parola o una frase che attiva l'azione. È possibile fornire logica di corrispondenza personalizzata usando onFindAction.
Restituisce
dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)
Registra o restituisce una finestra di dialogo dalla libreria.
function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)
Parametri
- id
-
string
ID univoco del dialogo in fase di regsitering o recupero.
- dialog
(Facoltativo) finestra di dialogo o cascata da registrare.
- finestra di dialogo:{Dialog} - Finestra di dialogo da aggiungere.
- finestra di dialogo:{IDialogWaterfallStep[]} - Cascata di passaggi da eseguire. Per informazioni dettagliate, vedere IDialogWaterfallStep.
- finestra di dialogo:{IDialogWaterfallStep} - Cascata a passaggio singolo. La chiamata di un prompt predefinito o l'avvio di un nuovo dialogo comporterà la fine della finestra di dialogo corrente al termine della richiesta/finestra di dialogo figlio.
- replace
-
boolean
(Facoltativo) se true, la finestra di dialogo deve sostituire la finestra di dialogo esistente se già registrata.
Restituisce
endConversationAction(string, TextOrMessageType, ICancelActionOptions)
Registra un'azione globale che terminerà la conversazione con l'utente quando viene attivata.
function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)
Parametri
- name
-
string
Nome univoco per assegnare l'azione.
(Facoltativo) messaggio per inviare l'utente prima di terminare la conversazione.
- options
- ICancelActionOptions
(Facoltativo) opzioni usate per configurare l'azione. Se corrisponde viene specificata, l'azione ascolterà l'utente di pronunciare una parola o una frase che attiva l'azione. In caso contrario, l'azione deve essere associata a un pulsante usando CardAction.dialogAction() per attivare l'azione.
Restituisce
findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Ottiene l'attendibilità dei dialoghi attivi che riconosce il messaggio corrente. Il dialogo deve essere un membro della libreria corrente. In caso contrario, verrà restituito un punteggio pari a 0,0.
function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parametri
- context
- IRecognizeContext
Contesto di riconoscimento di sola lettura per la conversazione corrente.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funzione che deve essere richiamata con le route trovate.
- dialogStack
(Facoltativo) stack di dialoghi da cercare. Il comportamento predefinito consiste nel cercare nello stack di dialoghi corrente delle sessioni.
findDialog(string, string)
Cerca nella libreria e in tutte le relative dipendenze una finestra di dialogo specifica. Restituisce la finestra di dialogo se trovata; in caso contrario, null.
function findDialog(libName: string, dialogId: string)
Parametri
- libName
-
string
Nome della libreria contenente la finestra di dialogo.
- dialogId
-
string
ID univoco della finestra di dialogo all'interno della libreria.
Restituisce
findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Cerca nella libreria per verificare se sono state attivate azioni globali.
function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parametri
- context
- IRecognizeContext
Contesto di riconoscimento di sola lettura per la conversazione corrente.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funzione che deve essere richiamata con le route trovate.
findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)
Cerca le route candidate per gestire il messaggio corrente. Per avviare effettivamente la gestione del messaggio, è necessario chiamare selectRoute() con uno dei risultati restituiti.
È possibile eseguire l'override della logica di ricerca predefinita usando onFindRoute() e viene eseguita solo la ricerca della libreria corrente in modo da chiamare findRoutes() seperately per ogni libreria all'interno della gerarchia.
function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)
Parametri
- context
- IRecognizeContext
Contesto di riconoscimento di sola lettura per la conversazione corrente.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funzione che deve essere richiamata con le route trovate.
findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])
Cerca nello stack di finestre di dialogo delle sessioni per verificare se sono state attivate azioni.
function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])
Parametri
- context
- IRecognizeContext
Contesto di riconoscimento di sola lettura per la conversazione corrente.
- callback
-
(err: Error, routes: IRouteResult[]) => void
Funzione che deve essere richiamata con le route trovate.
- dialogStack
(Facoltativo) stack di dialoghi da cercare. Il comportamento predefinito consiste nel cercare nello stack di dialoghi corrente delle sessioni.
forEachDialog((dialog: Dialog, id: string) => void)
Enumera tutte le finestre di dialogo delle librerie.
function forEachDialog(callback: (dialog: Dialog, id: string) => void)
Parametri
- callback
-
(dialog: Dialog, id: string) => void
Funzione iteratore da chiamare con ogni dialogo.
forEachLibrary((library: Library) => void)
Enumera tutte le librerie figlio delle librerie. Il chiamante deve eseguire i passaggi appropriati per evitare riferimenti circolari durante l'enumerazione della gerarchia. Nella maggior parte dei casi la chiamata di libraryList() è una scelta migliore perché contiene già la logica per evitare cicli.
function forEachLibrary(callback: (library: Library) => void)
Parametri
- callback
-
(library: Library) => void
Funzione iteratore da chiamare con ogni bilancia figlio.
get(string)
Restituisce il valore corrente di un'impostazione.
function get(name: string)
Parametri
- name
-
string
Nome della proprietà da restituire. I nomi validi sono proprietà di IUniversalBotSettings.
Restituisce
any
isInConversation(IAddress, (err: Error, lastAccess: Date) => void)
Restituisce informazioni su quando si è verificato l'ultimo turno tra l'utente e un bot. Questa operazione può essere chiamata prima di beginDialog per determinare se l'utente è attualmente in una conversazione con il bot.
function isInConversation(address: IAddress, callback: (err: Error, lastAccess: Date) => void)
Parametri
- address
- IAddress
Indirizzo dell'utente da cercare. Questa operazione deve essere salvata durante una conversazione precedente con l'utente.
- callback
-
(err: Error, lastAccess: Date) => void
Funzione da richiamare con i risultati della query.
library(Library | string)
Registra o restituisce una dipendenza di libreria.
function library(lib: Library | string)
Parametri
- lib
-
Library | string
- lib:{Library} - Libreria da registrare come dipendenza.
- lib:{string} - Nome univoco della libreria da cercare. Verranno cercate anche tutte le dipendenze.
Restituisce
libraryList(boolean)
Restituisce un elenco di librerie univoche all'interno della gerarchia. Deve essere chiamato nella radice della gerarchia di libreria ed evita i cicli creati quando due librerie figlio fanno riferimento alla stessa libreria dipendente.
function libraryList(reverse?: boolean)
Parametri
- reverse
-
boolean
(Facoltativo) Se l'elenco true verrà generato dalle foglie, significa che la libreria radice verrà elencata per ultima. Il valore predefinito è false, il che significa che verrà generato dalle radici verso il basso e la libreria radice verrà elencata per prima.
Restituisce
Library[]
loadSession(IAddress, (err: Error, session: Session) => void)
Carica un oggetto sessione per un indirizzo arbitrario.
function loadSession(address: IAddress, callback: (err: Error, session: Session) => void)
Parametri
- address
- IAddress
Indirizzo dell'utente/sessione da caricare. Questa operazione deve essere salvata durante una conversazione precedente con l'utente.
- callback
-
(err: Error, session: Session) => void
Funzione da richiamare con la sessione caricata.
localePath(string)
Ottiene o imposta il percorso della cartella "/locale/" delle librerie contenente le richieste localizzate. I prompt per la libreria devono essere archiviati in un file "/locale/<IETF_TAG>/.json" in questo percorso dove "<IETF_TAG>" rappresenta il tag di lingua di 2-3 cifre per le impostazioni locali e "" è un nome file corrispondente allo spazio dei nomi delle librerie.
function localePath(path?: string)
Parametri
- path
-
string
(Facoltativo) percorso della cartella "/locale/" delle librerie. Se specificato, il percorso delle librerie verrà aggiornato.
Restituisce
string
on(string, (data: any) => void)
Registra un listener di eventi. Il bot genererà i propri eventi durante l'elaborazione dei messaggi in ingresso e in uscita. Inoltra anche gli eventi correlati all'attività generati dal connettore, offrendo un'unica posizione in cui restare in ascolto di tutte le attività del bot. Il flusso di eventi dal bot è il seguente:
Messaggio ricevuto
Quando il bot riceve un nuovo messaggio, genera gli eventi seguenti nell'ordine:
lookupUser - ricezione> -> in ingresso -> getStorageData - routing>
Qualsiasi di ricezione del middleware installato verrà eseguito tra gli eventi "receive" e "in ingresso". Dopo che l'evento 'routing' viene generato qualsiasi middleware botbuilder verrà eseguito prima di inviare il messaggio alla finestra di dialogo attiva dei bot.
Attività connettore ricevuta
I connettori possono generare eventi di attività per segnalare elementi come la digitazione di un utente o l'amico di un bot. Queste attività vengono instradate tramite middleware come messaggi, ma non vengono instradate attraverso il sistema di dialogo dei bot. Vengono generati solo come eventi.
Il flusso degli eventi del connettore è:
lookupUser -> receive -> (attività)
Messaggio inviato
I bot possono inviare più messaggi in modo che la sessione invii in batch tutto il messaggio in uscita e quindi salvi lo stato corrente dei bot prima di recapitare i messaggi inviati. Verrà visualizzato un singolo evento "saveStorageData" generato e quindi per ogni messaggio in uscita nel batch verrà visualizzata la sequenza di eventi seguente:
send -> in uscita
Qualsiasi di invio del middleware installato verrà eseguito tra gli eventi 'send' e 'in uscita'.
function on(event: string, listener: (data: any) => void)
Parametri
- event
-
string
Nome dell'evento. Tipi di evento specifici del bot e del connettore:
Eventi bot
-
errore: Si è verificato un errore. È stato passato un oggetto
ErrorJavaScript. -
lookupUser: L'utente sta per cercare un indirizzo. È stato passato un oggetto IAddress
. -
ricezione: È stato ricevuto un messaggio in arrivo. È stato passato un oggetto IEvent
. -
in arrivo: Un messaggio in arrivo è stato ricevuto ed elaborato dal middleware. È stato passato un oggetto IMessage
. -
routing: Un messaggio in arrivo è stato associato a una sessione e sta per essere instradato tramite qualsiasi middleware di sessione e quindi inviato alla finestra di dialogo attiva per l'elaborazione. È stato passato un oggetto session di
. -
invio: Un messaggio in uscita sta per essere inviato al middleware per l'elaborazione. È stato passato un oggetto IMessage
. - in uscita: Un messaggio in uscita è stato appena inviato tramite middleware e sta per essere recapitato al client di chat degli utenti.
-
getStorageData: I dati sullo stato persistenti delle sessioni vengono caricati dall'archiviazione. È stato passato un oggetto IBotStorageContext
. -
saveStorageData: I dati sullo stato persistenti delle sessioni vengono scritti nella risorsa di archiviazione. È stato passato un oggetto IBotStorageContext
.
Eventi di ChatConnector
-
conversationUpdate: Il bot è stato aggiunto a una conversazione o ad altri metadati di conversazione modificati. È stato passato un oggetto IConversationUpdate
. -
contactRelationUpdate: Il bot è stato aggiunto o rimosso dall'elenco dei contatti di un utente. È stato passato un oggetto IContactRelationUpdate
. -
digitazione: L'utente o il bot sull'altra estremità della conversazione sta digitando. È stato passato un oggetto IEvent
.
- listener
-
(data: any) => void
Funzione da richiamare.
onDisambiguateRoute(IDisambiguateRouteHandler)
Sostituisce la logica di disambiguazione della route predefinita dei bot con un'implementazione personalizzata.
function onDisambiguateRoute(handler: IDisambiguateRouteHandler)
Parametri
- handler
- IDisambiguateRouteHandler
Funzione che verrà richiamata con le route candidate a cui inviare un messaggio in arrivo.
onFindRoutes(IFindRoutesHandler)
Sostituisce findRoutes() logica di ricerca di route predefinita con un'implementazione personalizzata.
function onFindRoutes(handler: IFindRoutesHandler)
Parametri
- handler
- IFindRoutesHandler
Funzione che verrà richiamata ogni volta che viene chiamato findRoutes() per la libreria.
onSelectRoute(ISelectRouteHandler)
Sostituisce la logica predefinita per selectRoute() con un'implementazione personalizzata.
function onSelectRoute(handler: ISelectRouteHandler)
Parametri
- handler
- ISelectRouteHandler
Funzione che verrà richiamata ogni volta che viene chiamato selectRoute().
receive(IEvent | IEvent[], (err: Error) => void)
Chiamato quando viene ricevuto un nuovo evento. Questa operazione può essere chiamata manualmente per simulare il bot che riceve un messaggio dall'utente.
function receive(events: IEvent | IEvent[], done?: (err: Error) => void)
Parametri
- done
-
(err: Error) => void
(Facoltativo) funzione da richiamare al termine dell'operazione.
recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)
Tenta di associare un'espressione di testo di un utente a una finalità usando i riconoscitori delle librerie. Per informazioni dettagliate, vedere IIntentRecognizer.recognize().
function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)
Parametri
- context
- IRecognizeContext
Contesto di riconoscimento di sola lettura per la conversazione corrente.
- callback
-
(err: Error, result: IIntentRecognizerResult) => void
Funzione che deve essere richiamata al completamento del riconoscimento.
recognizer(IIntentRecognizer)
Aggiunge un nuovo plug-in di riconoscimento alla libreria.
function recognizer(plugin: IIntentRecognizer)
Parametri
- plugin
- IIntentRecognizer
Riconoscitore da aggiungere.
Restituisce
selectActiveDialogRoute(Session, IRouteResult, IDialogState[])
Indirizza il messaggio corrente alla finestra di dialogo attiva.
function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parametri
- session
- Session
Oggetto sessione per la conversazione corrente.
- route
- IRouteResult
Risultato della route restituito da una chiamata precedente a findRoutes() o findActiveDialogRoutes().
- newStack
selectGlobalActionRoute(Session, IRouteResult, IDialogState[])
Indirizza il messaggio corrente a un'azione globale attivata.
function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parametri
- session
- Session
Oggetto sessione per la conversazione corrente.
- route
- IRouteResult
Risultato della route restituito da una chiamata precedente a findRoutes() o findGlobalActionRoutes().
- newStack
selectRoute(Session, IRouteResult)
Attiva la gestione del messaggio corrente usando la route selezionata. È possibile eseguire l'override della logica predefinita usando onSelectRoute().
function selectRoute(session: Session, route: IRouteResult)
Parametri
- session
- Session
Oggetto sessione per la conversazione corrente.
- route
- IRouteResult
Risultato della route restituito da una chiamata precedente a findRoutes().
selectStackActionRoute(Session, IRouteResult, IDialogState[])
Indirizza il messaggio corrente a un'azione dello stack attivata.
function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])
Parametri
- session
- Session
Oggetto sessione per la conversazione corrente.
- route
- IRouteResult
Risultato della route restituito da una chiamata precedente a findRoutes() o findStackActionRoutes().
- newStack
send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)
Invia un messaggio all'utente senza interrompere lo stack di dialoghi delle conversazioni correnti.
function send(messages: IIsMessage | IMessage | IMessage[], done?: (err: Error, addresses?: IAddress[]) => void)
Parametri
- messages
-
IIsMessage | IMessage | IMessage[]
Messaggio (o matrice di messaggi) da inviare all'utente.
- done
-
(err: Error, addresses?: IAddress[]) => void
(Facoltativo) funzione da richiamare al termine dell'operazione.
set(string, any)
Imposta un'impostazione nel bot.
function set(name: string, value: any)
Parametri
- name
-
string
Nome della proprietà da impostare. I nomi validi sono proprietà di IUniversalBotSettings.
- value
-
any
Valore da assegnare all'impostazione.
Restituisce
use(IMiddlewareMap[])
Installa il middleware per il bot. Il middleware consente di intercettare eventi/messaggi in ingresso e in uscita.
function use(args: IMiddlewareMap[])
Parametri
- args
Uno o più set di hook middleware da installare.