Refactor MaxBitrate and UploadLimit in GuildHelper (#2854)

This commit is contained in:
FluffyDoggo
2024-02-19 02:59:14 -06:00
committed by GitHub
parent 1eb7a53f78
commit 6256de42bc
5 changed files with 23 additions and 36 deletions

View File

@@ -136,17 +136,29 @@ namespace Discord.Rest
public static Task DeleteAsync(IGuild guild, BaseDiscordClient client, RequestOptions options)
=> client.ApiClient.DeleteGuildAsync(guild.Id, options);
public static ulong GetUploadLimit(IGuild guild)
public static int GetMaxBitrate(PremiumTier premiumTier)
{
var tierFactor = guild.PremiumTier switch
return premiumTier switch
{
PremiumTier.Tier1 => 128000,
PremiumTier.Tier2 => 256000,
PremiumTier.Tier3 => 384000,
_ => 96000,
};
}
public static ulong GetUploadLimit(PremiumTier premiumTier)
{
ulong tierFactor = premiumTier switch
{
PremiumTier.Tier2 => 50,
PremiumTier.Tier3 => 100,
_ => 25
};
var mebibyte = Math.Pow(2, 20);
return (ulong)(tierFactor * mebibyte);
// 1 << 20 = 2 pow 20
var mebibyte = 1UL << 20;
return tierFactor * mebibyte;
}
public static async Task<GuildIncidentsData> ModifyGuildIncidentActionsAsync(IGuild guild, BaseDiscordClient client, Action<GuildIncidentsDataProperties> func, RequestOptions options = null)

View File

@@ -91,21 +91,10 @@ namespace Discord.Rest
public int? ApproximatePresenceCount { get; private set; }
/// <inheritdoc/>
public int MaxBitrate
{
get
{
return PremiumTier switch
{
PremiumTier.Tier1 => 128000,
PremiumTier.Tier2 => 256000,
PremiumTier.Tier3 => 384000,
_ => 96000,
};
}
}
=> GuildHelper.GetMaxBitrate(PremiumTier);
/// <inheritdoc/>
public ulong MaxUploadLimit
=> GuildHelper.GetUploadLimit(this);
=> GuildHelper.GetUploadLimit(PremiumTier);
/// <inheritdoc />
public NsfwLevel NsfwLevel { get; private set; }
/// <inheritdoc />