Add new member flags (#3896)

This commit is contained in:
Fleny
2024-09-07 08:27:40 +02:00
committed by GitHub
parent 45bfa059b5
commit 48902bcb8e
2 changed files with 80 additions and 0 deletions
@@ -21,6 +21,16 @@ export const MemberToggle = {
bypassesVerification: 1 << 5,
/** Member has started onboarding */
completedOnboarding: 1 << 6,
/** Member is a guest and can only access the voice channel they were invited to */
isGuest: 1 << 7,
/** Member has started Server Guide new member actions */
startedHomeActions: 1 << 8,
/** Member has completed Server Guide new member actions */
completedHomeActions: 1 << 9,
/** Member's username, display name, or nickname is blocked by AutoMod */
automodQuarantinedUsername: 1 << 10,
/** Member has dismissed the DM settings upsell */
dmSettingsUpsellAcknowledged: 1 << 11,
}
export class MemberToggles extends ToggleBitfield {
@@ -40,6 +50,11 @@ export class MemberToggles extends ToggleBitfield {
if (member.flags & MemberFlags.StartedOnboarding) this.add(MemberToggle.startedOnboarding)
if (member.flags & MemberFlags.BypassesVerification) this.add(MemberToggle.bypassesVerification)
if (member.flags & MemberFlags.CompletedOnboarding) this.add(MemberToggle.completedOnboarding)
if (member.flags & MemberFlags.IsGuest) this.add(MemberToggle.isGuest)
if (member.flags & MemberFlags.StartedHomeActions) this.add(MemberToggle.startedHomeActions)
if (member.flags & MemberFlags.CompletedHomeActions) this.add(MemberToggle.completedHomeActions)
if (member.flags & MemberFlags.AutomodQuarantinedUsername) this.add(MemberToggle.automodQuarantinedUsername)
if (member.flags & MemberFlags.DmSettingsUpsellAcknowledged) this.add(MemberToggle.dmSettingsUpsellAcknowledged)
}
}
}
@@ -51,6 +66,11 @@ export class MemberToggles extends ToggleBitfield {
if (this.startedOnboarding) flags |= MemberFlags.StartedOnboarding
if (this.bypassesVerification) flags |= MemberFlags.BypassesVerification
if (this.completedOnboarding) flags |= MemberFlags.CompletedOnboarding
if (this.isGuest) flags |= MemberFlags.IsGuest
if (this.startedHomeActions) flags |= MemberFlags.StartedHomeActions
if (this.completedHomeActions) flags |= MemberFlags.CompletedHomeActions
if (this.automodQuarantinedUsername) flags |= MemberFlags.AutomodQuarantinedUsername
if (this.dmSettingsUpsellAcknowledged) flags |= MemberFlags.DmSettingsUpsellAcknowledged
return flags
}
@@ -90,6 +110,31 @@ export class MemberToggles extends ToggleBitfield {
return this.has('completedOnboarding')
}
/** Member is a guest and can only access the voice channel they were invited to */
get isGuest(): boolean {
return this.has('isGuest')
}
/** Member has started Server Guide new member actions */
get startedHomeActions(): boolean {
return this.has('startedHomeActions')
}
/** Member has completed Server Guide new member actions */
get completedHomeActions(): boolean {
return this.has('completedHomeActions')
}
/** Member's username, display name, or nickname is blocked by AutoMod */
get automodQuarantinedUsername(): boolean {
return this.has('automodQuarantinedUsername')
}
/** Member has dismissed the DM settings upsell */
get dmSettingsUpsellAcknowledged(): boolean {
return this.has('dmSettingsUpsellAcknowledged')
}
/** Checks whether or not the permissions exist in this */
has(permissions: MemberToggleKeys | MemberToggleKeys[]): boolean {
if (!Array.isArray(permissions)) return super.contains(MemberToggle[permissions])
+35
View File
@@ -58,6 +58,41 @@ export enum MemberFlags {
* This value is not editable
*/
StartedOnboarding = 1 << 3,
/**
* Member is a guest and can only access the voice channel they were invited to
*
* @remarks
* This value is not editable
*/
IsGuest = 1 << 4,
/**
* Member has started Server Guide new member actions
*
* @remarks
* This value is not editable
*/
StartedHomeActions = 1 << 5,
/**
* Member has completed Server Guide new member actions
*
* @remarks
* This value is not editable
*/
CompletedHomeActions = 1 << 6,
/**
* Member's username, display name, or nickname is blocked by AutoMod
*
* @remarks
* This value is not editable
*/
AutomodQuarantinedUsername = 1 << 7,
/**
* Member has dismissed the DM settings upsell
*
* @remarks
* This value is not editable
*/
DmSettingsUpsellAcknowledged = 1 << 9,
}
/** https://discord.com/developers/docs/resources/channel#channels-resource */