Condividi tramite


PromptTime class

Richiesta di tempo personalizzabile.

Extends

Costruttori

PromptTime(IPromptFeatures)

Crea una nuova istanza personalizzabile del prompt. Il nuovo prompt deve essere aggiunto come finestra di dialogo a un bot o a una libreria.

Proprietà

features

Viene richiesto il set di funzionalità configurato correntemente.

Metodi

addDialogTrigger(ActionSet, string)

Chiamato una volta per ogni dialogo all'interno di una libreria per consentire al dialogo di aggiungere il relativo triggerAction() al set di azioni globali delle librerie. Questi trigger vengono mappati a un beginDialogAction() che avvia la finestra di dialogo quando viene soddisfatta la condizione del trigger.

begin<T>(Session, T)

Chiamato all'avvio di una nuova sessione di dialogo.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa un'azione alla finestra di dialogo 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 l'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.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa un'azione alla finestra di dialogo che annulla la finestra di dialogo ogni volta che viene attivata. In caso di annullamento, il padre dei dialoghi verrà ripreso con un ripreso codice che indica che è stato annullato.

clone(ActionSet)

Restituisce un clone di un ActionSet esistente.

customAction(IDialogActionOptions)

Associa un'azione personalizzata alla finestra di dialogo che chiamerà l'oggetto passato in onSelectAction gestore quando viene attivato.

dialogInterrupted(Session, string, any)

Chiamato quando un dialogo radice viene interrotto da un altro dialogo. In questo modo, il dialogo che viene interrotto consente di eseguire la logica personalizzata prima che venga rimossa dallo stack. Il dialogo stesso è responsabile della cancellazione dello stack di dialoghi e dell'avvio del nuovo dialogo.

dialogResumed<T>(Session, IDialogResult<T>)

Una finestra di dialogo figlio è terminata e quella corrente viene ripresa.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

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

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Chiamato durante la Library.findRoutes() chiamare per ogni finestra di dialogo nello stack per determinare se una delle azioni di dialogo viene attivata dall'espressione degli utenti.

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

Crea il messaggio da inviare per il prompt. Questa operazione viene chiamata automaticamente da sendPrompt() quindi nella maggior parte dei casi si vuole registrare un gestore onFormatMessage() per personalizzare il messaggio inviato per una richiesta. È necessario chiamare questo metodo solo se si implementa una logica di sendPrompt() personalizzata.

gettext(Session, TextType, string)

Restituisce il testo per un prompt localizzato usando lo spazio dei nomi del chiamante prompt.

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Richiama un gestore quando viene rilevata una determinata finalità nell'espressione degli utenti. Per le finalità basate su string, la finalità può essere una finalità restituita da un recognizer() registrato per il prompt oppure può essere una finalità che passa da un globale recognizer().

NOTA: I dettagli completi della corrispondenza, incluso l'elenco delle finalità & entità rilevate, verranno passati agli argomenti del primo passaggio a cascata o del dialogo avviato.

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Richiama un gestore quando viene rilevata una delle finalità indicate nell'espressione degli utenti. Per le finalità basate su string, la finalità può essere una finalità restituita da un recognizer() registrato per il prompt oppure può essere una finalità che passa da un globale recognizer().

NOTA: I dettagli completi della corrispondenza, incluso l'elenco delle finalità & entità rilevate, verranno passati agli argomenti del primo passaggio a cascata o del dialogo avviato.

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Registra un gestore che verrà chiamato per creare il IMessage in uscita che verrà inviato per la richiesta. Questo gestore viene chiamato solo quando il prompt/retryPrompt corrente è di tipo string|string[]. Ogni volta che il prompt/retryPrompt è un IMessage|IIsMessage viene usato il messaggio configurato in modo che il gestore non venga chiamato. È possibile registrare più gestori e il primo gestore per chiamare callback() con un messaggio verrà usato. La chiamata callback(null, null) causerà lo spostamento dell'elaborazione al gestore successivo nella catena.

onPrompt((session: Session, next: Function) => void)

Registra un gestore che verrà chiamato ogni volta che il prompt sta per inviare un messaggio all'utente. È possibile usare questo hook per implementare la logica di invio di richieste personalizzate. È possibile registrare più gestori e chiamare next() richiamerà il gestore successivo nella catena. Il gestore finale esegue la logica predefinita delle richieste che consiste nel creare un nuovo messaggio usando formatMessage() e quindi inviarlo.

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Registra un gestore che verrà chiamato ogni volta che il prompt riceve una risposta dall'utente. I gestori callback() possono essere usati per restituire un punteggio di attendibilità che ha compreso l'input degli utenti e il valore che deve essere restituito al chiamante del prompt. La chiamata callback(null, 1.0, true); indica un'elevata probabilità che l'utente risponda al prompt e restituisca un boolean true come risposta dal prompt. Qualsiasi tipo di risposta è possibile, inclusi gli oggetti . La chiamata a callback(null, 0.0); indica che l'input degli utenti non è stato compreso affatto e che deve essere richiesto di nuovo.

