Сохранение истории чата с помощью Bot Framework с помощью DirectLine ASE

мы интегрируем нашего чат-бота на наш сайт. Большая часть этого работает с использованием расширения службы приложений 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, поскольку она работает и лучше документирована.


person Martijn    schedule 04.09.2020    source источник
comment
Также есть это: docs.microsoft.com/en-us/azure/bot-service/ И похоже, что мы пытаемся решить ту же проблему, но я, с помощью традиционной прямой линии: stackoverflow.com/q/63782062/1250030   -  person mplwork    schedule 08.09.2020
comment
Спасибо за ссылку. Мне кажется, что наши проблемы отличаются тем, что срок действия вашего токена истек, а мой токен все еще активен.   -  person Martijn    schedule 08.09.2020
comment
Да, это была бы разница. Может быть, вы можете добавить свойство conversationId: conversationId в createDirectLineAppServiceExtension? createDirectLine занимает один. Просто догадка.   -  person mplwork    schedule 08.09.2020
comment
Похоже, это ничего не дает. Тем не менее, хорошее предложение.   -  person Martijn    schedule 08.09.2020
comment
Очень жаль. И для меня это не работает, потому что токен имеет неправильный идентификатор. Нам нужно, чтобы здесь вмешалась Microsoft.   -  person mplwork    schedule 08.09.2020
comment
См. stackoverflow.com/questions/63716073/ & stackoverflow.com/questions/62131380/   -  person ranusharao    schedule 10.09.2020