golf1052 / Twixel

Unofficial C# Twitch.TV API Wrapper
http://golf1052.github.io/Twixel/
MIT License
11 stars 6 forks source link

Exception : System.FormatException #7

Closed b-barry closed 9 years ago

b-barry commented 9 years ago

Hello,

I use your great library for a personal project. Everything works nice. However, when I try to retrieve the featured stream. I got a exception. I copy and past the code provided by your V3 test class.

Thank you in advance for your help.

Kinds regards

Exception    at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
   at System.DateTime.Parse(String s)
   at TwixelAPI.Channel..ctor(Nullable`1 mature, String status, String broadcasterLanguage, String displayName, String game, Nullable`1 delay, String language, Int64 id, String name, String createdAt, String updatedAt, String logo, String banner, String videoBanner, String background, String profileBanner, String profileBannerBackgroundColor, Nullable`1 partner, String url, Nullable`1 views, Nullable`1 followers, JObject baseLinksO)
   at TwixelAPI.HelperMethods.LoadChannel(JObject o, APIVersion version)
   at TwixelAPI.Stream..ctor(Nullable`1 id, String game, Nullable`1 viewers, String createdAt, Int32 videoHeight, Double averageFps, String name, String broadcaster, JObject previewO, JObject channelO, JObject baseLinksO)
   at TwixelAPI.HelperMethods.LoadStream(JObject o, APIVersion version)
   at TwixelAPI.FeaturedStream..ctor(String text, String image, String tiUne exception de première chance de type 'System.NullReferenceException' s'est produite dans spot.exe
tle, Boolean sponsored, Int32 priority, Boolean scheduled, JObject streamO, JObject baseLinksO)
   at TwixelAPI.HelperMethods.LoadFeaturedStreams(JObject o, APIVersion version)
   at TwixelAPI.Twixel.<RetrieveFeaturedStreams>d__51.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
golf1052 commented 9 years ago

I couldn't reproduce the error you were getting but I think the Twitch API gave a bad date string for some reason when fetching featured streams. The string wasn't null because you would have gotten a System.ArgumentNullException so either the string was an empty string or just a badly formatted string (for some reason).

I added a statement in the Channel class that checks if the createdAt or updatedAt strings are null or empty before it tries to parse them. I made a commit to the party branch with an attempted fix. You can try pulling this down and seeing if you run into any issues.

b-barry commented 9 years ago

Hello,

I have just tested your fix into the party channel. I have always the same issue.

at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
   at System.DateTime.Parse(String s)
   at TwixelAPI.Channel..ctor(Nullable`1 mature, String status, String broadcasterLanguage, String displayName, String game, Nullable`1 delay, String language, Int64 id, String name, String createdAt, String updatedAt, String logo, String banner, String videoBanner, String background, String profileBanner, String profileBannerBackgroundColor, Nullable`1 partner, String url, Nullable`1 views, Nullable`1 followers, JObject baseLinksO) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\Channel.cs:line 319
   at TwixelAPI.HelperMethods.LoadChannel(JObject o, APIVersion version) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\HelperMethods.cs:line 67
   at TwixelAPI.Stream..ctor(Nullable`1 id, String game, Nullable`1 viewers, String createdAt, Int32 videoHeight, Double averageFps, String name, String broadcaster, JObject previewO, JObject channelO, JObject baseLinksO) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\Stream.cs:line 161
   at TwixelAPI.HelperMethods.LoadStream(JObject o, APIVersion version) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\HelperMethods.cs:line 257
   at TwixelAPI.FeaturedStream..ctor(String text, String image, String title, Boolean sponsored, Int32 priority, Boolean scheduled, JObject streamO, JObject baseLinksO) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\FeaturedStream.cs:line 105
   at TwixelAPI.HelperMethods.LoadFeaturedStreams(JObject o, APIVersion version) in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\HelperMethods.cs:line 290
   at TwixelAPI.Twixel.<RetrieveFeaturedStreams>d__51.MoveNext() in c:\Users\barry.boubacar\Desktop\nc-spot\spot\Twixel-party\Twixel\Twixel.cs:line 597
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
golf1052 commented 9 years ago

Can you try sending the json file that this url gives? https://api.twitch.tv/kraken/streams/featured?limit=25&offset=0

b-barry commented 9 years ago

Hello,

Please find the json file below.

Thank you for your help.

