Skip to content

Commit e32a103

Browse files
Disallow TQS-mutes if the user is already muted
1 parent 74df3e0 commit e32a103

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

Commands/InteractionCommands/MuteInteractions.cs

+13
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,18 @@ public async Task TqsMuteSlashCommand(
109109
return;
110110
}
111111

112+
// Check if the user is already muted; disallow TQS-mute if so
113+
114+
DiscordRole mutedRole = ctx.Guild.GetRole(Program.cfgjson.MutedRole);
115+
DiscordRole tqsMutedRole = ctx.Guild.GetRole(Program.cfgjson.TqsMutedRole);
116+
117+
if (await Program.db.HashExistsAsync("mutes", targetUser.Id) || ctx.Member.Roles.Contains(mutedRole) || ctx.Member.Roles.Contains(tqsMutedRole))
118+
{
119+
await ctx.EditResponseAsync(new DiscordWebhookBuilder().WithContent($"{Program.cfgjson.Emoji.Error} {ctx.User.Mention}, that user is already muted."));
120+
return;
121+
}
122+
123+
// Get member
112124
DiscordMember targetMember = default;
113125
try
114126
{
@@ -119,6 +131,7 @@ public async Task TqsMuteSlashCommand(
119131
// blah
120132
}
121133

134+
// Check if user to be muted is staff or TQS, and disallow if so
122135
if (targetMember != default && GetPermLevel(ctx.Member) == ServerPermLevel.TechnicalQueriesSlayer && (GetPermLevel(targetMember) >= ServerPermLevel.TechnicalQueriesSlayer || targetMember.IsBot))
123136
{
124137
await ctx.EditResponseAsync(new DiscordWebhookBuilder().WithContent($"{Program.cfgjson.Emoji.Error} {ctx.User.Mention}, you cannot mute other TQS or staff members."));

Commands/Mutes.cs

+13
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,18 @@ public async Task TqsMuteCmd(
113113
return;
114114
}
115115

116+
// Check if the user is already muted; disallow TQS-mute if so
117+
118+
DiscordRole mutedRole = ctx.Guild.GetRole(Program.cfgjson.MutedRole);
119+
DiscordRole tqsMutedRole = ctx.Guild.GetRole(Program.cfgjson.TqsMutedRole);
120+
121+
if ((await Program.db.HashExistsAsync("mutes", targetUser.Id)) || (ctx.Member != default && (ctx.Member.Roles.Contains(mutedRole) || ctx.Member.Roles.Contains(tqsMutedRole))))
122+
{
123+
await ctx.RespondAsync($"{Program.cfgjson.Emoji.Error} {ctx.User.Mention}, that user is already muted.");
124+
return;
125+
}
126+
127+
// Get member
116128
DiscordMember targetMember = default;
117129
try
118130
{
@@ -123,6 +135,7 @@ public async Task TqsMuteCmd(
123135
// blah
124136
}
125137

138+
// Check if user to be muted is staff or TQS, and disallow if so
126139
if (targetMember != default && GetPermLevel(ctx.Member) == ServerPermLevel.TechnicalQueriesSlayer && (GetPermLevel(targetMember) >= ServerPermLevel.TechnicalQueriesSlayer || targetMember.IsBot))
127140
{
128141
await ctx.Channel.SendMessageAsync($"{Program.cfgjson.Emoji.Error} {ctx.User.Mention}, you cannot mute other TQS or staff members.");

0 commit comments

Comments
 (0)