gpt4 book ai didi

node.js - 通过模拟器连接时 Botkit 未经授权(Microsoft Bot Framework)

转载 作者:行者123 更新时间:2023-12-03 05:43:17 24 4
gpt4 key购买 nike

我想设置 botkit 以使用 Microsoft Bot Framework。

botkit 在其“入门”页面上引用了 yeoman 生成器:https://botkit.ai/getstarted.html

此生成器询问应用程序 ID 和应用程序密码。

我转到我在 azure 中创建的 channel -> 设置来获取我的应用程序 ID。复制“Microsoft App ID”中的值并将鼠标悬停在信息图标上,告诉我单击“管理”以获取密码。单击“管理”,这会将我带到“未找到”页面。 (根据旧文章,这应该有效,我猜这是因为迁移?https://learn.microsoft.com/en-us/azure/bot-service/bot-service-quickstart-registration?view=azure-bot-service-3.0)

之后我在这里关注了一篇关于检索应用程序密码的微软博客文章:https://blog.botframework.com/2018/07/03/find-your-azure-bots-appid-and-appsecret/

按照步骤中的说明将其输入到模拟器中后。它说:“未经授权”。

作为消息传递端点,我放置了我的 ngrok 转发的 URL。 (使用 ./ngrok http 3000 检索)

我有什么遗漏的吗?让它正常工作应该非常简单,不是吗?

最佳答案

要使 Botkit 与 BotFramework 配合使用,您只需要配置一些项目。将您的内容与下面的内容进行比较,记下任何差异,并进行适当的更改。我已经完成了这个简单的设置。

首先,如果您不知道,可以通过以下方式找到您的 BotFramework appId 和 appPassword。

导航到 Azure 机器人的资源组。在左侧菜单 Pane 中,选择部署。 enter image description here

然后选择机器人部署并在菜单 Pane 中选择输入。然后,这将列出您的 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 应用程序 ID”和“Microsoft 应用程序密码”凭据。

enter image description here

设置模拟器后,通过键入消息进行测试。该机器人正在等待“hello”,并且只会响应该用户输入。

此时您应该可以开始了。

希望得到帮助!

关于node.js - 通过模拟器连接时 Botkit 未经授权(Microsoft Bot Framework),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56893364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com