public TwitchUser BlockUser(string sourceUserId, string targetUserId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{sourceUserId}/blocks/{targetUserId}"; apiRequest.Method = "PUT"; var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadIfExist("user", t => new TwitchUser(t))); }
public TwitchFollowedStreams GetFollowedStreams() { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"streams/followed"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchFollowedStreams(jToken)); }
public TwitchUser GetUserByID(string userId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{userId}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchUser(jToken)); }
public TwitchClip GetClip(string slug) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"clips/{slug}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchClip(jToken)); }
public TwitchTeamAndChannels GetTeam(string teamName) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"teams/{teamName}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchTeamAndChannels(jToken)); }
public TwitchEmoticonSets GetUserEmotes(string userId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{userId}/emotes"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchEmoticonSets(jToken)); }
public TwitchChannel GetChannelByID(string channelId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"channels/{channelId}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchChannel(jToken)); }
public TwitchTeam[] GetChannelTeams(string channelId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"channels/{channelId}/teams"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("teams", t => new TwitchTeam(t))); }
public TwitchChannelSubscription CheckChannelSubscriptionByUser(string channelId, string userId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"channels/{channelId}/subscriptions/{userId}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchChannelSubscription(jToken)); }
public TwitchFollow CheckUserFollowsByChannel(string userId, string channelId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{userId}/follows/channels/{channelId}"; apiRequest.Method = "GET"; var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchFollow(jToken)); }
public TwitchUser[] GetUsers(IEnumerable <UserRequest> requests) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "users"; apiRequest.Method = "GET"; apiRequest.QueryValues.AddRange(requests.Select(r => new QueryValue(r.Type.Name, r.Value))); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("data", t => new TwitchUser(t))); }
public TwitchStreamsSummary GetStreamsSummary(string game = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"streams/summary"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("game", game); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchStreamsSummary(jToken)); }
public TwitchStream GetStreamByUser(string channelId, StreamType type) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"streams/{channelId}"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("stream_type", type?.Name); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadIfExist("stream", t => new TwitchStream(t))); }
public TwitchStreamTag[] GetStreamTags(string broadcasterId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "streams/tags"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("broadcaster_id", broadcasterId); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("data", t => new TwitchStreamTag(t))); }
public TwitchEmoticonSets GetChatEmoticonsBySet(List <int> emoteSets = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"chat/emoticon_images"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("emotesets", string.Join(TwitchAPIV5.QueryArrayValueDelimiter, emoteSets ?? new List <int>())); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchEmoticonSets(jToken)); }
public TwitchBitAction[] GetCheermotes(string channelId) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = "bits/actions"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("channel_id", channelId); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("actions", t => new TwitchBitAction(t))); }
public TwitchUser UpdateUser(string description) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "users"; apiRequest.Method = "PUT"; apiRequest.QueryValues.Add("description", HttpUtility.UrlEncode(description)); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("data", t => new TwitchUser(t)).FirstOrDefault()); }
public TwitchFollow FollowChannel(string userId, string channelId, bool?notifications = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{userId}/follows/channels/{channelId}"; apiRequest.Method = "PUT"; apiRequest.QueryValues.Add("notifications", notifications); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchFollow(jToken)); }
public TwitchUser[] GetUsers(IEnumerable <string> logins) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("login", string.Join(TwitchAPIV5.QueryArrayValueDelimiter, logins)); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("users", t => new TwitchUser(t))); }
public TwitchTopGames GetTopGames(int?limit = null, int?offset = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = "games/top"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("limit", limit); apiRequest.QueryValues.Add("offset", offset); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchTopGames(jToken)); }
public TwitchClipEdit CreateClip(string broadcasterId, bool?hasDelay = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "clips"; apiRequest.Method = "POST"; apiRequest.QueryValues.Add("broadcaster_id", broadcasterId); apiRequest.QueryValues.Add("has_delay", hasDelay); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("data", t => new TwitchClipEdit(t)).FirstOrDefault()); }
public TwitchGame[] SearchGames(string query, bool?live = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = "search/games"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("query", query); apiRequest.QueryValues.Add("live", live); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("games", t => new TwitchGame(t))); }
public TwitchGame[] GetGames(string id, string name) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "games"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("id", id); apiRequest.QueryValues.Add("name", name); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("data", t => new TwitchGame(t))); }
public TwitchWebhookSubscriptions GetWebhookSubscriptions(string after = null, int?first = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "webhooks/subscriptions"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("after", after); apiRequest.QueryValues.Add("first", first); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchWebhookSubscriptions(jToken)); }
public TwitchFeaturedStream[] GetFeaturedStreams(int?limit = null, int?offset = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"streams/featured"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("limit", limit); apiRequest.QueryValues.Add("offset", offset); var jToken = this.Parent.RequestAsJson(apiRequest); return(jToken.ReadArray("featured", t => new TwitchFeaturedStream(t))); }
public TwitchUserBlockList GetUserBlockList(string userId, int?limit = null, int?offset = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"users/{userId}/blocks"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("limit", limit); apiRequest.QueryValues.Add("offset", offset); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchUserBlockList(jToken)); }
public AuthenticationResult RefreshAccessTokens(string refreshToken, string clientSecret) { var apiRequest = new TwitchAPIRequest(); apiRequest.BaseUrl = "https://id.twitch.tv/oauth2/token"; apiRequest.Method = "POST"; apiRequest.QueryValues.Add("grant_type", "refresh_token"); apiRequest.QueryValues.Add("refresh_token", refreshToken); apiRequest.QueryValues.Add("client_id", this.Parent.ClientId); apiRequest.QueryValues.Add("client_secret", clientSecret); var jToken = this.Parent.RequestAsJson(apiRequest, "status"); return(new AuthenticationResult(jToken)); }
public TwitchChannelSubscriptions GetChannelSubscribers(string channelId, int?limit = null, int?offset = null, SortDirection direction = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.V5; apiRequest.Path = $"channels/{channelId}/subscriptions"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("limit", limit); apiRequest.QueryValues.Add("offset", offset); apiRequest.QueryValues.Add("direction", direction?.Name); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchChannelSubscriptions(jToken)); }
public TwitchTopGames GetTopGames(string after = null, string before = null, int?first = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "games/top"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("after", after); apiRequest.QueryValues.Add("before", before); apiRequest.QueryValues.Add("first", first); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchTopGames(jToken)); }
public TwitchAllStreamTags GetAllStreamTags(string after = null, int?first = null, List <string> tagIds = null) { var apiRequest = new TwitchAPIRequest(); apiRequest.Version = APIVersion.New; apiRequest.Path = "tags/streams"; apiRequest.Method = "GET"; apiRequest.QueryValues.Add("after", after); apiRequest.QueryValues.Add("first", first); apiRequest.QueryValues.AddRange("tag_id", tagIds); var jToken = this.Parent.RequestAsJson(apiRequest); return(new TwitchAllStreamTags(jToken)); }