Twitter - 直接消息 (API)

Twitter - Direct Message (API)

我正在尝试进行 DM 自动回复,类似于在 Twitter 上进行问答 API,但也许我搞砸了,我无法让它正常工作。

这是我的代码:

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' 是正确的,即使不是真的。

无论我问什么,总是回复 "Hey, what can I do for you?"

也许我不能用else if twice

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

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

而不是

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

即用圆括号()代替方括号[]。这将适用于每种情况下的每个 msg.search 调用。