internal static User LoadUser(JObject o, Twixel.APIVersion version) { if (version == Twixel.APIVersion.v3) { return(new User((string)o["display_name"], (long)o["_id"], (string)o["name"], (string)o["type"], (string)o["bio"], o["created_at"].ToString(), o["updated_at"].ToString(), (string)o["logo"], (JObject)o["_links"])); } else if (version == Twixel.APIVersion.v5) { return(new User((string)o["display_name"], (long)o["_id"], (string)o["name"], (string)o["type"], (string)o["bio"], o["created_at"].ToString(), o["updated_at"].ToString(), (string)o["logo"], (JObject)o["_links"])); } else { throw new TwixelException("User: " + versionCannotBeNoneString); } }
internal static List <FeaturedStream> LoadFeaturedStreams(JObject o, Twixel.APIVersion version) { List <FeaturedStream> streams = new List <FeaturedStream>(); foreach (JObject obj in (JArray)o["featured"]) { if (version == Twixel.APIVersion.v3) { streams.Add(new FeaturedStream((string)obj["text"], (string)obj["image"], (string)obj["title"], (bool)obj["sponsored"], (int)obj["priority"], (bool)obj["scheduled"], (JObject)obj["stream"], (JObject)o["_links"])); } else if (version == Twixel.APIVersion.v5) { streams.Add(new FeaturedStream((string)obj["text"], (string)obj["image"], (string)obj["title"], (bool)obj["sponsored"], (int)obj["priority"], (bool)obj["scheduled"], (JObject)obj["stream"], (JObject)o["_links"])); } } return(streams); }
internal static List <Video> LoadVideos(JObject o, Twixel.APIVersion version) { List <Video> videos = new List <Video>(); if (version == Twixel.APIVersion.v3) { foreach (JObject video in (JArray)o["videos"]) { videos.Add(HelperMethods.LoadVideo(video, version)); } } else if (version == Twixel.APIVersion.v5) { if (o["vods"] != null) { foreach (JObject video in (JArray)o["vods"]) { videos.Add(HelperMethods.LoadVideo(video, version)); } } else if (o["videos"] != null) { foreach (JObject video in (JArray)o["videos"]) { videos.Add(HelperMethods.LoadVideo(video, version)); } } } return(videos); }
/// <summary> /// Total constructor /// </summary> /// <param name="total">Total number of objects</param> /// <param name="t">Wrapped object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Total(long?total, T t, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.total = total; this.wrapped = t; }
/// <summary> /// Team constructor /// </summary> /// <param name="id">ID</param> /// <param name="name">Name</param> /// <param name="info">Info</param> /// <param name="displayName">Display name</param> /// <param name="createdAt">Creation date</param> /// <param name="updatedAt">Last updated</param> /// <param name="logo">Link to logo</param> /// <param name="banner">Link to banner</param> /// <param name="background">Link to background</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Team(long id, string name, string info, string displayName, string createdAt, string updatedAt, string logo, string banner, string background, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.id = id; this.name = name; this.info = info; this.displayName = displayName; this.createdAt = DateTime.Parse(createdAt); this.updatedAt = DateTime.Parse(updatedAt); if (logo != null) { this.logo = new Uri(logo); } if (banner != null) { this.banner = new Uri(banner); } if (background != null) { this.background = new Uri(background); } }
internal static Subscription <User> LoadUserSubscription(JObject o, Twixel.APIVersion version) { return(new Subscription <User>(o["created_at"].ToString(), (string)o["_id"], HelperMethods.LoadUser((JObject)o["user"], version), version, (JObject)o["_links"])); }
internal static Subscription <Channel> LoadChannelSubscription(JObject o, Twixel.APIVersion version) { return(new Subscription <Channel>(o["created_at"].ToString(), (string)o["_id"], HelperMethods.LoadChannel((JObject)o["channel"], version), version, (JObject)o["_links"])); }
internal static Follow <User> LoadUserFollow(JObject o, Twixel.APIVersion version) { return(new Follow <User>(o["created_at"].ToString(), (bool)o["notifications"], HelperMethods.LoadUser((JObject)o["user"], version), version, (JObject)o["_links"])); }
/// <summary> /// Emoticon constructor /// </summary> /// <param name="regex">Regex</param> /// <param name="imagesA">Emoticon images JSON object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Emoticon(string regex, JArray imagesA, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; emoticonImages = new List <EmoticonImage>(); this.regex = regex; emoticonImages = LoadEmoticonImages(imagesA); }
internal static Total <T> LoadTotal <T>(JObject o, T t, Twixel.APIVersion version) { return(new Total <T>((long?)o["_total"], t, version, (JObject)o["_links"])); }
internal static Block LoadBlock(JObject o, Twixel.APIVersion version) { return(new Block(o["updated_at"].ToString(), (long)o["_id"], (JObject)o["user"], version, (JObject)o["_links"])); }
internal static Channel LoadChannel(JObject o, Twixel.APIVersion version) { if (version == Twixel.APIVersion.v3) { return(new Channel((bool?)o["mature"], (string)o["status"], (string)o["broadcaster_language"], (string)o["display_name"], (string)o["game"], (int?)o["delay"], (string)o["language"], (long)o["_id"], (string)o["name"], o["created_at"].ToString(), o["updated_at"].ToString(), (string)o["logo"], (string)o["banner"], (string)o["video_banner"], (string)o["background"], (string)o["profile_banner"], (string)o["profile_banner_background_color"], (bool?)o["partner"], (string)o["url"], (long?)o["views"], (long?)o["followers"], (JObject)o["_links"])); } else if (version == Twixel.APIVersion.v5) { return(new Channel((bool?)o["mature"], (string)o["status"], (string)o["broadcaster_language"], (string)o["display_name"], (string)o["game"], (int?)o["delay"], (string)o["language"], (long)o["_id"], (string)o["name"], o["created_at"].ToString(), o["updated_at"].ToString(), (string)o["logo"], (string)o["banner"], (string)o["video_banner"], (string)o["background"], (string)o["profile_banner"], (string)o["profile_banner_background_color"], (bool?)o["partner"], (string)o["url"], (long?)o["views"], (long?)o["followers"], (JObject)o["_links"])); } else { throw new TwixelException("Channel: " + versionCannotBeNoneString); } }
internal static List <Block> LoadBlocks(JObject o, Twixel.APIVersion version) { List <Block> blocks = new List <Block>(); foreach (JObject block in (JArray)o["blocks"]) { blocks.Add(LoadBlock(block, version)); } return(blocks); }
internal static List <Ingest> LoadIngests(JObject o, Twixel.APIVersion version) { List <Ingest> ingests = new List <Ingest>(); foreach (JObject ingest in (JArray)o["ingests"]) { ingests.Add(HelperMethods.LoadIngest(ingest, (JObject)o["_links"], version)); } return(ingests); }
internal static List <Follow <User> > LoadUserFollows(JObject o, Twixel.APIVersion version) { List <Follow <User> > follows = new List <Follow <User> >(); foreach (JObject obj in (JArray)o["follows"]) { follows.Add(LoadUserFollow(obj, version)); } return(follows); }
internal static List <Video> LoadVideos(JObject o, Twixel.APIVersion version) { List <Video> videos = new List <Video>(); foreach (JObject video in (JArray)o["videos"]) { videos.Add(HelperMethods.LoadVideo(video, version)); } return(videos); }
internal static List <Subscription <User> > LoadUserSubscriptions(JObject o, Twixel.APIVersion version) { List <Subscription <User> > subscriptions = new List <Subscription <User> >(); foreach (JObject sub in (JArray)o["subcriptions"]) { subscriptions.Add(HelperMethods.LoadUserSubscription(sub, version)); } return(subscriptions); }
internal static List <Channel> LoadChannels(JObject o, Twixel.APIVersion version) { List <Channel> channels = new List <Channel>(); foreach (JObject channel in (JArray)o["channels"]) { channels.Add(HelperMethods.LoadChannel(channel, version)); } return(channels); }
internal static List <User> LoadUsers(JObject o, Twixel.APIVersion version) { List <User> users = new List <User>(); foreach (JObject user in (JArray)o["users"]) { users.Add(HelperMethods.LoadUser(user, version)); } return(users); }
internal static List <Team> LoadTeams(JObject o, Twixel.APIVersion version) { List <Team> teams = new List <Team>(); foreach (JObject team in (JArray)o["teams"]) { teams.Add(HelperMethods.LoadTeam(team, version)); } return(teams); }
/// <summary> /// Subscription constructor /// </summary> /// <param name="createdAt">Creation date</param> /// <param name="id">ID</param> /// <param name="t">Wrapped object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Subscription(string createdAt, string id, T t, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.createdAt = DateTime.Parse(createdAt); this.id = id; this.wrapped = t; }
/// <summary> /// Follow constructor /// </summary> /// <param name="createdAt">Creation date</param> /// <param name="notifications">Notification status</param> /// <param name="t">Wrapped object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Follow(string createdAt, bool notifications, T t, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.createdAt = DateTime.Parse(createdAt); this.notifications = notifications; this.wrapped = t; }
/// <summary> /// SearchedGame constructor /// </summary> /// <param name="name">Name</param> /// <param name="popularity">Popularity</param> /// <param name="id">ID</param> /// <param name="giantBombId">GiantBomb ID</param> /// <param name="boxO">Box JSON object</param> /// <param name="logoO">Logo JSON object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public SearchedGame(string name, long?popularity, long?id, long?giantBombId, JObject boxO, JObject logoO, Twixel.APIVersion version, JObject baseLinksO) : base(null, null, name, id, giantBombId, boxO, logoO, version, baseLinksO) { this.popularity = popularity; }
internal static List <Stream> LoadStreams(JObject o, Twixel.APIVersion version) { List <Stream> streams = new List <Stream>(); foreach (JObject obj in (JArray)o["streams"]) { streams.Add(LoadStream(obj, version)); } return(streams); }
/// <summary> /// Block constructor /// </summary> /// <param name="updatedAt">Last updated at as a string</param> /// <param name="id">Block ID</param> /// <param name="userO">User JSON object</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Block(string updatedAt, long id, JObject userO, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.updatedAt = DateTime.Parse(updatedAt); this.id = id; this.user = HelperMethods.LoadUser(userO, version); }
/// <summary> /// Badge constructor /// </summary> /// <param name="name">Badge name</param> /// <param name="linksO">Badge image links</param> /// <param name="version">Twitch API version</param> /// <param name="baseLinksO">Base links JSON object</param> public Badge(string name, JObject linksO, Twixel.APIVersion version, JObject baseLinksO) : base(baseLinksO) { this.version = version; this.name = name; if (linksO != null) { this.links = HelperMethods.LoadLinks(linksO); } }
internal static Ingest LoadIngest(JObject o, JObject baseLinksO, Twixel.APIVersion version) { Ingest ingest = new Ingest((string)o["name"], (bool)o["default"], (long)o["_id"], (string)o["url_template"], (double)o["availability"], version, baseLinksO); return(ingest); }
internal static List <Emoticon> LoadEmoticons(JObject o, Twixel.APIVersion version) { List <Emoticon> emoticons = new List <Emoticon>(); foreach (JObject obj in (JArray)o["emoticons"]) { emoticons.Add(new Emoticon((string)obj["regex"], (JArray)obj["images"], version, (JObject)o["_links"])); } return(emoticons); }
internal static Video LoadVideo(JObject o, Twixel.APIVersion version) { if (version == Twixel.APIVersion.v3) { return(new Video((string)o["title"], (string)o["description"], (long)o["broadcast_id"], (string)o["status"], (string)o["tag_list"], (string)o["_id"], o["recorded_at"].ToString(), (string)o["game"], (long)o["length"], (string)o["preview"], (string)o["url"], (long)o["views"], o["fps"].ToString(), o["resolutions"].ToString(), (string)o["broadcast_type"], (JObject)o["channel"], (JObject)o["_links"])); } else if (version == Twixel.APIVersion.v5) { return(new Video((string)o["title"], (string)o["description"], (long)o["broadcast_id"], (string)o["status"], (string)o["tag_list"], (string)o["_id"], (string)o["game"], (long)o["length"], o["preview"].ToString(), (string)o["url"], (long)o["views"], o["fps"].ToString(), o["resolutions"].ToString(), (string)o["broadcast_type"], o["thumbnails"].ToString(), (string)o["language"], (string)o["viewable"], (JObject)o["channel"], (JObject)o["_links"])); } else { throw new TwixelException("Video: " + versionCannotBeNoneString); } }
public static Community LoadCommunity(JObject o, Twixel.APIVersion version) { return(new Community((string)o["_id"], (string)o["avatar_image_url"], (string)o["cover_image_url"], (string)o["description"], (string)o["description_html"], (string)o["language"], (string)o["name"], (long)o["owner_id"], (string)o["rules"], (string)o["rules_html"], (string)o["summary"], null)); }