【发布时间】:2018-08-20 08:23:11
【问题描述】:
我刚刚尝试使用 node.js 创建一个非常简单的聊天机器人。我已经让它在网络应用程序中工作,并且还使用一对一聊天。一旦我将它添加到组中,尽管它不会响应消息。我试过在消息中使用“@botname”和不使用它,但它仍然不起作用。
我也把它给了一些朋友测试,他们也有同样的问题。一对一工作,但不在小组中。
我尚未发布该应用,但据我所知,仅在少于 100 个用户的情况下进行测试是没有必要的。
这是我正在使用的代码,它在打字稿中,但编译后的 javascript 仍然有效。
import * as builder from 'botbuilder';
import * as restify from 'restify';
declare var process;
// Setup Restify Server
const server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, () => {
console.log('%s listening to %s', server.name, server.url);
});
const connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword
});
server.post('/api/messages', connector.listen());
const bot = new builder.UniversalBot(connector, (session) => {
const text = session.message.text;
if(text.startsWith("#")) {
// interpret roll
const textAfterHash = text.substr(1);
const value = Number(textAfterHash);
if (!isNaN(value)) {
const rollArray: number[] = new Array<number>();
let hits: number = 0;
let misses: number = 0;
for (let index = 0; index < value; index++) {
let roll = Math.floor(Math.random() * 6) + 1;
if (roll >= 5) {
hits++;
} else{
misses++;
}
rollArray.push(roll);
}
const finalString = `Hits: ${hits} / Missses: ${misses}, Rolls: ${rollArray.join(",")}`
session.send(finalString);
}
}
});
这是我的 package.json 的依赖项
"dependencies": {
"botbuilder": "^3.14.0",
"restify": "^6.3.4",
"typescript": "^2.7.2"
}
【问题讨论】:
标签: botframework skype