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