#!/usr/bin/ruby #require 'curses' require 'json' require 'net/http' user = String.new user = URI.escape(ARGV[0]) broadcasts = String.new http = Net::HTTP.new('api.twitch.tv', 443) http.use_ssl = true #http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.read_timeout = 500 width = `stty size`.split[1].to_i if width < 97 width=97 end def videos(http, path, width, broadcasts) total = 100 offset = 0 while offset <= total response = JSON.parse(http.request(Net::HTTP::Get.new("#{path}?limit=100&offset=#{offset}&broadcasts=#{broadcasts}")).body) total = response['_total'] for video in response['videos'] printf( "%-45s %6i %6i %-36s %-.#{width-46-37-7-7}s\n", video['url'].to_s, video['length'].to_i, video['views'].to_i, video['game'].to_s, video['title'].to_s) # Curses.cols end offset += 100 end end print("Highlights:\n\n") videos(http, "/kraken/channels/#{user}/videos/", width, false) print("\nBroadcasts:\n\n") videos(http, "/kraken/channels/#{user}/videos/", width, true)