LuisDialog<TResult> LuisDialog<TResult> LuisDialog<TResult> Class

Definition

A dialog specialized to handle intents and entities from LUIS.

[Serializable]
public class LuisDialog<TResult> : Microsoft.Bot.Builder.Dialogs.IDialog<TResult>
type LuisDialog<'Result> = class
    interface IDialog<'Result>
Public Class LuisDialog(Of TResult)
Implements IDialog(Of TResult)

Type Parameters

TResult

The result type.

Inheritance
LuisDialog<TResult>LuisDialog<TResult>LuisDialog<TResult>
Attributes
SerializableAttribute
Implements

Constructors

LuisDialog<TResult>(ILuisService[]) LuisDialog<TResult>(ILuisService[]) LuisDialog<TResult>(ILuisService[])

Construct the LUIS dialog.

Fields

handlerByIntent handlerByIntent handlerByIntent

Mapping from intent string to the appropriate handler.

LuisTraceLabel LuisTraceLabel LuisTraceLabel
LuisTraceName LuisTraceName LuisTraceName
LuisTraceType LuisTraceType LuisTraceType
Obfuscated Obfuscated Obfuscated
services services services

Methods

BestIntentFrom(LuisResult) BestIntentFrom(LuisResult) BestIntentFrom(LuisResult)

Calculates the best scored IntentRecommendation from a LuisResult.

BestResultFrom(IEnumerable<LuisServiceResult>) BestResultFrom(IEnumerable<LuisServiceResult>) BestResultFrom(IEnumerable<LuisServiceResult>)

Calculates the best scored LuisServiceResult across multiple LuisServiceResult returned by different ILuisService.

DispatchToIntentHandler(IDialogContext, IAwaitable<IMessageActivity>, IntentRecommendation, LuisResult) DispatchToIntentHandler(IDialogContext, IAwaitable<IMessageActivity>, IntentRecommendation, LuisResult) DispatchToIntentHandler(IDialogContext, IAwaitable<IMessageActivity>, IntentRecommendation, LuisResult)
GetHandlersByIntent() GetHandlersByIntent() GetHandlersByIntent()
GetLuisQueryTextAsync(IDialogContext, IMessageActivity) GetLuisQueryTextAsync(IDialogContext, IMessageActivity) GetLuisQueryTextAsync(IDialogContext, IMessageActivity)
LuisActionDialogFinished(IDialogContext, IAwaitable<LuisResult>) LuisActionDialogFinished(IDialogContext, IAwaitable<LuisResult>) LuisActionDialogFinished(IDialogContext, IAwaitable<LuisResult>)
MakeLuisActionDialog(ILuisService, String, String) MakeLuisActionDialog(ILuisService, String, String) MakeLuisActionDialog(ILuisService, String, String)
MakeServicesFromAttributes() MakeServicesFromAttributes() MakeServicesFromAttributes()
MessageReceived(IDialogContext, IAwaitable<IMessageActivity>) MessageReceived(IDialogContext, IAwaitable<IMessageActivity>) MessageReceived(IDialogContext, IAwaitable<IMessageActivity>)
ModifyLuisRequest(LuisRequest) ModifyLuisRequest(LuisRequest) ModifyLuisRequest(LuisRequest)

Modify LUIS request before it is sent.

RemoveSensitiveData(ILuisModel) RemoveSensitiveData(ILuisModel) RemoveSensitiveData(ILuisModel)
StartAsync(IDialogContext) StartAsync(IDialogContext) StartAsync(IDialogContext)

Extension Methods

Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>) Catch<T>(IDialog<T>, Func<IDialog<T>,Exception,IDialog<T>>)

When the antecedent IDialog<TResult> has completed, catch and handle any exceptions.

Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>) Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>) Catch<T,E>(IDialog<T>, Func<IDialog<T>,E,IDialog<T>>)

When the antecedent IDialog<TResult> has completed, catch and handle any exceptions of type E.

ContinueWith<T,R>(IDialog<T>, Chain) ContinueWith<T,R>(IDialog<T>, Chain) ContinueWith<T,R>(IDialog<T>, Chain)

When the antecedent IDialog<TResult> has completed, execute the continuation to produce the next IDialog<TResult>.

