Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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));
        }