Well I use the User Stream so I don’t know if it fits your situation completely. I use the Streaming API to get replies made to my quiz bot. Replies are basically the most important thing in my game because they contain the guesses of my players I have to analyze in order to give points or not.
I was missing a lot of replies made to my account, like on daily basis. Even if my bot receives only 300 replies a day. It was a problem because there are rankings and sometimes good answers didn’t make it.
The first thing I made was to use the with=user parameter, because I didn’t need to see all the activity from the people I follow. Next, I also added a “track” parameter when connecting to the Streaming API. I set up the API to track “@whattheshot” (the bot nickname), and it almost reduced the number of missing tweets down to zero. The API is smart, it doesn’t send you duplicate stuff if you get the mentions from the standard user stream feature and the same ones through the track parameter.
It was almost perfect, but sometimes a few mentions didn’t make it or my game was off because the streaming API was having problems, just like a few weeks ago. So I created a “backup” script, that uses the REST API and call the statuses/mentions_timeline.json end point in my case every 30 seconds (to respect the rate limits) every time my quiz is on (every 10 minutes for five minutes).
Of course it’s not 100% perfect but it is way better than before. I just needed to control what the backup system gives me as tweets to be sure I didn’t have already consumed them through the Streaming API.