{"_links":{"self":"https://api.twitch.tv/kraken/streams/featured?limit=25&offset=0","next":"https://api.twitch.tv/kraken/streams/featured?limit=25&offset=25"},"featured":[{"text":"<p>Chris Notbusch presents a first person view of custom sculpture creation of video game characters! He welcomes questions and comments.  Check out his <a href=\"http://www.notbuschmodeling.com\">web site</a> for more of his work.</p>\n\n<br>\n\n\n<p><a href=\"/cnotbusch\">Click here</a> to watch and chat live!</p>\n\n<p><a href=\"community,%20esports,%20dota,%20personality\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/cnotbusch_frontpage.png","title":"Chris Notbusch Modeling","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13909605440,"game":"Reign Of Kings","viewers":318,"video_height":864,"average_fps":44.7517833144,"created_at":"2015-04-07T21:28:57Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_cnotbusch-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_cnotbusch-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_cnotbusch-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_cnotbusch-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/cnotbusch"},"channel":{"mature":false,"status":"Master Dwarf Role play:Time to feed Bobo..... Welcome Voices in me head. ","broadcaster_language":"en","display_name":"cnotbusch","game":"Reign Of Kings","delay":0,"language":"en","_id":25999696,"name":"cnotbusch","created_at":"2011-11-08T01:36:04Z","updated_at":"2015-04-08T07:16:15Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/cnotbusch-profile_image-cfdf2d46cf84efde-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/cnotbusch-channel_header_image-b6bdd776a0fb4dc0-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/cnotbusch-channel_offline_image-c7072c0e2ecc5603-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/cnotbusch-profile_banner-5db59e08913b88d9-480.jpeg","profile_banner_background_color":"#696569","partner":true,"url":"http://www.twitch.tv/cnotbusch","views":3469821,"followers":46907,"_links":{"self":"https://api.twitch.tv/kraken/channels/cnotbusch","follows":"https://api.twitch.tv/kraken/channels/cnotbusch/follows","commercial":"https://api.twitch.tv/kraken/channels/cnotbusch/commercial","stream_key":"https://api.twitch.tv/kraken/channels/cnotbusch/stream_key","chat":"https://api.twitch.tv/kraken/chat/cnotbusch","features":"https://api.twitch.tv/kraken/channels/cnotbusch/features","subscriptions":"https://api.twitch.tv/kraken/channels/cnotbusch/subscriptions","editors":"https://api.twitch.tv/kraken/channels/cnotbusch/editors","teams":"https://api.twitch.tv/kraken/channels/cnotbusch/teams","videos":"https://api.twitch.tv/kraken/channels/cnotbusch/videos"}}}},{"text":"<p>RandomRambo has gotten Global Elite 4 times with Pistol only in Counter-Strike: Global Offensive, and if that wasn't enough it was all done SoloQueuing.</p>\n\n<br>\n\n\n<p><a href=\"/randomrambo\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/RRavatarsize140x78.png","title":"RandomRambo","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13913993680,"game":"Counter-Strike: Global Offensive","viewers":559,"video_height":720,"average_fps":59.9222503161,"created_at":"2015-04-08T03:56:15Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_randomrambo-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_randomrambo-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_randomrambo-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_randomrambo-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/randomrambo"},"channel":{"mature":false,"status":"Day 474/1000 !Giveaways if I lose! | LETS DO IT! ","broadcaster_language":"en","display_name":"RandomRambo","game":"Counter-Strike: Global Offensive","delay":0,"language":"en","_id":39217206,"name":"randomrambo","created_at":"2013-01-10T22:24:50Z","updated_at":"2015-04-08T07:16:38Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/randomrambo-profile_image-843e0c7e10f4d274-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/randomrambo-channel_header_image-671a2c74641da842-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/randomrambo-channel_offline_image-094ae1a87ed83d28-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/randomrambo-profile_banner-2b910b4e90dfca8b-480.jpeg","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/randomrambo","views":2374763,"followers":80704,"_links":{"self":"https://api.twitch.tv/kraken/channels/randomrambo","follows":"https://api.twitch.tv/kraken/channels/randomrambo/follows","commercial":"https://api.twitch.tv/kraken/channels/randomrambo/commercial","stream_key":"https://api.twitch.tv/kraken/channels/randomrambo/stream_key","chat":"https://api.twitch.tv/kraken/chat/randomrambo","features":"https://api.twitch.tv/kraken/channels/randomrambo/features","subscriptions":"https://api.twitch.tv/kraken/channels/randomrambo/subscriptions","editors":"https://api.twitch.tv/kraken/channels/randomrambo/editors","teams":"https://api.twitch.tv/kraken/channels/randomrambo/teams","videos":"https://api.twitch.tv/kraken/channels/randomrambo/videos"}}}},{"text":"<p>Dion or \"PaperBatVG\", as he's known on his massively popular YouTube channel, is known for his personality and close relationship with his fanbase, the \"Champs\" and \"Champettes\". Watch PaperBat amaze and entertain while playing games here on Twitch!</p>\n\n<br>\n\n\n<p><a href=\"/paperbat\">Click here</a> to watch and chat live!</p>\n\n<p><a href=\"community,%20variety,%20personality\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/paperbat.PNG","title":"PaperBat","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915000016,"game":"Smite","viewers":257,"video_height":1080,"average_fps":59.9634408602,"created_at":"2015-04-08T06:20:51Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_paperbat-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_paperbat-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_paperbat-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_paperbat-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/paperbat"},"channel":{"mature":false,"status":"PBat Live - Grind to Masters","broadcaster_language":"en","display_name":"PaperBat","game":"Smite","delay":0,"language":"en","_id":8880462,"name":"paperbat","created_at":"2009-10-27T22:32:46Z","updated_at":"2015-04-08T07:17:19Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/paperbat-profile_image-03c05c9364c96475-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/paperbat-channel_header_image-70c13dec2e7df7ad-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/paperbat-channel_offline_image-c3ca4c257b47cb7b-640x360.jpeg","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/paperbat","views":8427917,"followers":65382,"_links":{"self":"https://api.twitch.tv/kraken/channels/paperbat","follows":"https://api.twitch.tv/kraken/channels/paperbat/follows","commercial":"https://api.twitch.tv/kraken/channels/paperbat/commercial","stream_key":"https://api.twitch.tv/kraken/channels/paperbat/stream_key","chat":"https://api.twitch.tv/kraken/chat/paperbat","features":"https://api.twitch.tv/kraken/channels/paperbat/features","subscriptions":"https://api.twitch.tv/kraken/channels/paperbat/subscriptions","editors":"https://api.twitch.tv/kraken/channels/paperbat/editors","teams":"https://api.twitch.tv/kraken/channels/paperbat/teams","videos":"https://api.twitch.tv/kraken/channels/paperbat/videos"}}}},{"text":"<p>Best support NA Aphromoo is here to help! Counter Logic Gaming's super support is back in action; Rush Hour is in full effect!</p>\n\n<br>\n\n\n<p><a href=\"/aphromoo\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/AphroThumb1.jpg","title":"CLG Aphromoo","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915305680,"game":"League of Legends","viewers":645,"video_height":1080,"average_fps":24.9638554217,"created_at":"2015-04-08T07:16:57Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_aphromoo-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_aphromoo-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_aphromoo-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_aphromoo-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/aphromoo"},"channel":{"mature":false,"status":"CLG aphromoo - duoq Sneaky","broadcaster_language":"en","display_name":"Aphromoo","game":"League of Legends","delay":0,"language":"en","_id":21673391,"name":"aphromoo","created_at":"2011-04-12T09:47:09Z","updated_at":"2015-04-08T07:21:24Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/aphromoo-profile_image-69fa0fbba2928bcf-300x300.png","banner":null,"video_banner":null,"background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/aphromoo","views":48040436,"followers":299873,"_links":{"self":"https://api.twitch.tv/kraken/channels/aphromoo","follows":"https://api.twitch.tv/kraken/channels/aphromoo/follows","commercial":"https://api.twitch.tv/kraken/channels/aphromoo/commercial","stream_key":"https://api.twitch.tv/kraken/channels/aphromoo/stream_key","chat":"https://api.twitch.tv/kraken/chat/aphromoo","features":"https://api.twitch.tv/kraken/channels/aphromoo/features","subscriptions":"https://api.twitch.tv/kraken/channels/aphromoo/subscriptions","editors":"https://api.twitch.tv/kraken/channels/aphromoo/editors","teams":"https://api.twitch.tv/kraken/channels/aphromoo/teams","videos":"https://api.twitch.tv/kraken/channels/aphromoo/videos"}}}},{"text":"<p>Bacon Donut is a high-engery caster who focuses on creating a positive community and staying highly interactive. Monday through Friday you can find him here playing Minecraft and other interactive games, giving high fives, and generally making a fool of himself.</p>\n\n<br>\n\n\n<p><a href=\"/bacon_donut\">Stop in and say hi!</a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/bacon_donut_thumb.png","title":"Bacon Donut, the tastiest gamer","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13913001584,"game":"Minecraft","viewers":4414,"video_height":720,"average_fps":59.9655685441,"created_at":"2015-04-08T02:11:25Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_bacon_donut-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_bacon_donut-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_bacon_donut-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_bacon_donut-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/bacon_donut"},"channel":{"mature":false,"status":"[Bacon] Derps And Failures! FTB Infinity Single Player! ~~ #N3RDFUSION","broadcaster_language":"en","display_name":"Bacon_Donut","game":"Minecraft","delay":0,"language":"en","_id":36155872,"name":"bacon_donut","created_at":"2012-09-13T22:11:28Z","updated_at":"2015-04-08T07:17:00Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/bacon_donut-profile_image-a5dfd38ea4dc331c-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/bacon_donut-channel_header_image-85809e3381b9380b-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/bacon_donut-channel_offline_image-c8747ebe7fe7e4f8-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/bacon_donut-profile_banner-b4376e703de7e67b-480.jpeg","profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/bacon_donut","views":14111019,"followers":361821,"_links":{"self":"https://api.twitch.tv/kraken/channels/bacon_donut","follows":"https://api.twitch.tv/kraken/channels/bacon_donut/follows","commercial":"https://api.twitch.tv/kraken/channels/bacon_donut/commercial","stream_key":"https://api.twitch.tv/kraken/channels/bacon_donut/stream_key","chat":"https://api.twitch.tv/kraken/chat/bacon_donut","features":"https://api.twitch.tv/kraken/channels/bacon_donut/features","subscriptions":"https://api.twitch.tv/kraken/channels/bacon_donut/subscriptions","editors":"https://api.twitch.tv/kraken/channels/bacon_donut/editors","teams":"https://api.twitch.tv/kraken/channels/bacon_donut/teams","videos":"https://api.twitch.tv/kraken/channels/bacon_donut/videos"}}}},{"text":"<p>GassyMexican devleoped a very early passion for games that only grew as he became older. Known for his beard, voice(s), and ability to entertain through general shenanigans...you'll find plenty of gaming variety and hilarity here. Come join the fun!</p>\n\n<br>\n\n\n<p>Watch Gassy drop some beats by <a href=\"/Gassymexican\">clicking here!</a></p>\n\n<p><a href=\"personality,%20variety,%20community,%20player\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/175px-Gassy.png","title":"Gassy Plays","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915046976,"game":"Bloodborne","viewers":3177,"video_height":720,"average_fps":59.8986402967,"created_at":"2015-04-08T06:29:08Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_gassymexican-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_gassymexican-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_gassymexican-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_gassymexican-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/gassymexican"},"channel":{"mature":true,"status":"BORNE OF BLOOD! w/ FRANDS! - Journey To 500k Followers!","broadcaster_language":"en","display_name":"GassyMexican","game":"Bloodborne","delay":0,"language":"en","_id":23057278,"name":"gassymexican","created_at":"2011-06-21T04:23:36Z","updated_at":"2015-04-08T07:17:17Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/gassymexican-profile_image-e38e01ca5ae42aaa-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/gassymexican-channel_header_image-74e17e97295e1c39-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/gassymexican-channel_offline_image-46b494939ba0848a-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/gassymexican-profile_banner-a32713e66f79de94-480.jpeg","profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/gassymexican","views":11707987,"followers":460743,"_links":{"self":"https://api.twitch.tv/kraken/channels/gassymexican","follows":"https://api.twitch.tv/kraken/channels/gassymexican/follows","commercial":"https://api.twitch.tv/kraken/channels/gassymexican/commercial","stream_key":"https://api.twitch.tv/kraken/channels/gassymexican/stream_key","chat":"https://api.twitch.tv/kraken/chat/gassymexican","features":"https://api.twitch.tv/kraken/channels/gassymexican/features","subscriptions":"https://api.twitch.tv/kraken/channels/gassymexican/subscriptions","editors":"https://api.twitch.tv/kraken/channels/gassymexican/editors","teams":"https://api.twitch.tv/kraken/channels/gassymexican/teams","videos":"https://api.twitch.tv/kraken/channels/gassymexican/videos"}}}},{"text":"<p>Hi I'm witwix, I do speedruns, I do not speedruns, I do all sorts of stuff, come on in for some tasty entertainment and hot gaming. The main games you'll see on my channel are I wanna be the Boshy and Mario 64. I also play new releases and whatever I feel like toward the end of the night, come stop by and say hi!</p>\n\n<br>\n\n\n<p><a href=\"/witwix\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/witwix_thumbnail.png","title":"Witwix","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13910658800,"game":"Super Mario 64","viewers":2883,"video_height":1080,"average_fps":29.9837197187,"created_at":"2015-04-07T22:53:23Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_witwix-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_witwix-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_witwix-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_witwix-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/witwix"},"channel":{"mature":true,"status":"~**~70 Star~**~ -","broadcaster_language":"en","display_name":"witwix","game":"Super Mario 64","delay":0,"language":"en","_id":11558942,"name":"witwix","created_at":"2010-04-03T03:29:12Z","updated_at":"2015-04-08T06:49:23Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/witwix-profile_image-b43ed5c3200c71b4-300x300.png","banner":null,"video_banner":null,"background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/witwix","views":3936961,"followers":88511,"_links":{"self":"https://api.twitch.tv/kraken/channels/witwix","follows":"https://api.twitch.tv/kraken/channels/witwix/follows","commercial":"https://api.twitch.tv/kraken/channels/witwix/commercial","stream_key":"https://api.twitch.tv/kraken/channels/witwix/stream_key","chat":"https://api.twitch.tv/kraken/chat/witwix","features":"https://api.twitch.tv/kraken/channels/witwix/features","subscriptions":"https://api.twitch.tv/kraken/channels/witwix/subscriptions","editors":"https://api.twitch.tv/kraken/channels/witwix/editors","teams":"https://api.twitch.tv/kraken/channels/witwix/teams","videos":"https://api.twitch.tv/kraken/channels/witwix/videos"}}}},{"text":"<p>Michael \"shroud\" Grzesiek is a top-tier professional Counter-Strike player for Cloud9. His inhuman accuracy makes him one of the most well-known players in the scene and even more fun to spectate. Come watch how the best in the world play CS:GO, CS 1.6 and more!</p>\n\n<br>\n\n\n<p><a href=\"/meclipse\">Click here</a> to watch and chat live!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/shroud twitch thumbnail.jpg","title":"C9.Shroud","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915207856,"game":"Counter-Strike: Global Offensive","viewers":3868,"video_height":720,"average_fps":59.9211267606,"created_at":"2015-04-08T06:59:18Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_meclipse-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_meclipse-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_meclipse-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_meclipse-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/meclipse"},"channel":{"mature":true,"status":"Road to 300k Followz. ESEA MM!? | Follow @c9shroud","broadcaster_language":"en","display_name":"mEclipse","game":"Counter-Strike: Global Offensive","delay":0,"language":"en","_id":37402112,"name":"meclipse","created_at":"2012-11-03T15:50:32Z","updated_at":"2015-04-08T07:16:22Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/meclipse-profile_image-0373ffcdea347024-300x300.jpeg","banner":null,"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/meclipse-channel_offline_image-03771f490bdaab14-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/meclipse","views":14623159,"followers":294741,"_links":{"self":"https://api.twitch.tv/kraken/channels/meclipse","follows":"https://api.twitch.tv/kraken/channels/meclipse/follows","commercial":"https://api.twitch.tv/kraken/channels/meclipse/commercial","stream_key":"https://api.twitch.tv/kraken/channels/meclipse/stream_key","chat":"https://api.twitch.tv/kraken/chat/meclipse","features":"https://api.twitch.tv/kraken/channels/meclipse/features","subscriptions":"https://api.twitch.tv/kraken/channels/meclipse/subscriptions","editors":"https://api.twitch.tv/kraken/channels/meclipse/editors","teams":"https://api.twitch.tv/kraken/channels/meclipse/teams","videos":"https://api.twitch.tv/kraken/channels/meclipse/videos"}}}},{"text":"<p>Welcome, you have stumbled in the stream of Chibi! Here, we like to play interactive games with the stream, such as Mario Kart, Super Smash Bros, Pokemon and more. I also like to speedrun from time to time. And maybe I'll do an impression or two for ya!</p>\n\n<br>\n\n\n<p><a href=\"/chibi\">Click here</a> to watch and chat live!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/CHIBIthumbnail.png","title":"Chibi ","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914914352,"game":"Paper Mario: The Thousand-Year Door","viewers":58,"video_height":864,"average_fps":59.9230769231,"created_at":"2015-04-08T06:06:14Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_chibi-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_chibi-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_chibi-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_chibi-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/chibi"},"channel":{"mature":false,"status":"Late Night Paper Marios! ","broadcaster_language":"en","display_name":"chibi","game":"Paper Mario: The Thousand-Year Door","delay":0,"language":"en","_id":8439338,"name":"chibi","created_at":"2009-09-25T20:37:38Z","updated_at":"2015-04-08T07:16:22Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/chibi-profile_image-beb34b50297253ab-300x300.png","banner":null,"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/chibi-channel_offline_image-84a558cd2b5c0902-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/chibi","views":854555,"followers":19065,"_links":{"self":"https://api.twitch.tv/kraken/channels/chibi","follows":"https://api.twitch.tv/kraken/channels/chibi/follows","commercial":"https://api.twitch.tv/kraken/channels/chibi/commercial","stream_key":"https://api.twitch.tv/kraken/channels/chibi/stream_key","chat":"https://api.twitch.tv/kraken/chat/chibi","features":"https://api.twitch.tv/kraken/channels/chibi/features","subscriptions":"https://api.twitch.tv/kraken/channels/chibi/subscriptions","editors":"https://api.twitch.tv/kraken/channels/chibi/editors","teams":"https://api.twitch.tv/kraken/channels/chibi/teams","videos":"https://api.twitch.tv/kraken/channels/chibi/videos"}}}},{"text":"<p>Nick \"EatMyDiction\" or \"EMD\" for short. Loves video games. He also loves bears. If he had to choose between video games and bears, he'd choose bear video games like Naughty Bear. Join EMD for video games, comedy, and live action content. Also, bears are awesome. Learn it, live it!</p>\n\n<br>\n\n\n<p><a href=\"http://www.twitch.tv/eatmydiction1\">Join EatMyDiction for live video and chat!</a></p>\n\n<p><a href=\"personality,%20community\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/emd_fpthumb_resize_32015.png","title":"EatMyDiction","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914350704,"game":"Bloodborne","viewers":838,"video_height":720,"average_fps":29.9535073409,"created_at":"2015-04-08T04:40:38Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_eatmydiction1-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_eatmydiction1-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_eatmydiction1-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_eatmydiction1-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/eatmydiction1"},"channel":{"mature":true,"status":"Drunkborne","broadcaster_language":"en","display_name":"EatMyDiction1","game":"Bloodborne","delay":0,"language":"en","_id":20553964,"name":"eatmydiction1","created_at":"2011-02-18T22:34:56Z","updated_at":"2015-04-08T07:17:06Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/eatmydiction1-profile_image-3f6f0e213bb185b4-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/eatmydiction1-channel_header_image-c6b72e678c28742e-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/eatmydiction1-channel_offline_image-e87b64ef43dec1c0-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/eatmydiction1-profile_banner-0ddaede39c902097-480.jpeg","profile_banner_background_color":"null","partner":true,"url":"http://www.twitch.tv/eatmydiction1","views":10801796,"followers":243745,"_links":{"self":"https://api.twitch.tv/kraken/channels/eatmydiction1","follows":"https://api.twitch.tv/kraken/channels/eatmydiction1/follows","commercial":"https://api.twitch.tv/kraken/channels/eatmydiction1/commercial","stream_key":"https://api.twitch.tv/kraken/channels/eatmydiction1/stream_key","chat":"https://api.twitch.tv/kraken/chat/eatmydiction1","features":"https://api.twitch.tv/kraken/channels/eatmydiction1/features","subscriptions":"https://api.twitch.tv/kraken/channels/eatmydiction1/subscriptions","editors":"https://api.twitch.tv/kraken/channels/eatmydiction1/editors","teams":"https://api.twitch.tv/kraken/channels/eatmydiction1/teams","videos":"https://api.twitch.tv/kraken/channels/eatmydiction1/videos"}}}},{"text":"<p>QMGSaint is one spicy compadre with a magnetic personality that’ll make you laugh for days. From fighting epic battles to getting slapped in the face with a warm pie, prepare to be entertained while joining one of the coolest communities of casual,hardcore and positive gamers alike.</p>\n\n<br>\n\n\n<p><a href=\"/qmgsaint\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/QMGSaint_front_page_thumbnail.png","title":"QMGSaint Live!","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914089984,"game":"Guild Wars 2","viewers":184,"video_height":720,"average_fps":44.8404494382,"created_at":"2015-04-08T04:07:16Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_qmgsaint-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_qmgsaint-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_qmgsaint-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_qmgsaint-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/qmgsaint"},"channel":{"mature":true,"status":"Guild Wars 2 -  Join us !gw2info Balthazar Outfit Giveaway -  Followed By Wildstar | Wildstar Swag Giveaways Tonight  |  ESO Friday","broadcaster_language":"en","display_name":"QMGSaint","game":"Guild Wars 2","delay":0,"language":"en","_id":30850104,"name":"qmgsaint","created_at":"2012-05-27T15:01:57Z","updated_at":"2015-04-08T07:16:12Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/qmgsaint-profile_image-50133f8064997e33-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/qmgsaint-channel_header_image-ee7fd0cfef09384d-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/qmgsaint-channel_offline_image-f7d557cc4d41e720-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/qmgsaint-profile_banner-b8a3fb2472c34027-480.png","profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/qmgsaint","views":1036151,"followers":23323,"_links":{"self":"https://api.twitch.tv/kraken/channels/qmgsaint","follows":"https://api.twitch.tv/kraken/channels/qmgsaint/follows","commercial":"https://api.twitch.tv/kraken/channels/qmgsaint/commercial","stream_key":"https://api.twitch.tv/kraken/channels/qmgsaint/stream_key","chat":"https://api.twitch.tv/kraken/chat/qmgsaint","features":"https://api.twitch.tv/kraken/channels/qmgsaint/features","subscriptions":"https://api.twitch.tv/kraken/channels/qmgsaint/subscriptions","editors":"https://api.twitch.tv/kraken/channels/qmgsaint/editors","teams":"https://api.twitch.tv/kraken/channels/qmgsaint/teams","videos":"https://api.twitch.tv/kraken/channels/qmgsaint/videos"}}}},{"text":"<p>FerretBomb is a late-night (US) variety caster featuring some of the best\n(and worst) games out there, with an emphasis on story-driven games and\nchat interaction in a comfortable, mature environment. Ferret is also\nbest-known as one of the top Payday 2 streamers on Twitch. So pull up a\nspot on the giant virtual couch on the internet, relax, and enjoy the show!</p>\n\n<br>\n\n\n<p><a href=\"/ferretbomb\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/ferretbomb_fpthumb_102014.png","title":"FerretBomb","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914566912,"game":"Assassin's Creed: Brotherhood","viewers":246,"video_height":720,"average_fps":29.9094025465,"created_at":"2015-04-08T05:11:31Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_ferretbomb-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_ferretbomb-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_ferretbomb-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_ferretbomb-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/ferretbomb"},"channel":{"mature":true,"status":"AC: Brotherhood - Assassin April","broadcaster_language":"en","display_name":"FerretBomb","game":"Assassin's Creed: Brotherhood","delay":0,"language":"en","_id":32364343,"name":"ferretbomb","created_at":"2012-07-23T10:43:42Z","updated_at":"2015-04-08T07:16:35Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/ferretbomb-profile_image-456daef7203ad8ed-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/ferretbomb-channel_header_image-9b63dccc3f409e54-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/ferretbomb-channel_offline_image-5487a7f85d3475b3-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/ferretbomb","views":1306724,"followers":28790,"_links":{"self":"https://api.twitch.tv/kraken/channels/ferretbomb","follows":"https://api.twitch.tv/kraken/channels/ferretbomb/follows","commercial":"https://api.twitch.tv/kraken/channels/ferretbomb/commercial","stream_key":"https://api.twitch.tv/kraken/channels/ferretbomb/stream_key","chat":"https://api.twitch.tv/kraken/chat/ferretbomb","features":"https://api.twitch.tv/kraken/channels/ferretbomb/features","subscriptions":"https://api.twitch.tv/kraken/channels/ferretbomb/subscriptions","editors":"https://api.twitch.tv/kraken/channels/ferretbomb/editors","teams":"https://api.twitch.tv/kraken/channels/ferretbomb/teams","videos":"https://api.twitch.tv/kraken/channels/ferretbomb/videos"}}}},{"text":"<p>Crumps barely sleeps, and plays ALL form of games from RPGs to Sports, and hosts BOILeR - Binding of Isaac Racing League (returning when Rebirth releases).<br/>\nIf you're lucky, Spaz will show up and claim you as a minion! Come join the fun, and maybe signup for a Monthly BOILeR race!</p>\n\n<br>\n\n\n<p>Watch Crumps live by <a href=\"/crumps2\">clicking here!</a></p>\n\n<p><a href=\"personality,%20variety\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/crumps_frontpage_2.jpg","title":"Crumps","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914407168,"game":"Ni no Kuni: Wrath of the White Witch","viewers":703,"video_height":720,"average_fps":59.9646246764,"created_at":"2015-04-08T04:48:46Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_crumps2-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_crumps2-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_crumps2-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_crumps2-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/crumps2"},"channel":{"mature":true,"status":"(1am -11am EST W-Sun) Ni No Kuni","broadcaster_language":"en","display_name":"Crumps2","game":"Ni no Kuni: Wrath of the White Witch","delay":0,"language":"en","_id":19107317,"name":"crumps2","created_at":"2010-12-29T22:02:50Z","updated_at":"2015-04-08T07:16:16Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/crumps2-profile_image-40d32b958f59a0c5-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/crumps2-channel_header_image-179492208618be7a-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/crumps2-channel_offline_image-2fac52e223148bd1-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/crumps2-profile_banner-2ccbe7d1eb2197fb-480.png","profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/crumps2","views":9125165,"followers":76592,"_links":{"self":"https://api.twitch.tv/kraken/channels/crumps2","follows":"https://api.twitch.tv/kraken/channels/crumps2/follows","commercial":"https://api.twitch.tv/kraken/channels/crumps2/commercial","stream_key":"https://api.twitch.tv/kraken/channels/crumps2/stream_key","chat":"https://api.twitch.tv/kraken/chat/crumps2","features":"https://api.twitch.tv/kraken/channels/crumps2/features","subscriptions":"https://api.twitch.tv/kraken/channels/crumps2/subscriptions","editors":"https://api.twitch.tv/kraken/channels/crumps2/editors","teams":"https://api.twitch.tv/kraken/channels/crumps2/teams","videos":"https://api.twitch.tv/kraken/channels/crumps2/videos"}}}},{"text":"<p>SimCopter1 is a methodical and inviting member of the Twitch community who values positivity and learning above all else. “Sim” provides refreshing strategic perspective with a calm and welcoming demeanor. His warmth and relatability has inspired a community dedicated to spreading positive vibes while improving personal gaming skills. The best part is: You're invited!</p>\n\n<br>\n\n\n<p><a href=\"/simcopter1\">Click here</a> to watch and chat live!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/Sim_2_140x78.jpg","title":"SimCopter1","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914093632,"game":"Cities: Skylines","viewers":707,"video_height":720,"average_fps":29.7959044369,"created_at":"2015-04-08T04:07:40Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_simcopter1-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_simcopter1-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_simcopter1-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_simcopter1-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/simcopter1"},"channel":{"mature":false,"status":"Interactive and Methodical Community Planning!","broadcaster_language":"en","display_name":"SimCopter1","game":"Cities: Skylines","delay":0,"language":"en","_id":60216187,"name":"simcopter1","created_at":"2014-04-05T03:37:48Z","updated_at":"2015-04-08T07:16:18Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/simcopter1-profile_image-4194a6dbb40ad85e-300x300.png","banner":null,"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/simcopter1-channel_offline_image-8d02d172d735f512-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/simcopter1-profile_banner-f3d44df9d190bbee-480.jpeg","profile_banner_background_color":"#c6d9e0","partner":true,"url":"http://www.twitch.tv/simcopter1","views":953197,"followers":14285,"_links":{"self":"https://api.twitch.tv/kraken/channels/simcopter1","follows":"https://api.twitch.tv/kraken/channels/simcopter1/follows","commercial":"https://api.twitch.tv/kraken/channels/simcopter1/commercial","stream_key":"https://api.twitch.tv/kraken/channels/simcopter1/stream_key","chat":"https://api.twitch.tv/kraken/chat/simcopter1","features":"https://api.twitch.tv/kraken/channels/simcopter1/features","subscriptions":"https://api.twitch.tv/kraken/channels/simcopter1/subscriptions","editors":"https://api.twitch.tv/kraken/channels/simcopter1/editors","teams":"https://api.twitch.tv/kraken/channels/simcopter1/teams","videos":"https://api.twitch.tv/kraken/channels/simcopter1/videos"}}}},{"text":"<p>Protech is a top rated 1v1 and 2v2 SC2 player. Enjoy watching solo Q, playing random team and random race</p>\n\n<br>\n\n\n<p><a href=\"/protech\">Click here</a> to watch and chat live!</p>\n\n<p><a href=\"pro,%20esports,%20sc2\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/5479ab05831cb46286239055af5b5cb1.png","title":"Protech - Top Rated SC2 2v2s","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13906237232,"game":"Diablo III: Reaper of Souls","viewers":223,"video_height":720,"average_fps":59.9646178093,"created_at":"2015-04-07T17:25:57Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_protech-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_protech-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_protech-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_protech-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/protech"},"channel":{"mature":true,"status":"New Tal set testing w/ @ProTechSC2","broadcaster_language":"en","display_name":"ProTech","game":"Diablo III: Reaper of Souls","delay":0,"language":"en","_id":21124554,"name":"protech","created_at":"2011-03-14T10:46:33Z","updated_at":"2015-04-08T07:17:34Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/protech-profile_image-ae28b8748d875878-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/protech-channel_header_image-0690de35cb470858-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/protech-channel_offline_image-fd35c2182fdfe670-640x360.jpeg","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/protech-profile_banner-c76b4681b7c554ea-480.jpeg","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/protech","views":25495729,"followers":20939,"_links":{"self":"https://api.twitch.tv/kraken/channels/protech","follows":"https://api.twitch.tv/kraken/channels/protech/follows","commercial":"https://api.twitch.tv/kraken/channels/protech/commercial","stream_key":"https://api.twitch.tv/kraken/channels/protech/stream_key","chat":"https://api.twitch.tv/kraken/chat/protech","features":"https://api.twitch.tv/kraken/channels/protech/features","subscriptions":"https://api.twitch.tv/kraken/channels/protech/subscriptions","editors":"https://api.twitch.tv/kraken/channels/protech/editors","teams":"https://api.twitch.tv/kraken/channels/protech/teams","videos":"https://api.twitch.tv/kraken/channels/protech/videos"}}}},{"text":"<p>Todd \"anger\" Williams is an American professional Counter-Strike player. He currently plays for Team Luminosity and has competed internationally against the greatest players in the world.</p>\n\n<br>\n\n\n<p><a href=\"/angercss\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/mythic_anger_fpthumb_22015.png","title":"Luminosity Anger","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914615136,"game":"Counter-Strike: Global Offensive","viewers":232,"video_height":720,"average_fps":59.9603217158,"created_at":"2015-04-08T05:18:39Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_angercss-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_angercss-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_angercss-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_angercss-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/angercss"},"channel":{"mature":false,"status":"Luminosity anger ","broadcaster_language":"en","display_name":"Angercss","game":"Counter-Strike: Global Offensive","delay":0,"language":"en","_id":23872010,"name":"angercss","created_at":"2011-08-05T10:56:21Z","updated_at":"2015-04-08T07:17:41Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/angercss-profile_image-fbf4fc70da0ae779-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/angercss-channel_header_image-056ea86cd34974bd-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/angercss-channel_offline_image-0fcd4dc3db368eee-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/angercss-profile_banner-fbdfc190a06975a9-480.png","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/angercss","views":1087392,"followers":23231,"_links":{"self":"https://api.twitch.tv/kraken/channels/angercss","follows":"https://api.twitch.tv/kraken/channels/angercss/follows","commercial":"https://api.twitch.tv/kraken/channels/angercss/commercial","stream_key":"https://api.twitch.tv/kraken/channels/angercss/stream_key","chat":"https://api.twitch.tv/kraken/chat/angercss","features":"https://api.twitch.tv/kraken/channels/angercss/features","subscriptions":"https://api.twitch.tv/kraken/channels/angercss/subscriptions","editors":"https://api.twitch.tv/kraken/channels/angercss/editors","teams":"https://api.twitch.tv/kraken/channels/angercss/teams","videos":"https://api.twitch.tv/kraken/channels/angercss/videos"}}}},{"text":"<p>A Captain is only as good as his crew”, is the motto of this channel where a friendly and helpful Community is Number One. Driven with a personality made up from Dyslexia, and ADHD, Burke brings hilarity and fun to every cast, from PvP, Multiplayer, Giveaways, Challenges, and Story Driven Games, all with a Family Friendly Atmosphere all can enjoy.</p>\n\n<br>\n\n\n<p><a href=\"/burkeblack\">Join the Pirates for one crazy filled adventure after another every night starting at 10pm EST.</a></p>\n\n<br>\n\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/burkeblack.png","title":"Burke Black","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13912939728,"game":"Tom Clancy's Rainbow Six: Siege","viewers":292,"video_height":720,"average_fps":29.881010101,"created_at":"2015-04-08T02:05:57Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_burkeblack-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_burkeblack-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_burkeblack-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_burkeblack-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/burkeblack"},"channel":{"mature":true,"status":"☠ Adventure Begins... ☠ Pirates Set Sail ☠ !twlc","broadcaster_language":"en","display_name":"BurkeBlack","game":"Tom Clancy's Rainbow Six: Siege","delay":0,"language":"en","_id":44338537,"name":"burkeblack","created_at":"2013-06-04T07:39:15Z","updated_at":"2015-04-08T07:15:54Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/burkeblack-profile_image-befe1e5340f3d16e-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/burkeblack-channel_header_image-89c689b6c008023b-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/burkeblack-channel_offline_image-b02f8f7716e0c09b-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/burkeblack-profile_banner-0b31a1fed7878ed7-480.png","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/burkeblack","views":812604,"followers":19270,"_links":{"self":"https://api.twitch.tv/kraken/channels/burkeblack","follows":"https://api.twitch.tv/kraken/channels/burkeblack/follows","commercial":"https://api.twitch.tv/kraken/channels/burkeblack/commercial","stream_key":"https://api.twitch.tv/kraken/channels/burkeblack/stream_key","chat":"https://api.twitch.tv/kraken/chat/burkeblack","features":"https://api.twitch.tv/kraken/channels/burkeblack/features","subscriptions":"https://api.twitch.tv/kraken/channels/burkeblack/subscriptions","editors":"https://api.twitch.tv/kraken/channels/burkeblack/editors","teams":"https://api.twitch.tv/kraken/channels/burkeblack/teams","videos":"https://api.twitch.tv/kraken/channels/burkeblack/videos"}}}},{"text":"<p>Born 24 years ago without hands or feet, Handi has been playing Counter-Strike for 14 years. Feel free to join and ask questions, but keep it mature and appropriate. Streaming (mostly) daily from 6PM-midnight PST.</p>\n\n<br>\n\n\n<p><a href=\"/therealhandi\">Click here</a> to watch and chat live!</p>\n\n<p><a href=\"player,%20personality\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/NOnfKrL.png","title":"theREALhandi","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915320864,"game":"Counter-Strike: Global Offensive","viewers":167,"video_height":540,"average_fps":59.4473684211,"created_at":"2015-04-08T07:20:02Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_therealhandi-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_therealhandi-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_therealhandi-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_therealhandi-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/therealhandi"},"channel":{"mature":true,"status":"today's made up word: boxmatician","broadcaster_language":"en","display_name":"theREALhandi","game":"Counter-Strike: Global Offensive","delay":0,"language":"en","_id":44298270,"name":"therealhandi","created_at":"2013-06-02T23:27:07Z","updated_at":"2015-04-08T07:20:43Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/therealhandi-profile_image-57dee02d367bc06b-300x300.jpeg","banner":null,"video_banner":null,"background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/therealhandi-profile_banner-6415cbd8668c7bd5-480.jpeg","profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/therealhandi","views":5382701,"followers":77135,"_links":{"self":"https://api.twitch.tv/kraken/channels/therealhandi","follows":"https://api.twitch.tv/kraken/channels/therealhandi/follows","commercial":"https://api.twitch.tv/kraken/channels/therealhandi/commercial","stream_key":"https://api.twitch.tv/kraken/channels/therealhandi/stream_key","chat":"https://api.twitch.tv/kraken/chat/therealhandi","features":"https://api.twitch.tv/kraken/channels/therealhandi/features","subscriptions":"https://api.twitch.tv/kraken/channels/therealhandi/subscriptions","editors":"https://api.twitch.tv/kraken/channels/therealhandi/editors","teams":"https://api.twitch.tv/kraken/channels/therealhandi/teams","videos":"https://api.twitch.tv/kraken/channels/therealhandi/videos"}}}},{"text":"<p>Blame The Controller is broadcaster who provides entertaining livestreams on a variety of games including DotA 2 and Minecraft (where he often streams from the Mindcrack Server), plus many more exciting game titles. Come on by and hang out!</p>\n\n<br>\n\n\n<p><a href=\"/blamethecontroller\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/blamethecontroller.png","title":"Because It's Never Your Fault...","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13911995056,"game":"Counter-Strike: Global Offensive","viewers":111,"video_height":720,"average_fps":59.3729703133,"created_at":"2015-04-08T00:45:05Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_blamethecontroller-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_blamethecontroller-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_blamethecontroller-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_blamethecontroller-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/blamethecontroller"},"channel":{"mature":true,"status":"[English]  Competitive Matches  - @BlameTC -- youtube.com/BlameTheController","broadcaster_language":"en","display_name":"BlameTheController","game":"Counter-Strike: Global Offensive","delay":0,"language":"en","_id":24822468,"name":"blamethecontroller","created_at":"2011-09-15T01:34:52Z","updated_at":"2015-04-08T07:16:04Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/blamethecontroller-profile_image-3281a90ff8f0651a-300x300.png","banner":null,"video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/blamethecontroller-channel_offline_image-031638f4694fa46d-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/blamethecontroller-profile_banner-9b78b8946c46a9af-480.png","profile_banner_background_color":"null","partner":true,"url":"http://www.twitch.tv/blamethecontroller","views":1432497,"followers":91360,"_links":{"self":"https://api.twitch.tv/kraken/channels/blamethecontroller","follows":"https://api.twitch.tv/kraken/channels/blamethecontroller/follows","commercial":"https://api.twitch.tv/kraken/channels/blamethecontroller/commercial","stream_key":"https://api.twitch.tv/kraken/channels/blamethecontroller/stream_key","chat":"https://api.twitch.tv/kraken/chat/blamethecontroller","features":"https://api.twitch.tv/kraken/channels/blamethecontroller/features","subscriptions":"https://api.twitch.tv/kraken/channels/blamethecontroller/subscriptions","editors":"https://api.twitch.tv/kraken/channels/blamethecontroller/editors","teams":"https://api.twitch.tv/kraken/channels/blamethecontroller/teams","videos":"https://api.twitch.tv/kraken/channels/blamethecontroller/videos"}}}},{"text":"<p>Straymav is a broadcaster who is easily recognized by his focus on chat interactivity and community. Straymav is primarily known for minecraft,  but he's also known to play indie games and AAA titles especially on release day. Live 7 days a week!</p>\n\n<br>\n\n\n<p><a href=\"/straymav\">Click here to watch and chat live!</a></p>\n\n<p><a href=\"minecraft,%20variety,%20personality\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/xZWuJVV.jpg","title":"Straymav!","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13914032496,"game":"Minecraft","viewers":536,"video_height":1080,"average_fps":29.9309338521,"created_at":"2015-04-08T04:00:50Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_straymav-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_straymav-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_straymav-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_straymav-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/straymav"},"channel":{"mature":false,"status":"Hardcore Ofida - !giveaways !lucky blocks - Modded Minecraft  http://ctt.ec/lvx5I","broadcaster_language":"en","display_name":"StrayMav","game":"Minecraft","delay":0,"language":"en","_id":35091336,"name":"straymav","created_at":"2012-08-19T12:16:44Z","updated_at":"2015-04-08T07:16:15Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/straymav-profile_image-efb38be2c838900b-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/straymav-channel_header_image-87b37fe7bad4e500-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/straymav-channel_offline_image-ee71602813afb580-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/straymav","views":7662199,"followers":83362,"_links":{"self":"https://api.twitch.tv/kraken/channels/straymav","follows":"https://api.twitch.tv/kraken/channels/straymav/follows","commercial":"https://api.twitch.tv/kraken/channels/straymav/commercial","stream_key":"https://api.twitch.tv/kraken/channels/straymav/stream_key","chat":"https://api.twitch.tv/kraken/chat/straymav","features":"https://api.twitch.tv/kraken/channels/straymav/features","subscriptions":"https://api.twitch.tv/kraken/channels/straymav/subscriptions","editors":"https://api.twitch.tv/kraken/channels/straymav/editors","teams":"https://api.twitch.tv/kraken/channels/straymav/teams","videos":"https://api.twitch.tv/kraken/channels/straymav/videos"}}}},{"text":"<p>PJS Winning is a broadcaster representing the fighting game community. We stream 24/7 open lobbies of the hottest and most competitive fighting games. Not only do you the viewer get the chance to watch your favorite players fight it out, but also you get the opportunity to play against them online.</p>\n\n<br>\n\n\n<p>Join in and watch the online warriors duke it out by <a href=\"/pjs_winning\">clicking here</a> to watch and chat live!</p>\n\n<p><a href=\"community,%20esports,%20fgc\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/PJfrontpagev1.jpg","title":"PJS Winning 24/7","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13814131616,"game":"Under Night In-Birth","viewers":21,"video_height":720,"average_fps":29.9690296294,"created_at":"2015-04-01T03:57:23Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_pjs_winning-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_pjs_winning-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_pjs_winning-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_pjs_winning-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/pjs_winning"},"channel":{"mature":false,"status":"Uniel @PJSWinning [Room: PJSWinning.com]","broadcaster_language":"en","display_name":"PJS_Winning","game":"Under Night In-Birth","delay":0,"language":"en","_id":26209197,"name":"pjs_winning","created_at":"2011-11-18T05:17:28Z","updated_at":"2015-04-08T07:15:57Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/pjs_winning-profile_image-59931aa32125f350-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/pjs_winning-channel_header_image-910e64f71ccc5a63-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/pjs_winning-channel_offline_image-2e965ab5ead56e9d-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/pjs_winning-profile_banner-5862f74b30a79092-480.jpeg","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/pjs_winning","views":11595282,"followers":15787,"_links":{"self":"https://api.twitch.tv/kraken/channels/pjs_winning","follows":"https://api.twitch.tv/kraken/channels/pjs_winning/follows","commercial":"https://api.twitch.tv/kraken/channels/pjs_winning/commercial","stream_key":"https://api.twitch.tv/kraken/channels/pjs_winning/stream_key","chat":"https://api.twitch.tv/kraken/chat/pjs_winning","features":"https://api.twitch.tv/kraken/channels/pjs_winning/features","subscriptions":"https://api.twitch.tv/kraken/channels/pjs_winning/subscriptions","editors":"https://api.twitch.tv/kraken/channels/pjs_winning/editors","teams":"https://api.twitch.tv/kraken/channels/pjs_winning/teams","videos":"https://api.twitch.tv/kraken/channels/pjs_winning/videos"}}}},{"text":"<p>If there was one phrase to describe Serious Gaming, it would be \"production value.\" Victoria and Alan always go the extra mile to entertain and engage their viewers with an interactive gaming community, playing the newest releases, creative cosplays, and so much more!</p>\n\n<br>\n\n\n<p><a href=\"/seriousgaming\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/seriousgaming_fpthumb.png","title":"Serious Gaming","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13909723536,"game":"H1Z1","viewers":613,"video_height":1080,"average_fps":29.9895371318,"created_at":"2015-04-07T21:37:55Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_seriousgaming-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_seriousgaming-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_seriousgaming-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_seriousgaming-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/seriousgaming"},"channel":{"mature":true,"status":"turned the f up tuesday","broadcaster_language":"en","display_name":"SeriousGaming","game":"H1Z1","delay":0,"language":"en","_id":10180554,"name":"seriousgaming","created_at":"2010-01-26T02:22:47Z","updated_at":"2015-04-08T07:16:15Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/seriousgaming-profile_image-53e5e4c40b5b084d-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/seriousgaming-channel_header_image-1d32c74e7b4a3069-640x125.png","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/seriousgaming-channel_offline_image-348182f7faf72988-640x360.png","background":null,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/seriousgaming-profile_banner-62329dc41bd94568-480.png","profile_banner_background_color":"#000000","partner":true,"url":"http://www.twitch.tv/seriousgaming","views":25659005,"followers":165500,"_links":{"self":"https://api.twitch.tv/kraken/channels/seriousgaming","follows":"https://api.twitch.tv/kraken/channels/seriousgaming/follows","commercial":"https://api.twitch.tv/kraken/channels/seriousgaming/commercial","stream_key":"https://api.twitch.tv/kraken/channels/seriousgaming/stream_key","chat":"https://api.twitch.tv/kraken/chat/seriousgaming","features":"https://api.twitch.tv/kraken/channels/seriousgaming/features","subscriptions":"https://api.twitch.tv/kraken/channels/seriousgaming/subscriptions","editors":"https://api.twitch.tv/kraken/channels/seriousgaming/editors","teams":"https://api.twitch.tv/kraken/channels/seriousgaming/teams","videos":"https://api.twitch.tv/kraken/channels/seriousgaming/videos"}}}},{"text":"<p>An <a href=\"https://soundcloud.com/phathome666/pieyo\">avid singer</a>,  Showcase Race Host, and Vice President of <a href=\"http://letsplayslive.net\">LetsPlaysLive</a>, \"Clutch Daddy\" Iateyourpie blindly plays through a huge variety of games- and maybe does a few speedruns of SMRPG and Old School Runescape Lobster Fishing Any%. He holds the WR (Wisconsin Record) in Paper Mario. His friends call him \"iate\".</p>\n\n<br>\n\n\n<p><a href=\"http://letsplayslive.net\">Click here</a> to watch and laugh!</p>\n\n<p><a href=\"speedrunner,%20personality\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/Iateyourpie FP Thumbnail (Normal).png","title":"Iateyourpie","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13912780704,"game":"RuneScape","viewers":562,"video_height":540,"average_fps":29.9987866532,"created_at":"2015-04-08T01:51:42Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_iateyourpie-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_iateyourpie-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_iateyourpie-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_iateyourpie-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/iateyourpie"},"channel":{"mature":false,"status":"Permadeath Ironman Quest Challenge 64/127 pieStreamBIG ","broadcaster_language":"en","display_name":"iateyourpie","game":"RuneScape","delay":0,"language":"en","_id":27787567,"name":"iateyourpie","created_at":"2012-01-27T23:33:10Z","updated_at":"2015-04-08T07:17:38Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/iateyourpie-profile_image-c6e9804dd1b1dd35-300x300.png","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/iateyourpie-channel_header_image-b9a3f4daddd9f894-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/iateyourpie-channel_offline_image-c78411bb67a03a11-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/iateyourpie","views":6422770,"followers":37404,"_links":{"self":"https://api.twitch.tv/kraken/channels/iateyourpie","follows":"https://api.twitch.tv/kraken/channels/iateyourpie/follows","commercial":"https://api.twitch.tv/kraken/channels/iateyourpie/commercial","stream_key":"https://api.twitch.tv/kraken/channels/iateyourpie/stream_key","chat":"https://api.twitch.tv/kraken/chat/iateyourpie","features":"https://api.twitch.tv/kraken/channels/iateyourpie/features","subscriptions":"https://api.twitch.tv/kraken/channels/iateyourpie/subscriptions","editors":"https://api.twitch.tv/kraken/channels/iateyourpie/editors","teams":"https://api.twitch.tv/kraken/channels/iateyourpie/teams","videos":"https://api.twitch.tv/kraken/channels/iateyourpie/videos"}}}},{"text":"<p>MCast is a community-focused, interactive gaming channel where we analyze high-level strategy games and how they apply to real life self improvement. The cast features in-depth analysis of multiple games with a coloration of their applicable principles in improving your everyday life.  The broadcasts focus is you, the viewer, and each time the show airs, we try to improve your watching experience. MCast is a unique and entertaining experience that strives to bring everyone together under the collective passion we have for video games and the lives they positively influence</p>\n\n<br>\n\n\n<p><a href=\"/mylixia\">Click here to watch and chat live!</a></p>\n\n<p><a href=\"esports,%20LoL\"></a></p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/mylixia_fpthumb_22015.jpg","title":"Mylixia TV","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13913824480,"game":"Pillars of Eternity","viewers":136,"video_height":720,"average_fps":59.973718984,"created_at":"2015-04-08T03:37:01Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_mylixia-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_mylixia-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_mylixia-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_mylixia-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/mylixia"},"channel":{"mature":false,"status":"Path of the Damned | Wizard | Exploring / Finding Challenges  | Pillars of Eternity with Old School RPG Master Dignitas Mylixia","broadcaster_language":"en","display_name":"Mylixia","game":"Pillars of Eternity","delay":0,"language":"en","_id":28481422,"name":"mylixia","created_at":"2012-02-25T00:27:36Z","updated_at":"2015-04-08T07:16:04Z","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/mylixia-profile_image-1f157b3d2528a29c-300x300.jpeg","banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/mylixia-channel_header_image-075bac3c3ca7b08a-640x125.jpeg","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/mylixia-channel_offline_image-092f4526389f871d-640x360.png","background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/mylixia","views":3558049,"followers":38042,"_links":{"self":"https://api.twitch.tv/kraken/channels/mylixia","follows":"https://api.twitch.tv/kraken/channels/mylixia/follows","commercial":"https://api.twitch.tv/kraken/channels/mylixia/commercial","stream_key":"https://api.twitch.tv/kraken/channels/mylixia/stream_key","chat":"https://api.twitch.tv/kraken/chat/mylixia","features":"https://api.twitch.tv/kraken/channels/mylixia/features","subscriptions":"https://api.twitch.tv/kraken/channels/mylixia/subscriptions","editors":"https://api.twitch.tv/kraken/channels/mylixia/editors","teams":"https://api.twitch.tv/kraken/channels/mylixia/teams","videos":"https://api.twitch.tv/kraken/channels/mylixia/videos"}}}},{"text":"<p>CoreJJ is a professional League of Legends player on Team Dignitas. The Korean joined the LCS roster for Season 5 and has delighted his viewers with a lighthearted attitude and proficiency in English.</p>\n\n<br>\n\n\n<p><a href=\"/corejj\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/corejj_fpthumb_22015.jpg","title":"CoreJJ","sponsored":false,"priority":5,"scheduled":false,"stream":{"_id":13915278448,"game":"League of Legends","viewers":41,"video_height":720,"average_fps":59.965034965,"created_at":"2015-04-08T07:11:49Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_corejj-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_corejj-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_corejj-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_corejj-{width}x{height}.jpg"},"_links":{"self":"https://api.twitch.tv/kraken/streams/corejj"},"channel":{"mature":false,"status":"Dignitas CoreJJ - Challenger Rank ADC|Start 1000LP |","broadcaster_language":"en","display_name":"CoreJJ","game":"League of Legends","delay":0,"language":"ko","_id":74887420,"name":"corejj","created_at":"2014-11-10T06:26:57Z","updated_at":"2015-04-08T07:21:45Z","logo":null,"banner":null,"video_banner":null,"background":null,"profile_banner":null,"profile_banner_background_color":null,"partner":true,"url":"http://www.twitch.tv/corejj","views":180781,"followers":10171,"_links":{"self":"https://api.twitch.tv/kraken/channels/corejj","follows":"https://api.twitch.tv/kraken/channels/corejj/follows","commercial":"https://api.twitch.tv/kraken/channels/corejj/commercial","stream_key":"https://api.twitch.tv/kraken/channels/corejj/stream_key","chat":"https://api.twitch.tv/kraken/chat/corejj","features":"https://api.twitch.tv/kraken/channels/corejj/features","subscriptions":"https://api.twitch.tv/kraken/channels/corejj/subscriptions","editors":"https://api.twitch.tv/kraken/channels/corejj/editors","teams":"https://api.twitch.tv/kraken/channels/corejj/teams","videos":"https://api.twitch.tv/kraken/channels/corejj/videos"}}}}]}
golf1052 commented 9 years ago

So I tried the json you supplied and I got no issues with it. I'm guessing that there are some channels that have bad create/update dates for some reason. Does FeaturedStreams never work for you or does it work sometimes? If it works sometimes then the only way of me finding the bug would probably be to just keep trying the method every once in a while until I run into an issue.

I also pushed a commit to the party branch so you can test json files easily. TestFeatured in Twixel.cs takes in a url pointing to the json and then attempts to load it.

b-barry commented 9 years ago

Hello,

I will test it as soon. I think about the bug. Maybe it would come from my version of JsonNet ? I use the latest version. Or other dependency package that I have ? I will test with a demo project.

Thanks

b-barry commented 9 years ago

Hello,

I always got the issues. But I debug into your library to find the date string that rise the exception. I got this string "04/13/2015 18:02:29" for the created_at field for the stream object. After trying to parse this string, I got a exception. I continue my investigation. I tried this json:

{"_links":{"self":"https://api.twitch.tv/kraken/streams/featured?limit=25&offset=0","next":"https://api.twitch.tv/kraken/streams/featured?limit=25&offset=25"},"featured":[{"text":"<p>These two veteran games journalists quit their day jobs to bring you the best of the geek world each and every day live on Twitch. It's the one morning show you can't miss, every weekday from 11am-12:30pm PST.</p>\n\n<br>\n\n\n<p><a href=\"/kindafunnygames\">Click here</a> to watch and chat!</p>\n","image":"http://s.jtvnw.net/jtv_user_pictures/hosted_images/Colin and Greg_140x78_twitch thumb.jpg","title":"Colin & Greg Live: Twitch's Nerdy Morning Show","sponsored":false,"priority":2,"scheduled":true,"stream":{"_id":13990758016,"game":"GhostControl Inc.","viewers":4958,"video_height":720,"average_fps":29.9860383944,"created_at":"2015-04-13T18:02:29Z","preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_kindafunnygames-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_kindafunnygames-320x180.jpg","large"
b-barry commented 9 years ago

Hello,

I fixed the issues. Indeed, when you cast a created_at or updated_at field into a string, it changes the date format. Don't cast it but use the ToString() method. It will keep the good format.

I can provide a pull request if you desire.

Best regards

golf1052 commented 9 years ago

A pull request sounds great. Thanks for finding the issue!

b-barry commented 9 years ago

Hello,

Ok, I will do it at the end of the week.

Thank you for your great library. I gain a lot of time.

golf1052 commented 9 years ago

Merged in with #8. Tested and fixed a couple things. Looks like the v2 API has some weird behavior where sometimes Twitch doesn't send a created_at string...

Anyway the fix has been pushed to GitHub and NuGet. Thanks for the help!