Botkit не авторизован при подключении через эмулятор (Microsoft Bot Framework) - PullRequest
0 голосов
/ 04 июля 2019

Я бы хотел настроить botkit для использования Microsoft Bot Framework.

botkit ссылается на генератор yeoman на странице «Начало работы»: https://botkit.ai/getstarted.html

ThisГенератор запрашивает идентификатор приложения и пароль приложения.

Я пошел на свой созданный канал в Azure -> Настройки, чтобы получить идентификатор своего приложения.Скопировав значение из «Microsoft App ID» и наведя курсор на значок информации, я должен нажать «Управление», чтобы получить пароль.Нажмите "Управление", что приведет меня на страницу "Не найдено".(Согласно старым статьям это должно было сработать, я думаю, это из-за миграции? https://docs.microsoft.com/en-us/azure/bot-service/bot-service-quickstart-registration?view=azure-bot-service-3.0)

Впоследствии я следовал посту в блоге Microsoft о восстановлении паролей приложения здесь: https://blog.botframework.com/2018/07/03/find-your-azure-bots-appid-and-appsecret/

После ввода этого в эмуляторе, как описано в шагах, он говорит: «Несанкционировано».

В качестве конечной точки обмена сообщениями я поместил перенаправленный URL-адрес ngrok (полученный с помощью ./ngrok http 3000)

IsЕсть что-то, что я пропускаю? Должно быть довольно просто, чтобы все заработало нормально, нет?

1 Ответ

1 голос
/ 09 июля 2019

Чтобы Botkit работал с BotFramework, вам нужно настроить только несколько элементов.Сравните то, что у вас есть, с нижеприведенным, отметьте все различия и внесите соответствующие изменения.У меня работает эта простая настройка.

Во-первых, вот как вы можете найти свой идентификатор приложения BotFramework & appPassword, если вы его не знаете.

Перейдите к группе ресурсов своего бота Azure.На левой панели меню выберите Развертывания.enter image description here

Затем выберите развертывание бота и выберите Inputs на панели меню.Затем в нем будут перечислены ваши appId и appPassword.

enter image description here

Поместите этот код в ваш файл index.js.Обязательно выполните необходимые установки npm.

const { MemoryStorage } = require('botbuilder');
const { Botkit, BotkitBotFrameworkAdapter } = require('botkit');
const path = require('path');

// Note: Ensure you have a .env file.
const ENV_FILE = path.join(__dirname, '.env');
require('dotenv').config({ path: ENV_FILE });

const storage = new MemoryStorage();

const controller = new Botkit({
  adapter: BotkitBotFrameworkAdapter,
  adapterConfig: {
    appId: process.env.MicrosoftAppId,
    appPassword: process.env.MicrosoftAppPassword
  },
  storage: storage,
  webhook_uri: '/api/messages',
});

controller.hears('hello', 'message', async function(bot, message) {
  await bot.reply(message, 'Hello yourself');
});

Включите ваш appId и appPassword в файл .env со следующей настройкой.

MicrosoftAppId=<appId>
MicrosoftAppPassword=<appPassword>

Запустите бота из корня проектакаталог с node index.js.

Наконец, в эмуляторе установите конечную точку обмена сообщениями на http://localhost:3000/api/messages и включите те же учетные данные «Microsoft App Id» и «Microsoft App password».

enter image description here

После настройки эмулятора выполните тестирование, введя сообщение.Бот ожидает «привет» и будет отвечать только на этот ввод пользователя.

На этом этапе вы должны быть готовы.

Надежда на помощь!

...