我正在使用C#Bot Builder处理机器人.
现在,我知道有很多关于如何处理链接对话框的例子.像FacebookAuthDialog或ChainedEchoDialog.
我想要做什么:用户必须经过一个授权对话框,当多数民众赞成在做,我想立即把用户进入"UserDialog"在那里,他可以使用哪些需要他的身份验证的所有功能.
这是我的代码:
public static readonly IDialog<string> dialog = Chain
.PostToChain()
.Switch(
new Case<Message, IDialog<string>>((msg) =>
{
var userInfo = new StorageClient().GetUser(msg.From.Id);
if (userInfo != null && userInfo.Activated)
return false;
else
return true;
}, (ctx, msg) =>
{
return Chain.ContinueWith(new AuthenticationDialog(),
async (context, res) =>
{
var result = await res;
return Chain.Return($"You successfully activated your account.");
});
}),
new Case<Message, IDialog<string>>((msg) =>
{
var userInfo = new StorageClient().GetUser(msg.From.Id);
if (userInfo != null && userInfo.Activated)
return true;
else …Run Code Online (Sandbox Code Playgroud) 我想记录我的机器人对话(到文本文件或数据库).我想捕获机器人的所有输入和输出,包括由FormFlow,Confirms等生成的任何文本.我不需要像卡片这样的图形元素,但是从它们获取文本也会很好.
在我的应用程序中的每个输入/输出之后添加日志记录语句似乎不太实际,特别是因为我无法轻易确定FormFlow向用户发送了什么文本.
最好的方法是什么?
我正在研究机器人框架技术,在一个项目中,我实现了Hero卡和缩略图卡的代码.
在我添加了上述概念的代码后,接下来我在Bot Framework Channel Emulator中测试了它的工作正常并成功显示了Hero卡.但是在我将代码发布到azure并将skype频道添加到我的机器人之后,现在我开始与我的机器人聊天以显示英雄卡片图像,但它没有显示任何英雄卡片图像,如下图所示.

类似地,我实现了Form Flow Concept它在Bot Emulator中工作正常,但它不能在skype频道中工作,它显示与上图相同的问题.
请告诉我们如何解决此问题.我认为Skype中可能存在显示Hero Card和Form Flow对话框的错误.
普拉迪普