Noah
Noah

Reputation: 4751

How to stream tweets of one user using "follow"

I am trying to use the Twitter api to listen for tweets from one user (1234)

twitterClient.stream('statuses/filter', { follow: 1234 }, (stream) => {
    stream.on('data', tweet => {
      console.log('tweet', tweet)
    })

    stream.on('error', error => {
      console.log('error', error)
    })
  })

This is a node wrapper for Twitter, node-twitter or just 'twitter' on npm.

The developer documentation for this feature is here: https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter.html

My issue is the console.log('tweet', tweet) line never fires, even when I tweet or reply. However, if I use { filter: 'MyKeywordHere' } as the second parameter, it does fire. So why can't I follow my account activity?

Upvotes: 2

Views: 2044

Answers (3)

pii_ke
pii_ke

Reputation: 2891

I think this is because there is no user with 1234 as user_id.

My issue is the console.log('tweet', tweet) line never fires, even when I tweet or reply.

Make sure that you are trying with your own user_id as follow parameter.

Upvotes: 0

Marnix Bent
Marnix Bent

Reputation: 89

The follow value must be a string

{ follow: 1234 }

becomes:

{ follow: '1234' }

Upvotes: 4

Boris Traljić
Boris Traljić

Reputation: 956

This code works! Package: twit

var Twit = require('twit')


var TW = new Twit({
  consumer_key: '#####',
  consumer_secret: '#####',
  access_token: '#####-#####',
  access_token_secret: '#####',
  timeout_ms: 60 * 1000, // optional, HTTP request timeout to apply to all requests.
});

var TWId = '#####'; // string

var stream = TW.stream('statuses/filter', {
  follow: TWId
});

console.log('Waiting for tweets, Id:  ' + TWId);

stream.on('tweet', function (tweet) {
  console.log(tweet);
});

This code also works! Package: twitter

var Twit = require('twitter')


var TW = new Twit({
  consumer_key: '#####',
  consumer_secret: '#####',
  access_token_key: '#####-#####',
  access_token_secret: '#####',
});

var TWId = '#####'; // string

var stream = TW.stream('statuses/filter', {
  follow: TWId
});

console.log('Waiting for tweets, Id:  ' + TWId);

stream.on('data', function (tweet) {
  console.log(tweet);
});

stream.on('error', function (error) {
  console.log(error);
});

Upvotes: 2

Related Questions