所以我想创建一个 Skype 机器人来回复发送给我的某些短语。特定的短语或文本会有不同的回复。问题是我坚持将用户输入与特定字符串进行比较。由于某种原因,我从聊天输入中获取的字符串参数不是字符串变量,因为尽管 typeof 显示它是一个字符串,但任何形式的字符串操作都不适用于它。
我正在使用 node.js 对机器人进行编码,并使用 Bot Framework 模拟器对其进行测试。
以下是代码示例:
var restify = require('restify');
var builder = require('botbuilder');
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword
});
// Listen for messages from users
server.post('/api/messages', connector.listen());
// Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')
var bot = new builder.UniversalBot(connector, function (session) {
var comp = "%s"
var comp1 = "hi"
//comp1 == comp && msg1 = "Hi, how may I help you."
var msg1 = ""
if (comp == "hi") msg1 = "Hi, how may I help you."
session.send(msg1, session.message.text);
});
如果我在程序 ie 中初始化一个新的字符串 varcomp1
并使用它来进行比较,那么它就可以工作,所以这排除了我的 if 语句是错误的。
if (comp1 == "hi") msg1 = "Hi, how may I help you."