Bot framework V4 Подписаться на получение идентификатора беседы на Javascript

#javascript #bots #chatbot #botframework

#javascript #боты #чат-бот #botframework

Вопрос:

Я использую directline с веб-чатом.

 window.WebChat.renderWebChat(
   {
      directLine: window.WebChat.createDirectLine({
         secret: '<my secret key>',
      }),
      //customizing web chat styles.
      styleOptions: styleOptions
   },
   document.getElementById('webchat')
);
 

Это мой javascript, который инициирует веб-чат с помощью секретного ключа. Могу ли я в любом случае получить conversationId обратно в javascript после инициализации веб-чата, как указано выше?

Ответ №1:

Это легко достигается с помощью метода, продемонстрированного в примере 04.api/a.welcome-event. При подключении к веб-чату боту отправляется событие, указывающее на это. Когда событие получено ботом, бот отправляет ответное действие. Действие возврата, по замыслу, включает в conversationID себя .

Короче говоря, вот код, на который вы можете ссылаться. Взятый из примера, он отправляет местоположение пользователя на основе свойств браузера.

Из веб-чата:

 https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/04.api/a.welcome-event
 

От бота:

 if (context.activity.name === 'webchat/join') {
  await context.sendActivity(
    `Got `webchat/join` event, your language is `${(context.activity.value || {}).language}``
  );
}