Как я могу использовать оффлайн-прямую линию для Microsoft Botframework v4? - PullRequest
1 голос
/ 23 апреля 2019

Мне нужно запустить microsoft botframework v4 на месте , поскольку внутренние ограничения компании запрещают мне регистрировать бота в Microsoft Azure или использовать соединитель в облаке. Моя идея состоит в том, чтобы использовать offline-directline , чтобы эмулировать разъем локально. Насколько мне известно, пакет был построен для Microsoft Botframework V3, а не v4. Кому-нибудь удалось использовать его для v4?

Я следовал инструкциям, однако застрял, пытаясь реализовать клиент веб-чата. Где и как мне реализовать

BotChat.App({
    directLine: {
        secret: params['s'],
        token: params['t'],
        domain: params['domain'],
        webSocket: false // defaults to true
    },

в файле index.html директивы v4? Документация "offline-directline" предназначена только для Botframework v3.

Есть ли пример репозитория, в котором я мог бы найти информацию?

1 Ответ

1 голос
/ 24 апреля 2019

Обратитесь к инструкциям в репозитории BotFramework-WebChat , чтобы узнать, как разместить веб-чат v4 на веб-сайте.Вы найдете что-то похожее на это:

<!DOCTYPE html>
<html>
  <body>
    <div id="webchat" role="main"></div>
    <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
    <script>
      window.WebChat.renderWebChat({
        directLine: window.WebChat.createDirectLine({ token: 'YOUR_DIRECT_LINE_TOKEN' }),
        userID: 'YOUR_USER_ID',
        username: 'Web Chat User',
        locale: 'en-US',
        botAvatarInitials: 'WC',
        userAvatarInitials: 'WW'
      }, document.getElementById('webchat'));
    </script>
  </body>
</html>

Вместо того, чтобы передавать объект типа window.WebChat.renderWebChat directLine того же типа, что и параметру BotChat.App * directLine, вам нужно передать объект на window.WebChat.createDirectLine.Рассматриваемый объект - это объект DirectLineOptions.

    window.WebChat.renderWebChat({
        directLine: window.WebChat.createDirectLine({
            secret: params['s'],
            token: params['t'],
            domain: params['domain'],
            webSocket: false // defaults to true
        }),

Если вы не хотите передавать какие-либо параметры своему клиенту веб-чата, вы можете включить их в строку:

            secret: '',
            token: '',
            domain: 'http://localhost:3000/directline',
            webSocket: false // defaults to true

И если вы не особенно интересуетесь запуском веб-чата на своей собственной HTML-странице, я рекомендую отказаться от прямой-прямой связи и просто использовать Bot Emulator , который отлично подходит длявзаимодействуя с местными ботами.

...