Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WaterWallDialog,在用户不发送任何消息的情况下启动第一步。C#_C#_Botframework - Fatal编程技术网

WaterWallDialog,在用户不发送任何消息的情况下启动第一步。C#

WaterWallDialog,在用户不发送任何消息的情况下启动第一步。C#,c#,botframework,C#,Botframework,我希望WaterWall对话框的第一步是在调用该类时提示。现在唯一要做的就是使用OnMembersAddedAsync方法,它像欢迎消息一样发送。这不是我需要的 我希望StartConversation在调用类时自动启动 public类HomeOfficeDialogV3:ComponentDialog { 专用只读状态访问器\u状态访问器; 专用只读DirectlineApi\u令牌请求; 专用只读指示符显示\u指示符显示; 私有UserDataExtractedTo _UserDataExt

我希望WaterWall对话框的第一步是在调用该类时提示。现在唯一要做的就是使用OnMembersAddedAsync方法,它像欢迎消息一样发送。这不是我需要的

我希望StartConversation在调用类时自动启动

public类HomeOfficeDialogV3:ComponentDialog
{
专用只读状态访问器\u状态访问器;
专用只读DirectlineApi\u令牌请求;
专用只读指示符显示\u指示符显示;
私有UserDataExtractedTo _UserDataExtractedTo;
public HomeOfficeDialogV3(StateAccessor userState)
{
_StateAccessor=userState;
_TokenReq=新的DirectlineApi();
_IndicatorDelay=新的IndicatorDelay();
var waterwallsteps=新的waterwallstep[]
{
StartConversation,
};
AddDialog(新建WaterWallDialog(名称(WaterWallDialog),WaterWallSteps));
AddDialog(新建文本提示(名称)(文本提示));
AddDialog(新建ChoicePrompt(名称(ChoicePrompt)){Style=ListStyle.SuggestedAction});
AddDialog(新建确认提示)(名称(确认提示));
AddDialog(newnumbercompt(nameof(numbercompt)));
InitialDialogId=nameof(WaterWallDialog);
}
public HomeOfficeDialogV3(UserDataExtractedTo UserDataExtractedTo)
{
_UserDataExtractedTo=UserDataExtractedTo;
}
公共异步任务启动转换(WaterCallStepContext stepContext、CancellationToken CancellationToken)
{
等待指示器显示。显示指示器(stepContext.Context,1400);
return wait stepContext.PromptAsync(name of(ChoicePrompt)),
新提示{
Prompt=MessageFactory.Text($“您知道您的办公空间会影响您的健康吗?”),

Choices=ChoiceFactory.ToChoices(新列表{"你好,伙计如果你的机器人基于你链接到的文档,那么它将使用
dialog.RunAsync
onmessageactivitysync
访问对话框堆栈。你可以在
OnMembersAddedAsync

中执行同样的操作,你已经显示了对话框,但我们需要的是开始对话框的代码。你尝试了什么到目前为止?当您在OnMembersAddedAsync中开始该对话框时会发生什么?@KyleDelaney,我添加了一些代码。感谢您的代码,但我们仍然没有看到您的
MainBot
代码,这大概是
OnMembersAddedAsync
的位置。如果您尝试在中执行该操作,
MainBot
会发生什么
OnMembersAddedAsync
?@KyleDelaney,我的mainbot只是为了我的令牌检查和将数据传递给对话框的构造函数。好吧,我也假设你在
OnMessageActivityAsync
中调用
Dialog.RunAsync
,那么为什么不在
OnMembersAddedAsync
中也调用
Dialog.RunAsync呢?你能解释一下吗您的答案,请?@E.Zeytinci-您想让我重复评论中的对话吗?我这么说是因为Stackoverflow的答案建议。我在评论中看到了您的答案,并写了这篇评论,因为我认为您的答案不够详细。选择是您的,绝对不是强制性的。绝对,我只是添加了拨号OnMemersAddedAsync方法上的og.RunAsync。