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.