关注'关注'在Twitter API上

时间:2018-02-05 11:25:49

标签: node.js twitter

我正在开展一个项目,我希望关注两个独立的Twitter帐户,以及每个帐户推文时调用的特定功能。我正在使用Twitter API,Node.js和一个名为Twit的NPM模块。

当一个帐户发送推文时,我的工作没有问题,但两个都没有:

我相信我的问题可能就在这里:

warning

如果我按照设置只设置一个用户它可以正常工作,但有两个它只能用于一个。此外,它只适用于列表中的第二个,因此如果它:var stream = T.stream('statuses/filter', { follow: ( userID1 , userID2 ) }); 只有userID2可以工作。如果其userID1, user ID2仅用户名ID1将起作用。

这里的完整代码/逻辑:

userID2, userID1

任何建议都非常感谢!

2 个答案:

答案 0 :(得分:0)

通过为第二个用户帐户建立单独的流,它似乎有效:

//SetUp info

var Twit = require('twit'); // NPM twit package
var config = require('./config'); // the config file to allow me access Auth Keys etc
var T = new Twit(config);//run config file

 //end of setup

var userID1 = 'XXXXXXXXXXX1'; //TwitterAccount1

//these two lines set up the twitter API
var stream = T.stream('statuses/filter', { follow: ( userID1  ) });  // here seems to be my issue?
stream.on('tweet', function (tweet) {


if (tweet.user.id == userID1 ) { // is tweet.user.id matches UserID1

  DoStuff_1(); //call this function

}  

 });


var userID2 = 'XXXXXXXXXXX2'; //TwitterAccount2

//Separate stream for UserID2

var stream = T.stream('statuses/filter', { follow: ( userID2  ) });  // here seems to be my issue?
stream.on('tweet', function (tweet) {

if  (tweet.user.id == userID2 ) { // if tweet.user.id matches UserID2

DoStuff_2(); // call this function instead

}

 });

//Function for userID1
function DoStuff_1(){
console.log("Doing Stuff 1");
}

//Function for userID2
function DoStuff_2(){
console.log("Doing Stuff 2");

}

答案 1 :(得分:0)

您可以通过某些流来完成所有操作;只需使用用户ID组成一个数组,然后将它们加入以下参数中即可:

allFieldRequired(ctrlName: string): ValidatorFn {
    return (ctrl: AbstractControl) => {
      if (!ctrl.parent || !Object.values(ctrl.parent.value).join('')) {
        return null;
      }
      return CustomValidators.required()(ctrl)
    }
  }