feat(member): add flags (#1499)

---------

Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
This commit is contained in:
Earlopain 2024-02-29 15:50:39 +01:00 committed by GitHub
parent 8968e58b4d
commit 384ff4e9a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1476,6 +1476,22 @@ type Assets struct {
SmallText string `json:"small_text,omitempty"`
}
// MemberFlags represent flags of a guild member.
// https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags
type MemberFlags int
// Block containing known MemberFlags values.
const (
// MemberFlagDidRejoin indicates whether the Member has left and rejoined the guild.
MemberFlagDidRejoin MemberFlags = 1 << 0
// MemberFlagCompletedOnboarding indicates whether the Member has completed onboarding.
MemberFlagCompletedOnboarding MemberFlags = 1 << 1
// MemberFlagBypassesVerification indicates whether the Member is exempt from guild verification requirements.
MemberFlagBypassesVerification MemberFlags = 1 << 2
// MemberFlagStartedOnboarding indicates whether the Member has started onboarding.
MemberFlagStartedOnboarding MemberFlags = 1 << 3
)
// A Member stores user information for Guild members. A guild
// member represents a certain user's presence in a guild.
type Member struct {
@ -1506,6 +1522,10 @@ type Member struct {
// When the user used their Nitro boost on the server
PremiumSince *time.Time `json:"premium_since"`
// The flags of this member. This is a combination of bit masks; the presence of a certain
// flag can be checked by performing a bitwise AND between this int and the flag.
Flags MemberFlags `json:"flags"`
// Is true while the member hasn't accepted the membership screen.
Pending bool `json:"pending"`