using Newtonsoft.Json; using System; namespace Discord.API { internal class Channel { //Shared [JsonProperty("id")] public ulong Id { get; set; } [JsonProperty("type")] public ChannelType Type { get; set; } [JsonProperty("last_message_id")] public ulong? LastMessageId { get; set; } //GuildChannel [JsonProperty("guild_id")] public Optional GuildId { get; set; } [JsonProperty("name")] public Optional Name { get; set; } [JsonProperty("position")] public Optional Position { get; set; } [JsonProperty("permission_overwrites")] public Optional PermissionOverwrites { get; set; } [JsonProperty("parent_id")] public ulong? CategoryId { get; set; } //TextChannel [JsonProperty("topic")] public Optional Topic { get; set; } [JsonProperty("last_pin_timestamp")] public Optional LastPinTimestamp { get; set; } [JsonProperty("nsfw")] public Optional Nsfw { get; set; } [JsonProperty("rate_limit_per_user")] public Optional SlowMode { get; set; } //VoiceChannel [JsonProperty("bitrate")] public Optional Bitrate { get; set; } [JsonProperty("user_limit")] public Optional UserLimit { get; set; } [JsonProperty("rtc_region")] public Optional RTCRegion { get; set; } //PrivateChannel [JsonProperty("recipients")] public Optional Recipients { get; set; } //GroupChannel [JsonProperty("icon")] public Optional Icon { get; set; } //ThreadChannel [JsonProperty("member")] public Optional ThreadMember { get; set; } [JsonProperty("thread_metadata")] public Optional ThreadMetadata { get; set; } [JsonProperty("owner_id")] public Optional OwnerId { get; set; } [JsonProperty("message_count")] public Optional MessageCount { get; set; } [JsonProperty("member_count")] public Optional MemberCount { get; set; } //ForumChannel [JsonProperty("available_tags")] public Optional ForumTags { get; set; } [JsonProperty("applied_tags")] public Optional AppliedTags { get; set; } [JsonProperty("default_auto_archive_duration")] public Optional AutoArchiveDuration { get; set; } [JsonProperty("default_thread_rate_limit_per_user")] public Optional ThreadRateLimitPerUser { get; set; } } }