Skip to content

Commit 7d1c41d

Browse files
Reaction autoremove: Improve matching
Makes matches more specific + includes automatic actions, unmutes & unbans
1 parent 9345ebb commit 7d1c41d

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

Constants/RegexConstants.cs

+6
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,11 @@ public class RegexConstants
99
readonly public static Regex bold_rx = new("\\*\\*(.*?)\\*\\*");
1010
readonly public static Regex discord_link_rx = new(@".*discord(?:app)?.com\/channels\/((?:@)?[a-z0-9]*)\/([0-9]*)(?:\/)?([0-9]*)");
1111
readonly public static Regex channel_rx = new("<#([0-9]+)>");
12+
readonly public static Regex warn_msg_rx = new($"{Program.cfgjson.Emoji.Warning} <@!?[0-9]+> was warned");
13+
readonly public static Regex auto_warn_msg_rx = new($"{Program.cfgjson.Emoji.Denied} <@!?[0-9]+> was automatically warned");
14+
readonly public static Regex mute_msg_rx = new($"{Program.cfgjson.Emoji.Muted} <@!?[0-9]+> has been muted");
15+
readonly public static Regex unmute_msg_rx = new($"{Program.cfgjson.Emoji.Information} Successfully unmuted");
16+
readonly public static Regex ban_msg_rx = new($"{Program.cfgjson.Emoji.Banned} <@!?[0-9]+> has been banned");
17+
readonly public static Regex unban_msg_rx = new($"{Program.cfgjson.Emoji.Unbanned} Successfully unbanned");
1218
}
1319
}

Events/ReactionEvent.cs

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using static Cliptok.Program;
2+
using static Cliptok.Constants.RegexConstants;
23

34
namespace Cliptok.Events
45
{
@@ -15,9 +16,12 @@ public static async Task OnReaction(DiscordClient _, MessageReactionAddedEventAr
1516
// Remove reactions from warning/mute/ban messages
1617

1718
if (targetMessage.Author.Id == discord.CurrentUser.Id &&
18-
targetMessage.Content.Contains("was warned") ||
19-
targetMessage.Content.Contains("has been muted") ||
20-
targetMessage.Content.Contains("has been banned"))
19+
warn_msg_rx.IsMatch(targetMessage.Content) ||
20+
auto_warn_msg_rx.IsMatch(targetMessage.Content) ||
21+
mute_msg_rx.IsMatch(targetMessage.Content) ||
22+
unmute_msg_rx.IsMatch(targetMessage.Content) ||
23+
ban_msg_rx.IsMatch(targetMessage.Content) ||
24+
unban_msg_rx.IsMatch(targetMessage.Content))
2125
{
2226
await targetMessage.DeleteReactionAsync(e.Emoji, e.User);
2327
return;

0 commit comments

Comments
 (0)