ОШИБКА. Бот удалён, но сервисом является localhost. Без программного обеспечения для туннелирования вы не будете получать ответы - PullRequest
1 голос
/ 24 января 2020

Я пытаюсь отладить бот, который работает локально, и когда я использую URL-адрес ngrok в эмуляторе бота, он возвращает следующую ошибку: «Бот удален, но URL-адрес службы - localhost. Без программного обеспечения для туннелирования вы не сможете получать ответы ".

Любая помощь, пожалуйста? спасибо.

1 Ответ

1 голос
/ 24 января 2020

Если вы работаете локально, вам не нужно использовать ngrok. Вам нужен только один файл .bot с URL-адресом конечной точки http://localhost:3978/api/messages. Вы не должны вводить идентификатор приложения и пароль, так как вы работаете локально (ваш бот не подключится иначе, и, возможно, именно поэтому вы видите это сообщение). Я использую этот единственный файл .bot для каждого бота, который я тестирую локально, единственная причина, по которой вам нужно изменить, - это если вы по какой-то причине прослушиваете разные порты.

Для тестирования:

  • Запустите бота через узел с node index.js. Если вы используете шаблоны MS и не изменили никаких настроек, вы увидите сообщение о том, что бот не прослушивает порт 3978.
  • Откройте файл .bot в эмуляторе с помощью http://localhost:3978/api/messages конечная точка
  • Бот должен подключиться, и вы можете начать тестирование!

Обратите внимание, что если вы тестируете за корпоративным брандмауэром и используете такие сервисы, как LUIS, QnA Maker и др. c ., эти звонки, скорее всего, будут заблокированы, и бот будет выдавать ошибку. Вам не нужен ngrok, чтобы это исправить! Самый простой способ - установить прокси через HTTPS_PROXY в вашем файле .env (вы можете определить его и в своем коде тоже через process.env.HTTPS_PROXY, но я этого не делаю рекомендую, так как вы не хотите, чтобы эта настройка работала).

Не также устанавливайте HTTP_PROXY, я не совсем уверен, почему, но это помешает вашему боту работать.

Обратите внимание, что некоторые родные коннекторы Botframework, такие как CosmosDB, не уважают переменную HTVPS_PROXY .env, и эти вызовы завершатся неудачно. Если вы делаете эти вызовы API напрямую, у вас не должно быть никаких проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...