мы интегрируем нашего чат-бота на наш сайт. Большая часть этого работает с использованием расширения службы приложений Direct Line. Я использовал этот образец для реализации нашего бота: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-directline-extension-webchat-client?view=azure-bot-service-4.0
Часть нашего кода выглядит так:
var token = sessionStorage['webchatToken'];
var userId = sessionStorage['webchatUserId'];
var conversationId = sessionStorage['webchatConversationId'];
directLine = await window.WebChat.createDirectLineAppServiceExtension({
token,
domain: 'https://ourbot.azurewebsites.net/.bot/v3/directline',
watermark: "0"
});
window.WebChat.renderWebChat(
{ directLine: directLine },
document.getElementById('webchat')
);
document.querySelector('#webchat > *').focus();
Теперь я пытаюсь сделать так, чтобы бот сохранял историю чата, когда пользователь просматривает наш сайт. Я уже храню токен, talkId и userId в sessionStorage.
В основном мне нужен способ передать conversationId
функции createDirectLineAppServiceExtension
. Или, может быть, какой-то другой способ установить directLine
, который заполняет его историей чата на основе conversationId
.
Любая помощь приветствуется. Я хотел бы упомянуть, что Direct Line
и Direct Line App Service Extension
- это две разные вещи. Заранее спасибо!
PS: Я не могу найти никакой документации для метода createDirectLineAppServiceExtension
, кроме указанной выше ссылки. Так что, если у вас есть документация по этому поводу, я бы дал ссылку. Большая часть документации, которую я могу найти, не касается расширения службы приложений.
======= РЕДАКТИРОВАТЬ ======
Я решил использовать обычный DirectLine вместо DirectLine ASE. И у меня все работает отлично. Может быть, ответ на этот вопрос еще может быть полезен другим. Хотя я бы посоветовал им поступить так же, как и я, с обычной DirectLine, поскольку она работает и лучше документирована.
conversationId: conversationId
вcreateDirectLineAppServiceExtension
?createDirectLine
занимает один. Просто догадка. - person mplwork   schedule 08.09.2020