Condividi tramite


UniversalBot class

Gestisce le conversazioni dei bot con gli utenti in più canali.

Extends

Costruttori

UniversalBot(IConnector, any, string)

Crea una nuova istanza di UniversalBot.

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

Crea una nuova istanza di UniversalBot.

UniversalBot(IConnector, IUniversalBotSettings)

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.

RouteTypes

Valori routeType supportati restituiti per impostazione predefinita da findRoutes().

Metodi

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.
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.

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.

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:

  1. : 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.
  2. ActiveDialog: la finestra di dialogo attiva è la priorità più alta successiva.
  3. StackAction: le azioni stack sono la priorità più alta successiva e l'azione con la posizione dello stack più profonda verrà restituita.
  4. 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.
clone(UniversalBot, string)

Restituisce un clone di un bot esistente.

connector(string, IConnector)

Registra o restituisce un connettore per un canale specifico.

customAction(IDialogActionOptions)

Registra un'azione globale personalizzata che chiamerà l'oggetto passato onSelectAction gestore quando viene attivato.

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

Registra o restituisce una finestra di dialogo dalla libreria.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Registra un'azione globale che terminerà la conversazione con l'utente quando viene attivata.

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.

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.

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

Cerca nella libreria per verificare se sono state attivate azioni globali.

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.

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

Cerca nello stack di finestre di dialogo delle sessioni per verificare se sono state attivate azioni.

forEachDialog((dialog: Dialog, id: string) => void)

Enumera tutte le finestre di dialogo delle librerie.

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.

get(string)

Restituisce il valore corrente di un'impostazione.

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.

library(Library | string)

Registra o restituisce una dipendenza di libreria.

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.

loadSession(IAddress, (err: Error, session: Session) => void)

Carica un oggetto sessione per un indirizzo arbitrario.

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.

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'.

onDisambiguateRoute(IDisambiguateRouteHandler)

Sostituisce la logica di disambiguazione della route predefinita dei bot con un'implementazione personalizzata.

onFindRoutes(IFindRoutesHandler)

Sostituisce findRoutes() logica di ricerca di route predefinita con un'implementazione personalizzata.

onSelectRoute(ISelectRouteHandler)

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(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().

recognizer(IIntentRecognizer)

Aggiunge un nuovo plug-in di riconoscimento alla libreria.

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

Indirizza il messaggio corrente alla finestra di dialogo attiva.

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

Indirizza il messaggio corrente a un'azione globale attivata.

selectRoute(Session, IRouteResult)

Attiva la gestione del messaggio corrente usando la route selezionata. È possibile eseguire l'override della logica predefinita usando onSelectRoute().

selectStackActionRoute(Session, IRouteResult, IDialogState[])

Indirizza il messaggio corrente a un'azione dello stack attivata.

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

Invia un messaggio all'utente senza interrompere lo stack di dialoghi delle conversazioni correnti.

set(string, any)

Imposta un'impostazione nel bot.

use(IMiddlewareMap[])

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

IDialogWaterfallStep | IDialogWaterfallStep[]

(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./**

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

IRouteResult[]

(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:

  1. : 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.
  2. ActiveDialog: la finestra di dialogo attiva è la priorità più alta successiva.
  3. StackAction: le azioni stack sono la priorità più alta successiva e l'azione con la posizione dello stack più profonda verrà restituita.
  4. 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

IRouteResult[]

Matrice di route candidate da filtrare.

dialogStack

IDialogState[]

(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

Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep

(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.

msg
TextOrMessageType

(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

IDialogState[]

(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

IDialogState[]

(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

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 Error JavaScript.
  • 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

events

IEvent | IEvent[]

Evento o (matrice di eventi) ricevuti.

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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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

IMiddlewareMap[]

Uno o più set di hook middleware da installare.

Restituisce