Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,36 @@ public override DiscordGuildFeature Read(ref Utf8JsonReader reader, Type typeToC
var value = reader.GetString();
return value switch
{
"ANIMATED_BANNER" => DiscordGuildFeature.AnimatedBanner,
"ANIMATED_ICON" => DiscordGuildFeature.AnimatedIcon,
"APPLICATION_COMMAND_PERMISSIONS_V2" => DiscordGuildFeature.ApplicationCommandPermissionsV2,
"AUTO_MODERATION" => DiscordGuildFeature.AutoModeration,
"BANNER" => DiscordGuildFeature.Banner,
"COMMERCE" => DiscordGuildFeature.Commerce,
"COMMUNITY" => DiscordGuildFeature.Community,
"CREATOR_MONETIZABLE_PROVISIONAL" => DiscordGuildFeature.CreatorMonetizableProvisional,
"CREATOR_STORE_PAGE" => DiscordGuildFeature.CreatorStorePage,
"DEVELOPER_SUPPORT_SERVER" => DiscordGuildFeature.DeveloperSupportServer,
"DISCOVERABLE" => DiscordGuildFeature.Discoverable,
"FEATURABLE" => DiscordGuildFeature.Featurable,
"INVITES_DISABLED" => DiscordGuildFeature.InvitesDisabled,
"INVITE_SPLASH" => DiscordGuildFeature.InviteSplash,
"MEMBER_VERIFICATION_GATE_ENABLED" => DiscordGuildFeature.MemberVerificationGateEnabled,
"MORE_SOUNDBOARD" => DiscordGuildFeature.MoreSoundboard,
"MORE_STICKERS" => DiscordGuildFeature.MoreStickers,
"NEWS" => DiscordGuildFeature.News,
"PARTNERED" => DiscordGuildFeature.Partnered,
"PREVIEW_ENABLED" => DiscordGuildFeature.PreviewEnabled,
"RAID_ALERTS_DISABLED" => DiscordGuildFeature.RaidAlertsDisabled,
"ROLE_ICONS" => DiscordGuildFeature.RoleIcons,
"ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE" => DiscordGuildFeature.RoleSubscriptionsAvailableForPurchase,
"ROLE_SUBSCRIPTIONS_ENABLED" => DiscordGuildFeature.RoleSubscriptionsEnabled,
"SOUNDBOARD" => DiscordGuildFeature.Soundboard,
"TICKETED_EVENTS_ENABLED" => DiscordGuildFeature.TicketedEventsEnabled,
"VANITY_URL" => DiscordGuildFeature.VanityUrl,
"VERIFIED" => DiscordGuildFeature.Verified,
"VIP_REGIONS" => DiscordGuildFeature.VipRegions,
"WELCOME_SCREEN_ENABLED" => DiscordGuildFeature.WelcomeScreenEnabled,
"TICKETED_EVENTS_ENABLED" => DiscordGuildFeature.TicketedEventsEnabled,
"MONETIZATION_ENABLED" => DiscordGuildFeature.MonetizationEnabled,
"MORE_STICKERS" => DiscordGuildFeature.MoreStickers,
"THREE_DAY_THREAD_ARCHIVE" => DiscordGuildFeature.ThreeDayThreadArchive,
"SEVEN_DAY_THREAD_ARCHIVE" => DiscordGuildFeature.SevenDayThreadArchive,
"PRIVATE_THREADS" => DiscordGuildFeature.PrivateThreads,
_ => DiscordGuildFeature.Unknown
};
}
Expand All @@ -46,9 +55,18 @@ public override void Write(Utf8JsonWriter writer, DiscordGuildFeature value, Jso
{
switch (value)
{
case DiscordGuildFeature.AnimatedBanner:
writer.WriteStringValue("ANIMATED_BANNER");
break;
case DiscordGuildFeature.AnimatedIcon:
writer.WriteStringValue("ANIMATED_ICON");
break;
case DiscordGuildFeature.ApplicationCommandPermissionsV2:
writer.WriteStringValue("APPLICATION_COMMAND_PERMISSIONS_V2");
break;
case DiscordGuildFeature.AutoModeration:
writer.WriteStringValue("AUTO_MODERATION");
break;
case DiscordGuildFeature.Banner:
writer.WriteStringValue("BANNER");
break;
Expand All @@ -58,18 +76,36 @@ public override void Write(Utf8JsonWriter writer, DiscordGuildFeature value, Jso
case DiscordGuildFeature.Community:
writer.WriteStringValue("COMMUNITY");
break;
case DiscordGuildFeature.CreatorMonetizableProvisional:
writer.WriteStringValue("CREATOR_MONETIZABLE_PROVISIONAL");
break;
case DiscordGuildFeature.CreatorStorePage:
writer.WriteStringValue("CREATOR_STORE_PAGE");
break;
case DiscordGuildFeature.DeveloperSupportServer:
writer.WriteStringValue("DEVELOPER_SUPPORT_SERVER");
break;
case DiscordGuildFeature.Discoverable:
writer.WriteStringValue("DISCOVERABLE");
break;
case DiscordGuildFeature.Featurable:
writer.WriteStringValue("FEATURABLE");
break;
case DiscordGuildFeature.InvitesDisabled:
writer.WriteStringValue("INVITES_DISABLED");
break;
case DiscordGuildFeature.InviteSplash:
writer.WriteStringValue("INVITE_SPLASH");
break;
case DiscordGuildFeature.MemberVerificationGateEnabled:
writer.WriteStringValue("MEMBER_VERIFICATION_GATE_ENABLED");
break;
case DiscordGuildFeature.MoreSoundboard:
writer.WriteStringValue("MORE_SOUNDBOARD");
break;
case DiscordGuildFeature.MoreStickers:
writer.WriteStringValue("MORE_STICKERS");
break;
case DiscordGuildFeature.News:
writer.WriteStringValue("NEWS");
break;
Expand All @@ -79,6 +115,24 @@ public override void Write(Utf8JsonWriter writer, DiscordGuildFeature value, Jso
case DiscordGuildFeature.PreviewEnabled:
writer.WriteStringValue("PREVIEW_ENABLED");
break;
case DiscordGuildFeature.RaidAlertsDisabled:
writer.WriteStringValue("RAID_ALERTS_DISABLED");
break;
case DiscordGuildFeature.RoleIcons:
writer.WriteStringValue("ROLE_ICONS");
break;
case DiscordGuildFeature.RoleSubscriptionsAvailableForPurchase:
writer.WriteStringValue("ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE");
break;
case DiscordGuildFeature.RoleSubscriptionsEnabled:
writer.WriteStringValue("ROLE_SUBSCRIPTIONS_ENABLED");
break;
case DiscordGuildFeature.Soundboard:
writer.WriteStringValue("SOUNDBOARD");
break;
case DiscordGuildFeature.TicketedEventsEnabled:
writer.WriteStringValue("TICKETED_EVENTS_ENABLED");
break;
case DiscordGuildFeature.VanityUrl:
writer.WriteStringValue("VANITY_URL");
break;
Expand All @@ -91,24 +145,6 @@ public override void Write(Utf8JsonWriter writer, DiscordGuildFeature value, Jso
case DiscordGuildFeature.WelcomeScreenEnabled:
writer.WriteStringValue("WELCOME_SCREEN_ENABLED");
break;
case DiscordGuildFeature.TicketedEventsEnabled:
writer.WriteStringValue("TICKETED_EVENTS_ENABLED");
break;
case DiscordGuildFeature.MonetizationEnabled:
writer.WriteStringValue("MONETIZATION_ENABLED");
break;
case DiscordGuildFeature.MoreStickers:
writer.WriteStringValue("MORE_STICKERS");
break;
case DiscordGuildFeature.ThreeDayThreadArchive:
writer.WriteStringValue("THREE_DAY_THREAD_ARCHIVE");
break;
case DiscordGuildFeature.SevenDayThreadArchive:
writer.WriteStringValue("SEVEN_DAY_THREAD_ARCHIVE");
break;
case DiscordGuildFeature.PrivateThreads:
writer.WriteStringValue("PRIVATE_THREADS");
break;
case DiscordGuildFeature.Unknown:
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,26 @@ public enum DiscordGuildFeature
/// </summary>
Unknown,

/// <summary>
/// Guild has access to set an animated guild banner image.
/// </summary>
AnimatedBanner,

/// <summary>
/// Guild has access to set an animated guild icon.
/// </summary>
AnimatedIcon,

/// <summary>
/// Guild is using the old permissions configuration behavior.
/// </summary>
ApplicationCommandPermissionsV2,

/// <summary>
/// Guild has set up auto moderation rules.
/// </summary>
AutoModeration,

/// <summary>
/// Guild has access to set a guild banner image.
/// </summary>
Expand All @@ -31,6 +46,21 @@ public enum DiscordGuildFeature
/// </summary>
Community,

/// <summary>
/// Guild has enabled monetization.
/// </summary>
CreatorMonetizableProvisional,

/// <summary>
/// Guild has enabled the role subscription promo page.
/// </summary>
CreatorStorePage,

/// <summary>
/// Guild has been set as a support server on the App Directory.
/// </summary>
DeveloperSupportServer,

/// <summary>
/// Guild is able to be discovered in the directory.
/// </summary>
Expand All @@ -41,6 +71,11 @@ public enum DiscordGuildFeature
/// </summary>
Featurable,

/// <summary>
/// Guild has paused invites, preventing new users from joining.
/// </summary>
InvitesDisabled,

/// <summary>
/// Guild has access to set an invite splash background.
/// </summary>
Expand All @@ -51,6 +86,16 @@ public enum DiscordGuildFeature
/// </summary>
MemberVerificationGateEnabled,

/// <summary>
/// Guild has increased custom soundboard sound slots.
/// </summary>
MoreSoundboard,

/// <summary>
/// Guild has increased custom sticker slots.
/// </summary>
MoreStickers,

/// <summary>
/// Guild has access to create news channels.
/// </summary>
Expand All @@ -65,54 +110,54 @@ public enum DiscordGuildFeature
/// Guild can be previewed before joining via Membership Screening or the directory.
/// </summary>
PreviewEnabled,

/// <summary>
/// Guild has access to set a vanity URL.
/// Guild has disabled alerts for join raids in the configured safety alerts channel.
/// </summary>
VanityUrl,

RaidAlertsDisabled,
/// <summary>
/// Gild is verified.
/// Guild is able to set role icons.
/// </summary>
Verified,

RoleIcons,
/// <summary>
/// Guild has access to set 384kbps bitrate in voice (previously VIP voice servers).
/// Guild has role subscriptions that can be purchased.
/// </summary>
VipRegions,

RoleSubscriptionsAvailableForPurchase,
/// <summary>
/// Guild has enabled the welcome screen.
/// Guild has enabled role subscriptions.
/// </summary>
WelcomeScreenEnabled,

RoleSubscriptionsEnabled,
/// <summary>
/// Guild has enabled ticketed events.
/// Guild has created soundboard sounds.
/// </summary>
TicketedEventsEnabled,
Soundboard,

/// <summary>
/// Guild has enabled monetization.
/// Guild has access to set a vanity URL.
/// </summary>
MonetizationEnabled,
VanityUrl,

/// <summary>
/// Guild has increased custom sticker slots.
/// Guild is verified.
/// </summary>
MoreStickers,
Verified,

/// <summary>
/// Guild has access to the three day archive time for threads.
/// Guild has access to set 384kbps bitrate in voice (previously VIP voice servers).
/// </summary>
ThreeDayThreadArchive,
VipRegions,

/// <summary>
/// Guild has access to the seven day archive time for threads.
/// Guild has enabled the welcome screen.
/// </summary>
SevenDayThreadArchive,
WelcomeScreenEnabled,

/// <summary>
/// Guild has access to create private threads.
/// Guild has enabled ticketed events.
/// </summary>
PrivateThreads
TicketedEventsEnabled
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,20 @@ public enum DiscordSystemChannelFlags
/// <summary>
/// Suppress server setup tips.
/// </summary>
SuppressGuildReminderNotifications = 1 << 2
SuppressGuildReminderNotifications = 1 << 2,

/// <summary>
/// Hide member joins sticker reply buttons.
/// </summary>
SuppressJoinNotificationReplies = 1 << 3,

/// <summary>
/// Suppress role subscription purchase and renewal notifications
/// </summary>
SuppressRoleSubscriptionPurchaseNotifications = 1 << 4,

/// <summary>
/// Hide role subscription sticker reply buttons
/// </summary>
SuppressRoleSubscriptionPurchaseNotificationReplies = 1 << 5
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System;
using System.Drawing;
using System.Text.Json.Serialization;
using Color_Chan.Discord.Core.Common.API.DataModels;
using Color_Chan.Discord.Core.Common.API.DataModels.Guild;

namespace Color_Chan.Discord.Core.Common.API.Params.Guild;

Expand All @@ -23,11 +25,21 @@ public record DiscordCreateGuildRole
public DiscordPermission Permissions { get; init; }

/// <summary>
/// The RGB color value. Default: 0;
/// The RGB color value.
/// </summary>
/// <remarks>
/// Color will still be returned by the API, but using the colors field is recommended when doing requests.
/// </remarks>
[JsonPropertyName("color")]
[Obsolete("Use Colors property instead.")]
public Color Color { get; set; }

/// <summary>
/// The role's colors.
/// </summary>
[JsonPropertyName("colors")]
public DiscordGuildRoleColorsData Colors { get; set; } = null!;

/// <summary>
/// Whether the role should be displayed separately in the sidebar. Default: false;
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System;
using System.Drawing;
using System.Text.Json.Serialization;
using Color_Chan.Discord.Core.Common.API.DataModels;
using Color_Chan.Discord.Core.Common.API.DataModels.Guild;

namespace Color_Chan.Discord.Core.Common.API.Params.Guild;

Expand All @@ -25,9 +27,19 @@ public record DiscordModifyGuildRole
/// <summary>
/// The RGB color value.
/// </summary>
/// <remarks>
/// Color will still be returned by the API, but using the colors field is recommended when doing requests.
/// </remarks>
[JsonPropertyName("color")]
[Obsolete("Use Colors property instead.")]
public Color? Color { get; set; }

/// <summary>
/// The role's colors.
/// </summary>
[JsonPropertyName("colors")]
public DiscordGuildRoleColorsData? Colors { get; set; } = null!;

/// <summary>
/// Whether the role should be displayed separately in the sidebar.
/// </summary>
Expand Down
Loading
Loading