Streamtastic – Biblioteca de API C # Own3d e Twich.tv.

Fiz isso durante o fim de semana, é uma biblioteca C # simples de usar que os desenvolvedores podem usar para listar streams para qualquer jogo específico em qualquer plataforma que suporte .NET e C #.

Eu testei isso em um aplicativo de desktop, um aplicativo da web e aplicativos do Windows Phone 7, e tudo funciona muito bem.

Github: https://github.com/sergiotapia/Streamtastic

Exemplo de uso:

Streamtastic – biblioteca de streaming de eSports

Streamtastic é uma biblioteca .NET (C #) que fornece informações para fluxos hospedados em uma ampla variedade de sites, incluindo Own3d e Twitch.tv API.

Basta invocar os métodos Streamtastic e você receberá uma resposta simples para usar as classes C # POCO. Não poderia ser mais fácil!

Como você usa isso?

É muito simples! Como você trabalha com interfaces, só precisa injetar a dependência que deseja e não são necessárias mais alterações em seu código.

Exemplos Own3d:

StreamFinder own3dStreamtastic = new StreamFinder(new Own3dStreamRepository());

// Let's find the most viewed streamers in general.
var topStreamers = own3dStreamtastic.FindTopViewedStreams();
foreach (var stream in topStreamers)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

// You can find the top viewed streamers for any game Own3d supports.
// For example, League of Legends.
var topStreamersForLeagueOfLegends = own3dStreamtastic.FindTopViewedStreamsByGame("League+of+Legends");
foreach (var stream in topStreamersForLeagueOfLegends)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

// Or how about Dota 2.
var topStreamersForDota2 = own3dStreamtastic.FindTopViewedStreamsByGame("Dota+2");
foreach (var stream in topStreamersForDota2)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

Exemplos Twitch.TV:

StreamFinder twitchTv = new StreamFinder(new TwitchtvStreamRepository());

// Let's find the most viewed streamers in general.
var topStreamers = twitchTv.FindTopViewedStreams();
foreach (var stream in topStreamers)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

// You can find the top viewed streamers for any game Own3d supports.
// For example, League of Legends.
var topStreamersForLeagueOfLegends = twitchTv.FindTopViewedStreamsByGame("League of Legends");
foreach (var stream in topStreamersForLeagueOfLegends)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

// Or how about Dota 2.
var topStreamersForDota2 = twitchTv.FindTopViewedStreamsByGame("Dota 2");
foreach (var stream in topStreamersForDota2)
{
Console.WriteLine(String.Format("{0} - Viewers: {1}", stream.Title, stream.ViewerCount));
}

Como é que isso funciona?

Onde uma API nativa é implementada, nós a usamos. No entanto, alguns sites não oferecem uma API; nesses casos, eu apenas
analiso algum HTML usando HTMLAgilityPack e ScrappySharp.