È possibile registrare più gestori e, a differenza degli altri tipi di gestore, tutti i gestori registrati verranno chiamati e il gestore che fornisce il punteggio di attendibilità più alto verrà scelto come vincitore. Quando si personalizza uno dei tipi di prompt predefiniti, spesso si vuole disabilitare la logica del riconoscimento predefinito delle richieste. A tale scopo, è possibile impostare le funzionalità di della richiesta al momento della creazione. Tenere presente che, se si disabilita completamente la logica del riconoscimento predefinito delle richieste, è necessario eseguire tutto il riconoscimento manualmente.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analizza l'espressione degli utenti e assegna un punteggio compreso tra 0,0 e 1,0 che indica quanto sia sicuro che il dialogo abbia compreso l'espressione degli utenti. Questo metodo viene sempre chiamato per il dialogo attivo nello stack. Un punteggio di 1,0 indicherà una corrispondenza perfetta e terminerà qualsiasi ulteriore riconoscimento. Quando il punteggio è minore di 1,0, ogni dialogo nello stack avrà il metodo recognizeAction() chiamato anche per verificare se sono presenti azioni denominate associate al dialogo che corrisponde meglio all'espressione degli utenti. Verranno valutate anche le azioni globali registrate a livello di bot. Se il punteggio del dialogo è superiore a qualsiasi azione associata, i dialoghi metodo replyReceived() verranno chiamati con l'oggetto risultato restituito dalla chiamata recognize(). In questo modo, il dialogo passa dati aggiuntivi raccolti durante la fase di riconoscimento al metodo replyReceived() per la gestione.

Se è presente un'azione con un punteggio maggiore, la finestra di dialogo verrà richiamata invece del metodo replyReceived() dei dialoghi. La finestra di dialogo rimarrà nello stack e potrebbe essere ripresa a un certo punto se l'azione richiama una nuova finestra di dialogo in modo che i dialoghi siano preparati per le chiamate impreviste a dialogResumed().

recognizer(IIntentRecognizer)

Aggiunge un nuovo plug-in di riconoscimento al prompt che verrà eseguito ogni volta che l'utente risponde al prompt.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa un'azione alla finestra di dialogo che causerà il caricamento del dialogo ogni volta che viene attivato. Ciò è utile per implementare la logica che gestisce espressioni utente come "start over".

replyReceived(Session, IRecognizeResult)

Elabora i messaggi ricevuti dall'utente. Chiamato dal sistema di dialoghi.

selectActionRoute(Session, IRouteResult)

Seleziona la route con il punteggio di attendibilità più alto per l'espressione.

sendPrompt(Session)

Invia una richiesta all'utente per il turno corrente. Può essere chiamato da un gestore [matches()][#matches] per inviare manualmente una richiesta o una nuova richiesta all'utente. Per forzare l'invio del prompt iniziale, è necessario impostare session.dialogData.turns = 0; prima di chiamare sendPrompt().

triggerAction(ITriggerActionOptions)

Associa un'azione alla finestra di dialogo che lo rende il dialogo attivo ogni volta che viene attivato. Il comportamento predefinito consiste nell'interupuping di qualsiasi dialogo esistente cancellando lo stack e avviando il dialogo nella radice dello stack. La finestra di dialogo interrotta può intercettare questa interruzione aggiungendo un personalizzato onInterrupted gestore alle relative opzioni di azione trigger. Inoltre, è possibile personalizzare il modo in cui viene avviata la finestra di dialogo attivata fornendo un personalizzato inSelectAction gestore per le opzioni di azione trigger.

Dettagli costruttore

PromptTime(IPromptFeatures)

Crea una nuova istanza personalizzabile del prompt. Il nuovo prompt deve essere aggiunto come finestra di dialogo a un bot o a una libreria.

new PromptTime(features?: IPromptFeatures)

Parametri

features
IPromptFeatures

(Facoltativo) funzionalità usate per personalizzare il comportamento delle richieste.

Dettagli proprietà

features

Viene richiesto il set di funzionalità configurato correntemente.

public features: IPromptFeatures

Valore della proprietà

