我已经使用 Bot Framework 创建了一个机器人,并且正在使用conversationID
用我的后端对话引擎维护状态。我在文档中找不到用于结束对话的信息。至关重要的是,在某些时候,用户能够发出对话“结束或退出”的信号,以便下次他们开始对话时,它会得到一个新的conversationID
。我想这应该是一个简单的任务。我使用默认的回显模板,只是用我的类的方法替换了字母数行的计数,该方法返回要发送回用户的文本。
现在有一个 ActivityTypes.EndOfConversation (这已经在 sdk 中)。
这是一种使用方法:
v3
public static async Task EndConversation(this IBotToUser botToUser, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
var message = botToUser.MakeMessage();
message.Type = ActivityTypes.EndOfConversation;
message.AsEndOfConversationActivity().Code = code;
await botToUser.PostAsync(message, cancellationToken);
}
这也应该出现在未来的版本中:GitHub 拉取请求 https://github.com/Microsoft/BotBuilder/pull/2678/files/f2b6ece2d54c408e4b0d78b6bd4878fc14496cb3#diff-daab248c30b725ede1a1a7141d6b3ec3
v4
public static async Task EndConversation(this ITurnContext turnContext, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
var endOfConversation = Activity.CreateEndOfConversationActivity();
endOfConversation.Code = code;
await turnContext.SendActivityAsync(endOfConversation, cancellationToken);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)