Javascript 我如何使机器人工作?
我正在尝试向基于Microsoft bot framework的bot发送消息 这是我的密码Javascript 我如何使机器人工作?,javascript,botframework,Javascript,Botframework,我正在尝试向基于Microsoft bot framework的bot发送消息 这是我的密码 const builder = require("botbuilder"); \\I have id and password, did not show them here const config = { appId: "**********************", appPassword: "********************" };
const builder = require("botbuilder");
\\I have id and password, did not show them here
const config = {
appId: "**********************",
appPassword: "********************"
};
const connector = new builder.ChatConnector(config);
const bot = new builder.UniversalBot(connector);
// respond to bot messages
app.post("/bot", () => console.log('being called') ,connector.listen());
// define bot dialog routes
bot.dialog("/", session => {
console.log('++++++++++++++>', session.message.text)
});
它正在打印“被调用”,但不打印“++++++++>”。
我没有收到错误信息
如何检查问题并解决此问题
注意:这不是emulator,我会在本地的应用程序中尝试这一点。虽然似乎缺少代码(例如,应用程序未定义),但我认为您使用的是Express,这一方面没有问题。您的根对话框只有在收到用户的输入后才会被触发 以这个超级简单的控制台连接器为例:
const builder = require('botbuilder')
let connector = new builder.ConsoleConnector().listen()
let bot = new builder.UniversalBot(connector)
bot.dialog('/', (session) => {
console.log('Testing')
})
将其粘贴到文件中并运行它。您会注意到,不会收到任何错误消息,但也不会看到控制台日志。现在输入任何内容并按return。这将触发root对话框,并触发console.log
如果希望在对话开始时发送主动消息,请查看中的“问候用户”示例
编辑:
使用Express的其他Echo机器人示例:
const express = require('express')
const builder = require('botbuilder')
const app = express()
const port = 8080
const connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
})
const bot = new builder.UniversalBot(connector)
bot.dialog('/', (session) => {
console.log('Testing')
session.send(session.message.text)
})
app.post('/api/messages', connector.listen())
app.listen(port)
我意识到此时您没有使用模拟器,但为了测试起见,请将其指向localhost:8080/api/messages并键入一些内容。您将看到console.log消息出现,您输入的消息将回显给您。您是如何触发该对话框的?根对话框不会立即启动,您必须向bot发送一条消息来触发它。