Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/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
Botframework 如何从bot发送隐藏链接_Botframework_Bots - Fatal编程技术网

Botframework 如何从bot发送隐藏链接

Botframework 如何从bot发送隐藏链接,botframework,bots,Botframework,Bots,我需要重定向用户。用户发送消息:“显示我的个人资料”,机器人发送隐藏链接并将其重定向到个人资料页面 现在我用backchannel来做: botConnection.activity$ .subscribe(activity => redirect(activity.value)) 但这意味着,该用户可以看到来自bot的带有链接的消息,并且只有在该用户被重定向之后。如何对用户隐藏此消息 我需要重定向用户。用户发送消息:“显示我的个人资料”,机器人发送隐藏链接并将其重定向到个人资料

我需要重定向用户。用户发送消息:“显示我的个人资料”,机器人发送隐藏链接并将其重定向到个人资料页面

现在我用backchannel来做:

botConnection.activity$
    .subscribe(activity => redirect(activity.value))
但这意味着,该用户可以看到来自bot的带有链接的消息,并且只有在该用户被重定向之后。如何对用户隐藏此消息

我需要重定向用户。用户发送消息:“显示我的个人资料”,机器人发送隐藏链接并将其重定向到个人资料页面

正如您所提到的,通过将活动类型设置为
事件
,可以帮助在客户端和bot之间交换信息,而无需向用户显示信息。您可以参考以下代码片段来实现您的需求

在bot对话框中:

在webchat客户端上:

我需要重定向用户。用户发送消息:“显示我的个人资料”,机器人发送隐藏链接并将其重定向到个人资料页面

正如您所提到的,通过将活动类型设置为
事件
,可以帮助在客户端和bot之间交换信息,而无需向用户显示信息。您可以参考以下代码片段来实现您的需求

在bot对话框中:

在webchat客户端上:

if(activity.Text.ToLower() == "show me my profile")
{
    var reply = context.MakeMessage() as IEventActivity;
    reply.Type = "event";
    reply.Name = "showprofile";

    //store the url of user profile in Value property
    reply.Value = $"{profile_url}";

    await context.PostAsync((IMessageActivity)reply);
}
//listens for "showprofile" event from the bot

botConnection.activity$
    .filter(activity => activity.type === "event" && activity.name === "showprofile")
    .subscribe(activity => showmyprofile(activity.value));

function showmyprofile(profile_url) {
    window.open(profile_url);
}