diff --git a/packages/bot/src/transformers/toggles/member.ts b/packages/bot/src/transformers/toggles/member.ts index 5c004258b..4787e4be2 100644 --- a/packages/bot/src/transformers/toggles/member.ts +++ b/packages/bot/src/transformers/toggles/member.ts @@ -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]) diff --git a/packages/types/src/shared.ts b/packages/types/src/shared.ts index 8e2822d9f..8b62b9515 100644 --- a/packages/types/src/shared.ts +++ b/packages/types/src/shared.ts @@ -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 */