Twitter - 直接消息(API)

时间:2017-03-11 01:35:54

标签: node.js twitter npm node-modules

我尝试使用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”响应。是正确的,即使不是真的。

无论我问什么,总是回复 "嘿,我能为你做些什么?"

也许我不能再使用其他两次

1 个答案:

答案 0 :(得分:0)

不是JS专家,但我认为你需要;

msg.search('Hi','Hello') !== -1 

而不是

msg.search['Hi','Hello'] !== -1 

即使用括号()而不是方括号[]。这将适用于每个条件中的每个msg.search调用。