Skip to content

Commit 0b6dc93

Browse files
Actually don't dehoist members who are quarantined for a bad guild tag
1 parent a78918b commit 0b6dc93

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

Commands/DehoistCmds.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ public async Task MassUndhoist(TextCommandContext ctx)
192192
continue;
193193
}
194194

195-
if (member.DisplayName[0] == DehoistHelpers.dehoistCharacter && !member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername))
195+
if (member.DisplayName[0] == DehoistHelpers.dehoistCharacter && !member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername) && !member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag))
196196
{
197197
var newNickname = member.Nickname[1..];
198198
await member.ModifyAsync(a =>

Events/MemberEvents.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ await e.Member.ModifyAsync(a =>
238238

239239
// Persist permadehoists
240240
if (await redis.SetContainsAsync("permadehoists", e.Member.Id))
241-
if (e.Member.DisplayName[0] != DehoistHelpers.dehoistCharacter && !e.Member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername))
241+
if (e.Member.DisplayName[0] != DehoistHelpers.dehoistCharacter && !e.Member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername) && !e.Member.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag))
242242
// Member is in permadehoist list. Dehoist.
243243
e.Member.ModifyAsync(a =>
244244
{

Helpers/DehoistHelpers.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static async Task<bool> CheckAndDehoistMemberAsync(DiscordMember targetMe
2424
displayName = targetMember.DisplayName;
2525
}
2626

27-
if ((await GetPermLevelAsync(targetMember)) >= ServerPermLevel.TrialModerator || targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername))
27+
if ((await GetPermLevelAsync(targetMember)) >= ServerPermLevel.TrialModerator || targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername) || targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag))
2828
{
2929
Program.discord.Logger.LogDebug("Skipped dehoisting member {member}: member is moderator or is automod-quarantined", targetMember.Id);
3030
return false;
@@ -75,7 +75,7 @@ await targetMember.ModifyAsync(a =>
7575
if (ex is DSharpPlus.Exceptions.BadRequestException)
7676
{
7777
Program.discord.Logger.LogInformation(Program.CliptokEventID, "Failed to dehoist member {memberId}! Discord said Bad Request. If this member's profile is in violation of AutoMod rules, this is expected!", targetMember.Id);
78-
Program.discord.Logger.LogDebug("Failed to dehoist {memberId} with error Bad Request! Member has quarantined flag: {isQuarantined}; all flags: {memberFlags}", targetMember.Id, targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername), targetMember.MemberFlags.Value);
78+
Program.discord.Logger.LogDebug("Failed to dehoist {memberId} with error Bad Request! Member is quarantined for username: {isUsernameQuarantined}; member is quarantined for guild tag: {isGuildTagQuarantined}; all flags: {memberFlags}", targetMember.Id, targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername), targetMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag), targetMember.MemberFlags.Value);
7979
}
8080

8181
Program.discord.Logger.LogDebug(ex, "Failed to dehoist {memberId} with unexpected error:", targetMember.Id);
@@ -105,7 +105,7 @@ await targetMember.ModifyAsync(a =>
105105
// If member is dehoisted already, but NOT permadehoisted, skip updating nickname.
106106

107107
// If member is not dehoisted
108-
if (discordMember.DisplayName[0] != dehoistCharacter && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername))
108+
if (discordMember.DisplayName[0] != dehoistCharacter && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername) && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag))
109109
{
110110
// Dehoist member
111111
try
@@ -158,7 +158,7 @@ await discordMember.ModifyAsync(a =>
158158
}
159159

160160
// Un-dehoist member
161-
if (discordMember.DisplayName[0] == dehoistCharacter && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername))
161+
if (discordMember.DisplayName[0] == dehoistCharacter && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedUsername) && !discordMember.MemberFlags.Value.HasFlag(DiscordMemberFlags.AutomodQuarantinedGuildTag))
162162
{
163163
var newNickname = discordMember.DisplayName[1..];
164164
try

0 commit comments

Comments
 (0)