Refactor MaxBitrate and UploadLimit in GuildHelper (#2854)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 />
|
||||
|
||||
Reference in New Issue
Block a user