MS Bot получает текущую страницу URL - PullRequest
0 голосов
/ 01 мая 2018

Я создал бота с помощью MS Bot SDK. Затем я хочу получить URL страницы, где я размещаю бота. Я просто вставляю скрипт в страницу для размещения бота. Но кто-нибудь, кто знает, как получить URL текущей страницы из C #?

Я вижу, что кто-то пытается использовать Activity для получения URL, но я не могу найти подходящее свойство в Activity.

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

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>

Затем в боте:

enter image description here

0 голосов
/ 01 мая 2018

Я просто вставляю скрипт в страницу для размещения бота. Но кто-нибудь, кто знает, как получить URL текущей страницы из C #?

Если вы вставляете веб-чат на свой веб-сайт и хотите получить URL-адрес веб-страницы, на которой вы встраиваете веб-чат, вы можете попробовать следующий подход, чтобы получить URL-адрес и передать его своему боту. .

Передать URL-адрес боту:

<script>
    var urlref = window.location.href;

    BotChat.App({
        directLine: { secret: "{directline_secret}" },
        user: { id: 'You', pageurl: urlref},
        bot: { id: '{bot_id}' },
        resize: 'detect'
    }, document.getElementById("bot"));
</script>

Получить URL-адрес в приложении бота:

if (activity.From.Properties["pageurl"] != null)
{
    var urlref= activity.From.Properties["pageurl"].ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...