Skip to content

Instantly share code, notes, and snippets.

@sleemer
Created November 22, 2016 18:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sleemer/e601bcf6ea9989122d1699da98156ec1 to your computer and use it in GitHub Desktop.
Save sleemer/e601bcf6ea9989122d1699da98156ec1 to your computer and use it in GitHub Desktop.
Simple sample of using Twitter streaming API using TweetinviAPI
using System;
using System.Linq;
using Tweetinvi;
using Tweetinvi.Core.Extensions;
using Tweetinvi.Events;
using Tweetinvi.Models;
public class Program
{
public static void Main(string[] args)
{
if (args.Length == 0)
{
Console.WriteLine("You didn't specified tracks to stream from Twitter!");
return;
}
var tracks = args[0].Split(',').ToArray();
var consumerKey = Environment.GetEnvironmentVariable("TWITTER_CONSUMER_KEY") ?? args.Skip(1).FirstOrDefault();
var consumerSecret = Environment.GetEnvironmentVariable("TWITTER_CONSUMER_SECRET") ?? args.Skip(2).FirstOrDefault();
var accessToken = Environment.GetEnvironmentVariable("TWITTER_ACCESS_TOKEN") ?? args.Skip(3).FirstOrDefault();
var accessTokenSecret = Environment.GetEnvironmentVariable("TWITTER_ACCESS_SECRET") ?? args.Skip(4).FirstOrDefault();
var credentials = new TwitterCredentials(
consumerKey,
consumerSecret,
accessToken,
accessTokenSecret
);
var stream = Stream.CreateFilteredStream(credentials);
tracks.ForEach(track => stream.AddTrack(track));
stream.MatchingTweetReceived += (sender, arg) => Console.WriteLine(arg.Tweet);
stream.StartStreamMatchingAnyCondition();
Console.WriteLine($"Service started streeming tweets for '{args[0]}'. Press any key to stop.");
Console.ReadKey();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment