/// <summary> /// Start a commercial on <paramref name="channel"/>. /// <para>Authenticated, required scope: <code>channel_commercial</code></para> /// </summary> /// <param name="length">Length of commercial break in seconds. Default value is 30. You can only trigger a commercial once every 8 minutes.</param> /// <param name="channel">The channel to start a commercial on.</param> /// <param name="accessToken">An oauth token with the required scope.</param> /// <returns>The response of the request.</returns> public static async Task <string> RunCommercial(CommercialLength length, string channel, string accessToken) { return(await MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}/commercial", "POST", $"length={length}", accessToken)); }
/// <summary> /// Converts a commercial length to a number /// </summary> /// <param name="length">Commercial length</param> /// <returns>A number</returns> public static int LengthToInt(CommercialLength length) { if (length == CommercialLength.Sec30) { return(30); } else if (length == CommercialLength.Sec60) { return(60); } else if (length == CommercialLength.Sec90) { return(90); } else if (length == CommercialLength.Sec120) { return(120); } else if (length == CommercialLength.Sec150) { return(150); } else if (length == CommercialLength.Sec180) { return(180); } else { return(0); } }
public Commercial() { CommercialLength = Aiva.Models.Enums.Commercial.Seconds90; ShowCommercialCommand = new Internal.RelayCommand( show => ShowCommercial(), show => CommercialLength.HasFlag(CommercialLength)); }
public T TriggerCommerical <T>(string channel, CommercialLength length) where T : new() { var request = RequestFactory("channels/{channel}/commercial", Method.POST); request.AddUrlSegment("channel", channel); request.AddParameter("length", (int)length); var response = RestClient.Execute <T>(request); return(response.Data); }
public async Task RunCommercialAsync(string channel, CommercialLength length, string accessToken = null) { Api.Settings.DynamicScopeValidation(AuthScopes.Channel_Commercial, accessToken); int lengthInt; switch (length) { case CommercialLength.Seconds30: lengthInt = 30; break; case CommercialLength.Seconds60: lengthInt = 60; break; case CommercialLength.Seconds90: lengthInt = 90; break; case CommercialLength.Seconds120: lengthInt = 120; break; case CommercialLength.Seconds150: lengthInt = 150; break; case CommercialLength.Seconds180: lengthInt = 180; break; default: throw new ArgumentOutOfRangeException(nameof(length), length, null); } var model = new Models.v3.Channels.RunCommercialRequest { Length = lengthInt }; await Api.PostModelAsync($"https://api.twitch.tv/kraken/channels/{channel}/commercial", model, accessToken, ApiVersion.v3).ConfigureAwait(false); }
/// <summary> /// Start a commercial on <paramref name="channel"/>. /// <para>required scope: <code>channel_commercial</code></para> /// </summary> /// <param name="length">Length of commercial break in seconds. Default value is 30. You can only trigger a commercial once every 8 minutes.</param> /// <param name="channel">The channel to start a commercial on.</param> /// <param name="accessToken">An oauth token with the required scope.</param> /// <returns>The response of the request.</returns> public async Task <string> RunCommercial(CommercialLength length, string channel, string accessToken) { int seconds; switch (length) { case CommercialLength.Seconds30: case CommercialLength.Seconds60: case CommercialLength.Seconds90: case CommercialLength.Second120: case CommercialLength.Seconds150: case CommercialLength.Seconds180: seconds = (int)length; break; default: throw new ArgumentOutOfRangeException(nameof(length)); } return(await MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}/commercial", "POST", $"length={seconds}", accessToken)); }
/// <summary> /// Start a commercial on <paramref name="channel"/>. /// <para>Authenticated, required scope: <code>channel_commercial</code></para> /// </summary> /// <param name="length">Length of commercial break in seconds. Default value is 30. You can only trigger a commercial once every 8 minutes.</param> /// <param name="channel">The channel to start a commercial on.</param> /// <param name="accessToken">An oauth token with the required scope.</param> /// <returns>The response of the request.</returns> public static async Task <string> RunCommercial(CommercialLength length, string channel, string accessToken = null) { // Default to 30 seconds? int seconds = 30; switch (length) { case CommercialLength.Seconds30: seconds = 30; break; case CommercialLength.Seconds60: seconds = 60; break; case CommercialLength.Seconds90: seconds = 90; break; case CommercialLength.Second120: seconds = 120; break; case CommercialLength.Seconds150: seconds = 150; break; case CommercialLength.Seconds180: seconds = 180; break; } return(await MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}/commercial", "POST", $"length={seconds}", accessToken)); }
public Task <ChannelCommercial> StartChannelCommercialAsync(string channelId, CommercialLength duration, string authToken = null) { DynamicScopeValidation(AuthScopes.Channel_Commercial, authToken); if (string.IsNullOrWhiteSpace(channelId)) { throw new BadParameterException("The channel id is not valid. It is not allowed to be null, empty or filled with whitespaces."); } var payload = "{\"duration\": " + (int)duration + "}"; return(TwitchPostGenericAsync <ChannelCommercial>($"/channels/{channelId}/commercial", ApiVersion.V5, payload, accessToken: authToken)); }
public async Task <Models.v5.Channels.ChannelCommercial> StartChannelCommercialAsync(string channelId, CommercialLength duration, string authToken = null) { Api.Settings.DynamicScopeValidation(AuthScopes.Channel_Commercial, authToken); if (string.IsNullOrWhiteSpace(channelId)) { throw new BadParameterException("The channel id is not valid. It is not allowed to be null, empty or filled with whitespaces."); } return(await Api.PostGenericAsync <Models.v5.Channels.ChannelCommercial>($"https://api.twitch.tv/kraken/channels/{channelId}/commercial", "{\"duration\": " + (int)duration + "}", null, authToken).ConfigureAwait(false)); }
public dynamic TriggerCommerical(string channel, CommercialLength length) { return(TriggerCommerical <ExpandoObject>(channel, length)); }
/// <summary> /// Converts a commercial length to a number /// </summary> /// <param name="length">Commercial length</param> /// <returns>A number</returns> public static int LengthToInt(CommercialLength length) { if (length == CommercialLength.Sec30) { return 30; } else if (length == CommercialLength.Sec60) { return 60; } else if (length == CommercialLength.Sec90) { return 90; } else if (length == CommercialLength.Sec120) { return 120; } else if (length == CommercialLength.Sec150) { return 150; } else if (length == CommercialLength.Sec180) { return 180; } else { return 0; } }
private async void CloseCommercialFlyout(CommercialLength eventArgs) { var commercial = await AivaClient.Instance.TwitchApi.Channels.v5.StartChannelCommercialAsync( AivaClient.Instance.ChannelId, eventArgs).ConfigureAwait(false); }
internal static void StartCommercial(TwitchClient client, CommercialLength minutes) { client.StartCommercial(client.GetJoinedChannel(client.JoinedChannels[0].Channel), minutes); }
/// <summary> /// Start a commercial on <paramref name="channel"/>. /// <para>Authenticated, required scope: <code>channel_commercial</code></para> /// </summary> /// <param name="length">Length of commercial break in seconds. Default value is 30. You can only trigger a commercial once every 8 minutes.</param> /// <param name="channel">The channel to start a commercial on.</param> /// <param name="accessToken">An oauth token with the required scope.</param> /// <returns>The response of the request.</returns> public static async Task<string> RunCommercial(CommercialLength length, string channel, string accessToken) { return await MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}/commercial", "POST", $"length={length}", accessToken); }