diff --git a/src/Discord.Net.Core/Entities/Applications/IApplication.cs b/src/Discord.Net.Core/Entities/Applications/IApplication.cs
index 03fe34eb..c8cc695a 100644
--- a/src/Discord.Net.Core/Entities/Applications/IApplication.cs
+++ b/src/Discord.Net.Core/Entities/Applications/IApplication.cs
@@ -100,6 +100,11 @@ namespace Discord
///
int? ApproximateUserInstallCount { get; }
+ ///
+ /// Gets the approximate count of the users who have authorized the application. if not returned.
+ ///
+ int? ApproximateUserAuthorizationCount { get; }
+
///
/// Gets the application's discoverability state.
///
diff --git a/src/Discord.Net.Rest/API/Common/Application.cs b/src/Discord.Net.Rest/API/Common/Application.cs
index 9a797e16..699be08e 100644
--- a/src/Discord.Net.Rest/API/Common/Application.cs
+++ b/src/Discord.Net.Rest/API/Common/Application.cs
@@ -41,6 +41,9 @@ internal class Application
[JsonProperty("approximate_user_install_count")]
public Optional ApproximateUserInstallCount { get; set; }
+ [JsonProperty("approximate_user_authorization_count")]
+ public Optional ApproximateUserAuthorizationCount { get; set; }
+
[JsonProperty("guild")]
public Optional PartialGuild { get; set; }
diff --git a/src/Discord.Net.Rest/Entities/RestApplication.cs b/src/Discord.Net.Rest/Entities/RestApplication.cs
index 2c7f734d..ce494112 100644
--- a/src/Discord.Net.Rest/Entities/RestApplication.cs
+++ b/src/Discord.Net.Rest/Entities/RestApplication.cs
@@ -58,6 +58,9 @@ public class RestApplication : RestEntity, IApplication
///
public int? ApproximateUserInstallCount { get; private set; }
+ ///
+ public int? ApproximateUserAuthorizationCount { get; private set; }
+
///
public IReadOnlyCollection RedirectUris { get; private set; }
@@ -122,7 +125,7 @@ public class RestApplication : RestEntity, IApplication
internal void Update(Model model)
{
Description = model.Description;
- RPCOrigins = model.RPCOrigins.IsSpecified ? model.RPCOrigins.Value.ToImmutableArray() : ImmutableArray.Empty;
+ RPCOrigins = model.RPCOrigins.IsSpecified ? [..model.RPCOrigins.Value] : ImmutableArray.Empty;
Name = model.Name;
_iconId = model.Icon;
IsBotPublic = model.IsBotPublic.IsSpecified ? model.IsBotPublic.Value : null;
@@ -132,7 +135,7 @@ public class RestApplication : RestEntity, IApplication
TermsOfService = model.TermsOfService;
InstallParams = model.InstallParams.IsSpecified
- ? new ApplicationInstallParams(model.InstallParams.Value.Scopes, (GuildPermission)model.InstallParams.Value.Permission)
+ ? new ApplicationInstallParams(model.InstallParams.Value.Scopes, model.InstallParams.Value.Permission)
: null;
if (model.Flags.IsSpecified)
@@ -154,15 +157,16 @@ public class RestApplication : RestEntity, IApplication
if (model.RedirectUris.IsSpecified)
RedirectUris = model.RedirectUris.Value.ToImmutableArray();
- ApproximateGuildCount = model.ApproximateGuildCount.IsSpecified ? model.ApproximateGuildCount.Value : null;
- ApproximateUserInstallCount = model.ApproximateUserInstallCount.IsSpecified ? model.ApproximateUserInstallCount.Value : null;
+ ApproximateGuildCount = model.ApproximateGuildCount.ToNullable();
+ ApproximateUserInstallCount = model.ApproximateUserInstallCount.ToNullable();
+ ApproximateUserAuthorizationCount = model.ApproximateUserAuthorizationCount.ToNullable();
DiscoverabilityState = model.DiscoverabilityState.GetValueOrDefault(ApplicationDiscoverabilityState.None);
DiscoveryEligibilityFlags = model.DiscoveryEligibilityFlags.GetValueOrDefault(DiscoveryEligibilityFlags.None);
ExplicitContentFilterLevel = model.ExplicitContentFilter.GetValueOrDefault(ApplicationExplicitContentFilterLevel.Disabled);
IsHook = model.IsHook;
- InteractionEventTypes = model.InteractionsEventTypes.GetValueOrDefault(Array.Empty()).ToImmutableArray();
+ InteractionEventTypes = model.InteractionsEventTypes.GetValueOrDefault([]).ToImmutableArray();
InteractionsVersion = model.InteractionsVersion.GetValueOrDefault(ApplicationInteractionsVersion.Version1);
IsMonetized = model.IsMonetized;
@@ -178,7 +182,7 @@ public class RestApplication : RestEntity, IApplication
{
foreach (var p in model.IntegrationTypesConfig.Value)
{
- dict.Add(p.Key, new ApplicationInstallParams(p.Value.Scopes ?? Array.Empty(), p.Value.Permission));
+ dict.Add(p.Key, new ApplicationInstallParams(p.Value.Scopes ?? [], p.Value.Permission));
}
}
IntegrationTypesConfig = dict.ToImmutableDictionary();