Twitter stream deprecation FAQ

On 2018-08-16 twitter will start shutting down the user stream API and the current direct message APIs (source)

This is often referred as "twitter killing third party apps" and, while it's not exactly the friendliest move, we can survive this.

Streams deliver real-time tweets and direct messages, along with other events which, luckily, bitlbee doesn't rely on.

August update: Over the period of a week the stream will start failing more often, starting with one hour of downtime every 6 hours and slowly increasing until it is shut down completely on 2018-08-23 (source and details). That page also says the legacy DM endpoints will stay for a month but that's only relevant for sending, receiving is part of the stream.

They also announced the text of the errors will be the following:

...which, unfortunately, doesn't display, and we get rate limited after a few reconnection attempts.

What do I need to do?

All current versions of bitlbee support an older, slower method of fetching tweets (home_timeline polling)

To use that method, disable the stream like this:

account twitter set stream off

This will be the only way to access tweets after 2018-08-23.

If you still get the following error, wait 15 minutes and try again:

<@root> twitter - Logging in: Error: Could not retrieve /1.1/friends/ids.json: 429 Too Many Requests (Rate limit exceeded)

Also, keep an eye on this page (and follow our announcements twitter account), as there will be relevant updates in the near future.

What are the downsides of disabling streams?

Are there any ways to improve this situation?

Maybe. But it needs code changes and those haven't happened yet because life keeps happening.

Are filter streams affected?

Oddly, no! This may change, who knows. But they aren't included in the current deprecation plans.

In theory, we could use them to get realtime tweets of some people by passing your entire following list to the follows parameter of the filter.

Known caveats:

This requires more research.

What's this "account activity API"?

It's a replacement for some use cases of userstreams (such as bots) but not ours.

Main issues with it:

It can be ignored completely.

How do I get 280 character long tweets?

account twitter set message_length 280

Post-3.5.1 git versions of bitlbee already changed this default.

That's not directly relevant to this API change but someone asked that while I was writing this.

Does twitter hate us?

Not really, but they don't care too much about our use case either. They just tolerate us.

Can I use mastodon instead?

Yes! Wise move. See HowtoMastodon

BitlBee Wiki: HowtoTwitter/StreamDeprecation (last edited 2018-08-17 17:59:57 by dx)