using yawaflua.Discord.Net.Entities.Enums; namespace yawaflua.Discord.Net.Interfaces.Models; public interface IUser { /// /// the user's id /// /// User-object public ulong Id { get; set; } /// /// the user's username, not unique across the platform /// /// User-object public string Username { get; set; } /// /// the user's display name, if it is set. For bots, this is the application name /// public string GlobalName { get; set; } /// /// the user's Discord-tag (Obsolete) /// /// User-object public string Discriminator { get; set; } /// /// the user's avatar hash /// /// Image formatting /// User-object public string? AvatarHash { get; set; } /// /// the user's banner hash /// /// Image formatting /// User-object /// Available in the User object only if the user has a banner set. /// https://cdn.discordapp.com/banners/{user.id}/{banner}.png?size=512 public string? Banner { get; set; } /// /// whether the user belongs to an OAuth2 application /// /// User-object public bool? Bot { get; set; } /// /// whether the user is an Official Discord System user (part of the urgent message system) /// /// User-object public bool? System { get; set; } /// /// whether the user has two factor enabled on their account /// /// User-object public bool? MfaEnabled { get; set; } /// /// the user's banner color encoded as an integer representation of hexadecimal color code /// /// User-object public int? AccentColor { get; set; } /// /// the user's chosen language option /// /// User-object public string? Locale { get; set; } /// /// whether the email on this account has been verified /// /// User-object public bool? Verified { get; set; } /// /// the user's email /// /// User-object public string? Email { get; set; } /// /// the flags on a user's account /// /// User-object /// User flags public UserFlag? Flags { get; set; } /// /// the type of Nitro subscription on a user's account /// /// User-object public PremiumType? PremiumType { get; set; } /// /// the public flags on a user's account /// /// User-object public UserFlag? PublicFlags { get; set; } /// /// data for the user's avatar decoration /// /// User-object public IAvatarDecoration? AvatarDecoration { get; set; } public string GetAvatarUrl(int size = 128); public string GetBannerUrl(int size = 128); }