我想设置botkit以使用Microsoft Bot Framework。
botkit在其“入门”页面上引用了yeoman生成器:https://botkit.ai/getstarted.html
此生成器询问应用ID和应用密码。
我以天蓝色->设置转到了自己创建的频道,以获取我的应用ID。从“ 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/
上检索应用程序密码。按照步骤中的说明在仿真器中输入后。它说:“未经授权”。
作为消息传递端点,我把我的ngrok转发了URL。 (使用./ngrok http 3000
检索)
我有什么想念的吗?要使此功能正常运行应该很简单吗?
答案 0 :(得分:1)
对于Botkit与BotFramework一起使用,您只需要配置一些项目。将您的内容与以下内容进行比较,注意所有差异并进行适当的更改。我有这个简单的设置。
首先,如果您不知道它,这就是找到BotFramework appId和appPassword的方法。
导航到您的Azure机器人的资源组。在左侧菜单窗格中,选择“部署”。
然后选择漫游器部署,然后在菜单窗格中选择“输入”。然后,它将列出您的appId和appPassword。
将此代码放置在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');
});
在具有以下设置的.env文件中包括您的appId和appPassword。
MicrosoftAppId=<appId>
MicrosoftAppPassword=<appPassword>
使用node index.js
从项目的根目录运行机器人。
最后,在仿真器中,将消息传递终结点设置为http://localhost:3000/api/messages
,并包括相同的“ Microsoft App Id”和“ Microsoft App password”凭据。
一旦安装了模拟器,请通过键入一条消息进行测试。该机器人期望“ hello”,并且只会响应该用户输入。
这时您应该很好走。
希望有帮助!