问题描述
我正在尝试构建一个与Microsoft机器人框架相呼应的机器人。我已经使用nodejs构建了bot服务器,并使用了docker构建并在本地计算机上运行映像。当使用Microsoft机器人模拟器向机器人发送消息时,我在终端上收到以下错误
'''
restify listening to http://[::]:3978
WARN: ChatConnector: receive - emulator running without security enabled.
ChatConnector: message received.
UniversalBot("*") routing "Hi" from "emulator"
Session.beginDialog(/)
/ - waterfall() step 1 of 1
/ - Session.send()
/ - Session.sendBatch() sending 1 message(s)
Error: connect ECONNREFUSED 127.0.0.1:58977
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1145:16)
/ - ERROR: connect ECONNREFUSED 127.0.0.1:58977
Error: connect ECONNREFUSED 127.0.0.1:58977
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1145:16) {
errno: -111,code: 'ECONNREFUSED',syscall: 'connect',address: '127.0.0.1',port: 58977
}
'''
这是我的服务器代码
const restify = require('restify')
const builder = require('botbuilder')
const path = require('path')
const ENV_FILE = path.join(__dirname,'.env')
require('dotenv').config({path: ENV_FILE})
const {BotFrameworkAdapter,UserState,MemoryStorage} = require('botbuilder')
const connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,appPassword: process.env.MicrosftAppPasssword
})
var inMemoryStorage = new builder.MemoryBotStorage()
let bot = new builder.UniversalBot(connector).set('storage',inMemoryStorage)
bot.dialog('/',function(session) {
session.send("You said " + session.message.text)
})
const server = restify.createServer()
server.get('/',function(req,res,next){
res.send("karthik"+ 200)
return next()
})
server.post('/api/messages',connector.listen())
server.listen(process.env.port || 3978,function() {
console.log('%s listening to %s',server.name,server.url)
})
我正在机器人模拟器中使用以下端点:http:// localhost:3978 / api / messages
这是我的dockerfile
FROM node:alpine
WORKDIR /
COPY . .
RUN npm install
EXPOSE 3978
CMD ["node","index.js"]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)