DefaultIfException<T>(IDialog<T>) DefaultIfException<T>(IDialog<T>) DefaultIfException<T>(IDialog<T>)

When the antecedent IDialog<TResult> has completed, stop the propagation of Exception.

DefaultIfException<T,E>(IDialog<T>) DefaultIfException<T,E>(IDialog<T>) DefaultIfException<T,E>(IDialog<T>)

When the antecedent IDialog<TResult> has completed, stop the propagation of an exception of E.

Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>) Do<T>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task>)

Execute a side-effect after a IDialog<TResult> completes.

Fold<T>(IDialog<IEnumerable<IDialog<T>>>, Func<T,T,T>) Fold<T>(IDialog<IEnumerable<IDialog<T>>>, Func<T,T,T>) Fold<T>(IDialog<IEnumerable<IDialog<T>>>, Func<T,T,T>)

Fold items from an enumeration of dialogs.

Loop<T>(IDialog<T>) Loop<T>(IDialog<T>) Loop<T>(IDialog<T>)

Loop the IDialog<TResult> forever.

PostEvent<T,E>(IDialog<T>, E) PostEvent<T,E>(IDialog<T>, E) PostEvent<T,E>(IDialog<T>, E)

When the antecedent IDialog<TResult> has completed, post the item to the event queue.

PostToUser<T>(IDialog<T>) PostToUser<T>(IDialog<T>) PostToUser<T>(IDialog<T>)

Post to the user the result of a IDialog<TResult>.

Select<T,R>(IDialog<T>, Func<T,R>) Select<T,R>(IDialog<T>, Func<T,R>) Select<T,R>(IDialog<T>, Func<T,R>)

When the antecedent IDialog<TResult> has completed, project the result into a new IDialog<TResult>.

SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>) SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>) SelectMany<T,C,R>(IDialog<T>, Func<T,IDialog<C>>, Func<T,C,R>)

When the antecedent IDialog<TResult> has completed, execute the next IDialog<TResult>, and use the projection to combine the results.

Switch<T,R>(IDialog<T>, ICase<T,R>[]) Switch<T,R>(IDialog<T>, ICase<T,R>[]) Switch<T,R>(IDialog<T>, ICase<T,R>[])

When the antecedent IDialog<TResult> has completed, go through each ICase<T,R> and run the ContextualSelector<T,R>" of the first ICase<T,R> that the returned value by the antecedent dialog satisfies.

Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>) Then<T,R>(IDialog<T>, Func<IBotContext,IAwaitable<T>,Task<R>>)

Execute an action after the IDialog<TResult> completes.

Unwrap<T>(IDialog<IDialog<T>>) Unwrap<T>(IDialog<IDialog<T>>) Unwrap<T>(IDialog<IDialog<T>>)

When the antecedent IDialog<TResult> where T is IDialog<TResult> completes, unwrap the result into a new IDialog<TResult>.

Void<T>(IDialog<T>, IDialogStack) Void<T>(IDialog<T>, IDialogStack) Void<T>(IDialog<T>, IDialogStack)

Call the voided IDialog<TResult>, ignore the result, then restart the original dialog wait.

Void<T,R>(IDialog<T>) Void<T,R>(IDialog<T>) Void<T,R>(IDialog<T>)

Call the voided IDialog<TResult>, ignore the result, then restart the original dialog wait.

WaitToBot<T>(IDialog<T>) WaitToBot<T>(IDialog<T>) WaitToBot<T>(IDialog<T>)

Post to the chain the message to the bot after the antecedent completes.

Where<T>(IDialog<T>, Func<T,Boolean>) Where<T>(IDialog<T>, Func<T,Boolean>) Where<T>(IDialog<T>, Func<T,Boolean>)

When the antecedent IDialog<TResult> has completed, evaluate the predicate and decide whether to continue.

While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>) While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>) While<T>(IDialog<T>, Func<T,IDialog<Boolean>>, Func<T,IDialog<T>>)

Create a IDialog<TResult> that represents a while loop.

WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>) WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>) WithScorable<T,Item,Score>(IDialog<T>, IScorable<Item,Score>)

Decorate a dialog with a scorable, so that a scorable can participate on the dialog stack.

Applies to