Javascript 我如何使机器人工作?

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: "********************" };

我正在尝试向基于Microsoft bot framework的bot发送消息

这是我的密码

   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发送一条消息来触发它。