【问题标题】:Twitter - Direct Message (API)Twitter - 直接消息 (API)
【发布时间】:2017-03-11 10:01:22
【问题描述】:

我正在尝试进行 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);
        });
    }
});

不是根据条件进行回答,而是所有答案都响应为第一个“如果”是正确的,即使不是正确的。

无论我问什么,总是回复 “喂,我能为你做什么?”

也许我不能使用 else if 两次

【问题讨论】:

    标签: node.js twitter npm node-modules


    【解决方案1】:

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

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

    而不是

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 2011-09-17
      • 2017-05-22
      • 1970-01-01
      • 2019-02-21
      • 2011-10-17
      相关资源
      最近更新 更多