public override void Run(TestMain main) { var user = main.User; var handler = main.TwitchAPIHandler; var options = new TwitchGetClipsOptions(); options.BroadcasterId = user.ReadInput("Enter BroadcasterId").AsString; options.GameId = user.ReadInput("Enter GameId").AsString; options.Ids.AddRange(user.ReadInputWhileBreakAsString("Enter Id")); options.First = user.ReadInput("Enter First as int").AsInt; options.StartedAt = TwitchDateTimeUtils.ToDatetime(user.ReadInput("Enter StartedAt as TwtichDateTime").AsString); options.EndedAt = TwitchDateTimeUtils.ToDatetime(user.ReadInput("Enter EndedAt as TwtichDateTime").AsString); string cursor = null; while (true) { options.After = cursor; var clips = handler.API.New.Clips.GetClips(options); user.SendMessageAsReflection("Clips", clips); cursor = clips.Pagination.Cursor; if (string.IsNullOrWhiteSpace(cursor) == true) { break; } Thread.Sleep(1000); } }
public TwitchClips GetClips(TwitchGetClipsOptions options) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "clips"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("broadcaster_id", options.BroadcasterId); apiRequest.QueryValues.Add("game_id", options.GameId); apiRequest.QueryValues.AddRange("id", options.Ids); apiRequest.QueryValues.Add("after", options.After); apiRequest.QueryValues.Add("before", options.Before); apiRequest.QueryValues.Add("ended_at", TwitchDateTimeUtils.ToString(options.EndedAt)); apiRequest.QueryValues.Add("first", options.First); apiRequest.QueryValues.Add("started_at", TwitchDateTimeUtils.ToString(options.StartedAt)); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchClips(jToken)); }