我已经使用MS Bot SDK创建了一个机器人。然后,我要获取托管机器人的页面URL。我只是将脚本注入到页面中以托管该机器人。但是,有谁知道如何从C#获取当前页面URL吗?

我可以看到有人试图使用Activity来获取URL,但是我找不到来自Activity的正确属性。

最佳答案

ChannelData旨在支持将自定义信息从客户端发送到机器人,然后再发送回来。与费瀚的答案类似,您可以拦截传出的消息并为发送的每个活动提供自定义ChannelData。

<script>

    var dl = new BotChat.DirectLine({
        secret: 'yourdlsecret',
        webSocket: false,
        pollingInterval: 1000,
    });

    var urlref = window.location.href;

    BotChat.App({
        botConnection: {
            ...dl,
            postActivity: activity => dl.postActivity({
                ...activity,
                channelData: { pageurl: urlref }
            })
        },
        user: { id: 'userid' },
        bot: { id: 'botid' },
        resize: 'detect'
    }, document.getElementById("bot"));
</script>


然后,在bot中:

c# - MS Bot获取当前页面网址-LMLPHP

关于c# - MS Bot获取当前页面网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50111251/

10-15 03:03