internal static async Task <Models.API.Follow.Follow> FollowChannel(string username, string channel, string accessToken = null) { return(new Models.API.Follow.Follow(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/users/{username}/follows/channels/{channel}", "PUT", "", accessToken))); }
internal async static void RemoveChannelCommunity(string channelId, string accessToken = null) { string resp = await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channelId}/community", "DELETE", null, accessToken, 5); }
internal static async Task <Models.API.Channel.ChannelEventsResponse> GetChannelEvents(string channelId) { return(new Models.API.Channel.ChannelEventsResponse(JObject.Parse(await Requests.MakeGetRequest($"https://api.twitch.tv/v5/channels/{channelId}/events")))); }
internal async static void BanCommunityUser(string communityId, string userId, string accessToken = null) { string resp = await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/bans/{userId}", "PUT", null, accessToken, 5); }
internal async static void RemoveCommunityModerator(string communityId, string userId, string accessToken = null) { string resp = await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/moderators/{userId}", "DELETE", null, accessToken, 5); }
//TODO: Untested internal static async void CompleteVideoUpload(string videoId, string uploadToken, string accessToken = null) { await Requests.MakeRestRequest($"https://uploads.twitch.tv/upload/{videoId}/complete", "POST", $"upload_token={uploadToken}", accessToken, 4); }
internal static async Task <Models.API.Channel.Channel> GetChannel(string channel) { return(new Models.API.Channel.Channel(JObject.Parse(await Requests.MakeGetRequest($"https://api.twitch.tv/kraken/channels/{channel}")))); }
internal static async void DeleteChannelFeedPost(string postId, string channel, string accessToken = null) { await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/feed/{channel}/posts/{postId}", "DELETE", null, accessToken); }
internal static async Task <Models.API.Stream.StreamsSummary> GetStreamsSummary() { var json = await Requests.MakeGetRequest("https://api.twitch.tv/kraken/streams/summary"); return(new Models.API.Stream.StreamsSummary(json)); }
internal static async Task <Models.API.Other.Validate.ValidationResponse> ValidationAPIRequest(string accessToken = null) { string resp = await Requests.MakeGetRequest("https://api.twitch.tv/kraken", accessToken, 5); return(new Models.API.Other.Validate.ValidationResponse(JObject.Parse(resp))); }
internal static async Task <Models.API.Feed.PostToChannelFeedResponse> PostToChannelFeed(string content, bool share, string channel, string accessToken = null) { return(new Models.API.Feed.PostToChannelFeedResponse(JObject.Parse(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/feed/{channel}/posts", "POST", $"content={content}&share={(share ? "true" : "false")}", accessToken)))); }
internal async static Task <string> SetChannelCommunity(string channelId, string communityId, string accessToken = null) { return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channelId}/community/{communityId}", "PUT", null, accessToken, 5)); }
internal async static Task <string> AddCommunityModerator(string communityId, string userId, string accessToken = null) { return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/moderators/{userId}", "PUT", null, accessToken, 5)); }
internal async static Task <string> UnBanCommunityUser(string communityId, string userId, string accessToken = null) { return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/bans/{userId}", "DELETE", null, accessToken, 5)); }
internal static async void UnfollowChannel(string username, string channel, string accessToken = null) { await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/users/{username}/follows/channels/{channel}", "DELETE", "", accessToken); }
internal static async Task <Models.API.Channel.Channel> UpdateStreamGame(string game, string channel, string accessToken = null) { var data = "{\"channel\":{\"game\":\"" + game + "\"}}"; return(new Models.API.Channel.Channel(JObject.Parse(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}", "PUT", data, accessToken)))); }
internal static async Task <Models.API.Channel.ChannelHasUserSubscribedResponse> ChannelHasUserSubscribed(string username, string channel, string accessToken = null) { try { return(new Models.API.Channel.ChannelHasUserSubscribedResponse(JObject.Parse(await Requests.MakeGetRequest($"https://api.twitch.tv/kraken/channels/{channel}/subscriptions/{username}", accessToken)))); } catch { return(null); } }
internal static async Task <string> ResetStreamKey(string channel, string accessToken = null) { return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}/streamkey", "DELETE", "", accessToken)); }
internal static async Task <Models.API.Clip.Clip> GetClipInformation(string channel, string slug) { string url = $"https://api.twitch.tv/kraken/clips/{channel}/{slug}"; return(new Models.API.Clip.Clip(JObject.Parse(await Requests.MakeGetRequest(url, null, 4)))); }
internal static async Task <string> UpdateStreamDelay(int delay, string channel, string accessToken = null) { var data = "{\"channel\":{\"delay\":" + delay + "}}"; return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/channels/{channel}", "PUT", data, accessToken)); }
internal static async Task <User> GetUser(string username) { return(new User(await Requests.MakeGetRequest($"https://api.twitch.tv/kraken/users/{username}"))); }
internal static async Task <Models.API.Badge.BadgeResponse> GetChannelBadges(string channel) { return(new Models.API.Badge.BadgeResponse(await Requests.MakeGetRequest($"https://api.twitch.tv/kraken/chat/{channel}/badges"))); }
internal async static void UnTimeoutCommunityUser(string communityId, string userId, string accessToken = null) { string resp = await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/timeouts/{userId}", "DELETE", null, accessToken, 5); }
internal static async Task <Models.API.Block.Block> BlockUser(string username, string blockedUsername, string accessToken = null) { return(new Models.API.Block.Block(JObject.Parse(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/users/{username}/blocks/{blockedUsername}", "PUT", "", accessToken)))); }
internal async static Task <Models.API.Community.Community> GetChannelCommunity(string channelId) { string resp = await Requests.MakeGetRequest($"https://api.twitch.tv/kraken/channels/{channelId}/community", null, 5); return(new Models.API.Community.Community(JObject.Parse(resp))); }
internal static async void UnblockUser(string username, string blockedUsername, string accessToken = null) { await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/users/{username}/blocks/{blockedUsername}", "DELETE", "", accessToken); }
internal async static void RemoveCommunityAvatarImage(string communityId, string accessToken = null) { string resp = await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/images/avatar", "DELETE", null, accessToken, 5); }
internal async static Task <string> RemoveCommunityCoverImage(string communityId, string accessToken = null) { return(await Requests.MakeRestRequest($"https://api.twitch.tv/kraken/communities/{communityId}/images/cover", "DELETE", null, accessToken, 5)); }