26 lines
No EOL
835 B
C#
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}";
|
|
} |