@@ -38,7 +38,8 @@ public Starboard(Config config, Database database) {
38
38
public void onMessageReactionAdd (@ NotNull MessageReactionAddEvent event ) {
39
39
String emojiName = event .getEmoji ().asCustom ().getName ();
40
40
Guild guild = event .getGuild ();
41
- if (ignoreMessage (emojiName , guild , event .getGuildChannel ())) {
41
+ if (shouldIgnoreMessage (emojiName , guild , event .getGuildChannel (),
42
+ event .getMessageIdLong ())) {
42
43
return ;
43
44
}
44
45
Optional <TextChannel > starboardChannel = getStarboardChannel (guild );
@@ -47,20 +48,21 @@ public void onMessageReactionAdd(@NotNull MessageReactionAddEvent event) {
47
48
config .channelName ());
48
49
return ;
49
50
}
50
- if (database .read (context -> context .fetchExists (context .selectFrom (STARBOARD_MESSAGES )
51
- .where (STARBOARD_MESSAGES .MESSAGE_ID .eq (event .getMessageIdLong ()))))) {
52
- database .write (context -> context .newRecord (STARBOARD_MESSAGES )
53
- .setMessageId (event .getMessageIdLong ()));
54
- event .retrieveMessage ()
55
- .flatMap (message -> starboardChannel .orElseThrow ()
56
- .sendMessageEmbeds (formEmbed (message )))
57
- .queue ();
58
- }
51
+ database .write (context -> context .newRecord (STARBOARD_MESSAGES )
52
+ .setMessageId (event .getMessageIdLong ()));
53
+ event .retrieveMessage ()
54
+ .flatMap (
55
+ message -> starboardChannel .orElseThrow ().sendMessageEmbeds (formEmbed (message )))
56
+ .queue ();
59
57
}
60
58
61
- private boolean ignoreMessage (String emojiName , Guild guild , GuildChannel channel ) {
59
+ private boolean shouldIgnoreMessage (String emojiName , Guild guild , GuildChannel channel ,
60
+ long messageId ) {
62
61
return !config .emojiNames ().contains (emojiName )
63
- || !guild .getPublicRole ().hasPermission (channel , Permission .VIEW_CHANNEL );
62
+ || !guild .getPublicRole ().hasPermission (channel , Permission .VIEW_CHANNEL )
63
+ || database
64
+ .read (context -> context .fetchExists (context .selectFrom (STARBOARD_MESSAGES )
65
+ .where (STARBOARD_MESSAGES .MESSAGE_ID .eq (messageId ))));
64
66
}
65
67
66
68
private Optional <TextChannel > getStarboardChannel (Guild guild ) {
0 commit comments