Dettagli metodo

addDialogTrigger(ActionSet, string)

Chiamato una volta per ogni dialogo all'interno di una libreria per consentire al dialogo di aggiungere il relativo triggerAction() al set di azioni globali delle librerie. Questi trigger vengono mappati a un beginDialogAction() che avvia la finestra di dialogo quando viene soddisfatta la condizione del trigger.

function addDialogTrigger(actions: ActionSet, dialogId: string)

Parametri

actions
ActionSet

Set di azioni globali delle librerie.

dialogId

string

ID completo della finestra di dialogo da attivare.

begin<T>(Session, T)

Chiamato all'avvio di una nuova sessione di dialogo.

function begin<T>(session: Session, args?: T)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

args

T

(Facoltativo) argomenti passati alla finestra di dialogo dal relativo elemento padre.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa un'azione alla finestra di dialogo 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 l'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?: IBeginDialogActionOptions)

Parametri

name

string

Nome univoco per assegnare l'azione.

id

string

ID della finestra di dialogo da avviare.

options
IBeginDialogActionOptions

(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

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa un'azione alla finestra di dialogo che annulla la finestra di dialogo ogni volta che viene attivata. In caso di annullamento, il padre dei dialoghi verrà ripreso con un ripreso codice che indica che è stato annullato.

function cancelAction(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 annullare la finestra di dialogo.

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

clone(ActionSet)

Restituisce un clone di un ActionSet esistente.

function clone(copyTo?: ActionSet)

Parametri

copyTo
ActionSet

(Facoltativo) Istanza in cui copiare l'oggetto corrente. Se manca una nuova istanza verrà creata.

Restituisce

customAction(IDialogActionOptions)

Associa un'azione personalizzata alla finestra di dialogo che chiamerà l'oggetto passato in 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

dialogInterrupted(Session, string, any)

Chiamato quando un dialogo radice viene interrotto da un altro dialogo. In questo modo, il dialogo che viene interrotto consente di eseguire la logica personalizzata prima che venga rimossa dallo stack. Il dialogo stesso è responsabile della cancellazione dello stack di dialoghi e dell'avvio del nuovo dialogo.

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

dialogId

string

ID della finestra di dialogo che deve essere avviata.

dialogArgs

any

Argomenti che devono essere passati al nuovo dialogo.

dialogResumed<T>(Session, IDialogResult<T>)

Una finestra di dialogo figlio è terminata e quella corrente viene ripresa.

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

result

IDialogResult<T>

Risultato restituito dal dialogo figlio.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Associa un'azione 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

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Chiamato durante la Library.findRoutes() chiamare per ogni finestra di dialogo nello stack per determinare se una delle azioni di dialogo viene attivata dall'espressione degli utenti.

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

Parametri

context
IRecognizeDialogContext

Contesto del messaggio in arrivo, nonché del dialogData per la finestra di dialogo valutata.

callback

(err: Error, results: IRouteResult[]) => void

Funzione da richiamare con le route candidate principali.

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

Crea il messaggio da inviare per il prompt. Questa operazione viene chiamata automaticamente da sendPrompt() quindi nella maggior parte dei casi si vuole registrare un gestore onFormatMessage() per personalizzare il messaggio inviato per una richiesta. È necessario chiamare questo metodo solo se si implementa una logica di sendPrompt() personalizzata.

function formatMessage(session: Session, text: TextType, speak: TextType, callback: (err: Error, msg: IMessage) => void)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

text
TextType

Testo corrente prompt/retryPrompt.

speak
TextType

SSML speak/retrySpeak corrente. Questo valore può essere Null.

callback

(err: Error, msg: IMessage) => void

Funzione per ricevere il messaggio creato.

gettext(Session, TextType, string)

Restituisce il testo per un prompt localizzato usando lo spazio dei nomi del chiamante prompt.

static function gettext(session: Session, text: TextType, namespace?: string)

Parametri

session
Session

Sessione corrente per la conversazione.

text
TextType

Chiedere di localizzare.

namespace

string

(Facoltativo) spazio dei nomi della libreria da usare per la localizzazione del prompt. Per impostazione predefinita, verrà usato lo spazio dei nomi del chiamante prompt.

Restituisce

string

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Richiama un gestore quando viene rilevata una determinata finalità nell'espressione degli utenti. Per le finalità basate su string, la finalità può essere una finalità restituita da un recognizer() registrato per il prompt oppure può essere una finalità che passa da un globale recognizer().

NOTA: I dettagli completi della corrispondenza, incluso l'elenco delle finalità & entità rilevate, verranno passati agli argomenti del primo passaggio a cascata o del dialogo avviato.

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parametri

intent

RegExp | string

  • finalità:{RegExp} - Espressione regolare che verrà valutata per rilevare la finalità degli utenti.
  • finalità:{string}: finalità denominata restituita da un plug-in IIntentRecognizer che verrà usato per soddisfare la finalità degli utenti.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - ID di una finestra di dialogo da iniziare quando viene trovata una corrispondenza con la finalità.
  • dialogId:{IDialogWaterfallStep[]} - Cascata di passaggi da eseguire quando viene trovata una corrispondenza con la finalità.
  • dialogId:{IDialogWaterfallStep} - Singolo passaggio a cascata da eseguire quando viene trovata una corrispondenza con la finalità. 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.
dialogArgs

any

(Facoltativo) argomenti per passare la finestra di dialogo avviata quando dialogId è un {string}.

Restituisce

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

Richiama un gestore quando viene rilevata una delle finalità indicate nell'espressione degli utenti. Per le finalità basate su string, la finalità può essere una finalità restituita da un recognizer() registrato per il prompt oppure può essere una finalità che passa da un globale recognizer().

NOTA: I dettagli completi della corrispondenza, incluso l'elenco delle finalità & entità rilevate, verranno passati agli argomenti del primo passaggio a cascata o del dialogo avviato.

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

Parametri

intent

RegExp[] | string[]

  • finalità:{RegExp[]} - Matrice di espressioni regolari che verranno valutate per rilevare la finalità degli utenti.
  • finalità:{string[]} - Matrice di finalità denominate restituite da un plug-in IIntentRecognizer che verrà usato per soddisfare la finalità degli utenti.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - ID di una finestra di dialogo da iniziare quando viene trovata una corrispondenza con la finalità.
  • dialogId:{IDialogWaterfallStep[]} - Cascata di passaggi da eseguire quando viene trovata una corrispondenza con la finalità.
  • dialogId:{IDialogWaterfallStep} - Singolo passaggio a cascata da eseguire quando viene trovata una corrispondenza con la finalità. 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.
dialogArgs

any

(Facoltativo) argomenti per passare la finestra di dialogo avviata quando dialogId è un {string}.

Restituisce

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Registra un gestore che verrà chiamato per creare il IMessage in uscita che verrà inviato per la richiesta. Questo gestore viene chiamato solo quando il prompt/retryPrompt corrente è di tipo string|string[]. Ogni volta che il prompt/retryPrompt è un IMessage|IIsMessage viene usato il messaggio configurato in modo che il gestore non venga chiamato. È possibile registrare più gestori e il primo gestore per chiamare callback() con un messaggio verrà usato. La chiamata callback(null, null) causerà lo spostamento dell'elaborazione al gestore successivo nella catena.

function onFormatMessage(handler: (session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

Parametri

handler

(session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void

Funzione che verrà chiamata per creare un IMessage per il prompt corrente. Chiamare callback() con un messaggio o null per continuare l'elaborazione.

Restituisce

Prompt<any>

onPrompt((session: Session, next: Function) => void)

Registra un gestore che verrà chiamato ogni volta che il prompt sta per inviare un messaggio all'utente. È possibile usare questo hook per implementare la logica di invio di richieste personalizzate. È possibile registrare più gestori e chiamare next() richiamerà il gestore successivo nella catena. Il gestore finale esegue la logica predefinita delle richieste che consiste nel creare un nuovo messaggio usando formatMessage() e quindi inviarlo.

function onPrompt(handler: (session: Session, next: Function) => void)

Parametri

handler

(session: Session, next: Function) => void

Funzione che verrà chiamata ogni volta che viene chiamato sendPrompt().

Restituisce

Prompt<any>

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Registra un gestore che verrà chiamato ogni volta che il prompt riceve una risposta dall'utente. I gestori callback() possono essere usati per restituire un punteggio di attendibilità che ha compreso l'input degli utenti e il valore che deve essere restituito al chiamante del prompt. La chiamata callback(null, 1.0, true); indica un'elevata probabilità che l'utente risponda al prompt e restituisca un boolean true come risposta dal prompt. Qualsiasi tipo di risposta è possibile, inclusi gli oggetti . La chiamata a callback(null, 0.0); indica che l'input degli utenti non è stato compreso affatto e che deve essere richiesto di nuovo.

È possibile registrare più gestori e, a differenza degli altri tipi di gestore, tutti i gestori registrati verranno chiamati e il gestore che fornisce il punteggio di attendibilità più alto verrà scelto come vincitore. Quando si personalizza uno dei tipi di prompt predefiniti, spesso si vuole disabilitare la logica del riconoscimento predefinito delle richieste. A tale scopo, è possibile impostare le funzionalità di della richiesta al momento della creazione. Tenere presente che, se si disabilita completamente la logica del riconoscimento predefinito delle richieste, è necessario eseguire tutto il riconoscimento manualmente.

function onRecognize(handler: (context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

Parametri

handler

(context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void

Funzione che verrà chiamata per riconoscere gli utenti rispondere a un prompt.

Restituisce

Prompt<any>

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analizza l'espressione degli utenti e assegna un punteggio compreso tra 0,0 e 1,0 che indica quanto sia sicuro che il dialogo abbia compreso l'espressione degli utenti. Questo metodo viene sempre chiamato per il dialogo attivo nello stack. Un punteggio di 1,0 indicherà una corrispondenza perfetta e terminerà qualsiasi ulteriore riconoscimento. Quando il punteggio è minore di 1,0, ogni dialogo nello stack avrà il metodo recognizeAction() chiamato anche per verificare se sono presenti azioni denominate associate al dialogo che corrisponde meglio all'espressione degli utenti. Verranno valutate anche le azioni globali registrate a livello di bot. Se il punteggio del dialogo è superiore a qualsiasi azione associata, i dialoghi metodo replyReceived() verranno chiamati con l'oggetto risultato restituito dalla chiamata recognize(). In questo modo, il dialogo passa dati aggiuntivi raccolti durante la fase di riconoscimento al metodo replyReceived() per la gestione.

Se è presente un'azione con un punteggio maggiore, la finestra di dialogo verrà richiamata invece del metodo replyReceived() dei dialoghi. La finestra di dialogo rimarrà nello stack e potrebbe essere ripresa a un certo punto se l'azione richiama una nuova finestra di dialogo in modo che i dialoghi siano preparati per le chiamate impreviste a dialogResumed().

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

Parametri

context
IRecognizeDialogContext

Contesto della richiesta.

callback

(err: Error, result: IRecognizeResult) => void

Funzione da richiamare con i risultati del riconoscimento.

recognizer(IIntentRecognizer)

Aggiunge un nuovo plug-in di riconoscimento al prompt che verrà eseguito ogni volta che l'utente risponde al prompt.

function recognizer(plugin: IIntentRecognizer)

Parametri

plugin
IIntentRecognizer

Riconoscitore da aggiungere.

Restituisce

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa un'azione alla finestra di dialogo che causerà il caricamento del dialogo ogni volta che viene attivato. Ciò è utile per implementare la logica che gestisce espressioni utente come "start over".

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

Parametri

name

string

Nome univoco per assegnare l'azione.

msg
TextOrMessageType

(Facoltativo) messaggio per inviare l'utente prima di ricaricare la finestra di dialogo.

options
IBeginDialogActionOptions

(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 quando viene ricaricato.

Restituisce

replyReceived(Session, IRecognizeResult)

Elabora i messaggi ricevuti dall'utente. Chiamato dal sistema di dialoghi.

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

Seleziona la route con il punteggio di attendibilità più alto per l'espressione.

function selectActionRoute(session: Session, route: IRouteResult)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

route
IRouteResult

Risultati restituiti dalla chiamata a findActionRoutes().

sendPrompt(Session)

Invia una richiesta all'utente per il turno corrente. Può essere chiamato da un gestore [matches()][#matches] per inviare manualmente una richiesta o una nuova richiesta all'utente. Per forzare l'invio del prompt iniziale, è necessario impostare session.dialogData.turns = 0; prima di chiamare sendPrompt().

function sendPrompt(session: Session)

Parametri

session
Session

Oggetto sessione per la conversazione corrente.

triggerAction(ITriggerActionOptions)

Associa un'azione alla finestra di dialogo che lo rende il dialogo attivo ogni volta che viene attivato. Il comportamento predefinito consiste nell'interupuping di qualsiasi dialogo esistente cancellando lo stack e avviando il dialogo nella radice dello stack. La finestra di dialogo interrotta può intercettare questa interruzione aggiungendo un personalizzato onInterrupted gestore alle relative opzioni di azione trigger. Inoltre, è possibile personalizzare il modo in cui viene avviata la finestra di dialogo attivata fornendo un personalizzato inSelectAction gestore per le opzioni di azione trigger.

function triggerAction(options: ITriggerActionOptions)

Parametri

options
ITriggerActionOptions

Opzioni usate per configurare l'azione.

Restituisce