GetTokenDialog 类

定义

一个对话框,用于为配置的 OAuth 连接重新创建用户令牌。此对话框将首先尝试从 Azure 机器人服务如果 Azure 机器人服务还没有令牌,GetTokenDialog 将向用户发送 OAuthCard。 然后,GetTokenDialog 将等待用户返回或用户发送验证代码。 对话将尝试交换用户令牌发送的任何响应。 如果成功,对话框将返回令牌,否则将重试指定的次数。

[System.Serializable]
public class GetTokenDialog : Microsoft.Bot.Builder.Dialogs.IDialog<Microsoft.Bot.Builder.Dialogs.GetTokenResponse>
[<System.Serializable>]
type GetTokenDialog = class
    interface IDialog<GetTokenResponse>
Public Class GetTokenDialog
Implements IDialog(Of GetTokenResponse)
继承
GetTokenDialog
属性
实现

构造函数

GetTokenDialog(String, String, String, Int32, String)

一个对话框,用于为配置的 OAuth 连接重新创建用户令牌。此对话框将首先尝试从 Azure 机器人服务如果 Azure 机器人服务还没有令牌,GetTokenDialog 将向用户发送 OAuthCard。 然后,GetTokenDialog 将等待用户返回或用户发送验证代码。 对话将尝试交换用户令牌发送的任何响应。 如果成功,对话框将返回令牌,否则将重试指定的次数。

方法

StartAsync(IDialogContext)

一个对话框,用于为配置的 OAuth 连接重新创建用户令牌。此对话框将首先尝试从 Azure 机器人服务如果 Azure 机器人服务还没有令牌,GetTokenDialog 将向用户发送 OAuthCard。 然后,GetTokenDialog 将等待用户返回或用户发送验证代码。 对话将尝试交换用户令牌发送的任何响应。 如果成功,对话框将返回令牌,否则将重试指定的次数。

扩展方法

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

完成前面的 IDialog<TResult> 操作后,捕获并处理任何异常。

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

完成前面的 IDialog<TResult> 操作后,捕获并处理类型 E为 的任何异常。

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

完成前面的 IDialog<TResult> 操作后,执行延续以生成下一个 IDialog<TResult>

DefaultIfException<T>(IDialog<T>)

完成前面的 IDialog<TResult> 操作后,停止异常的传播。

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

完成前面的 IDialog<TResult> 操作后,停止异常的 E传播。

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

完成后执行副作用 IDialog<TResult>

Loop<T>(IDialog<T>)

永远循环 。IDialog<TResult>

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

完成前面的 IDialog<TResult> 项后,将项发布到事件队列。

PostToUser<T>(IDialog<T>)

将 的结果 IDialog<TResult>发布到用户。

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

完成前面的 IDialog<TResult> 操作后,将结果投影到新的 IDialog<TResult>中。

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

完成前面的 IDialog<TResult> 操作后,执行下一个 IDialog<TResult>,并使用投影合并结果。

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

完成前项 IDialog<TResult> 后,完成每个 ICase<T,R> 操作,并运行 ContextualSelector<T,R>前一个对话所返回值满足的第一 ICase<T,R> 个 。

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

完成后执行 IDialog<TResult> 操作。

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

调用无效 IDialog<TResult>的 ,忽略结果,然后重启原始对话等待。

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

调用无效 IDialog<TResult>的 ,忽略结果,然后重启原始对话等待。

WaitToBot<T>(IDialog<T>)

在完成前项后,将消息发布到机器人。

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

完成前 IDialog<TResult> 项后,请评估谓词并决定是否继续。

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

创建一个 IDialog<TResult> 表示 while 循环的 。

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

使用可烧焦项修饰对话,使可烧焦内容可以参与对话堆栈。

适用于