我尝试使用Twitter API进行DM自动回复,例如Q& A,但也许我搞砸了某些东西而我无法使其有效。
这是我的代码:
stream.on('direct_message', function (eventMsg) {
var msg = eventMsg.direct_message.text;
var screenName = eventMsg.direct_message.sender.screen_name;
var msgID = eventMsg.direct_message.id_str;
if (screenName === ‘MyBotExample) {
return callbackHandler(msgID);
}
else if (msg.search['Hi','Hello'] !== -1 ) {
return T.post('direct_messages/new', {
screen_name: screenName,
text: 'Hey, what can I do for you?'} , function () {
callbackHandler(msgID);
});
}
else if (msg.search[‘Apple’,’Red'] !== -1 ) {
return T.post('direct_messages/new', {
screen_name: screenName,
text: ‘Love it!’} , function () {
callbackHandler(msgID);
});
}
else {
return T.post('direct_messages/new', {
screen_name: screenName,
text: "I don't know "
}, function() {
callbackHandler(msgID);
});
}
});
所有答案都不是基于条件回答,而是作为第一个“IF”响应。是正确的,即使不是真的。
无论我问什么,总是回复 "嘿,我能为你做些什么?"
也许我不能再使用其他两次
答案 0 :(得分:0)
不是JS专家,但我认为你需要;
msg.search('Hi','Hello') !== -1
而不是
msg.search['Hi','Hello'] !== -1
即使用括号()而不是方括号[]。这将适用于每个条件中的每个msg.search调用。