foxcord/Foxcord/Discord/User.cs

26 lines
No EOL
835 B
C#

namespace Foxcord.Discord;
public record User(
Snowflake Id,
string Username,
string Discriminator,
string? DisplayName,
string? Avatar,
string? Banner,
int? AccentColor,
string? Locale,
bool Bot,
bool System = false
)
{
public string Tag => Discriminator == "0" ? Username : $"{Username}#{Discriminator}";
private string AvatarExt => Avatar?.StartsWith("a_") == true ? ".gif" : ".png";
private string BannerExt => Banner?.StartsWith("a_") == true ? ".gif" : ".png";
public string AvatarUrl => Avatar == null
? $"https://cdn.discordapp.com/embed/avatars/{(Id >> 22) % 6}"
: $"https://cdn.discordapp.com/avatars/{Id}/{Avatar}{AvatarExt}";
public string? BannerUrl => Banner == null ? null : $"https://cdn.discordapp.com/banners/{Id}/{Banner}{BannerExt}";
}