@@ -38,7 +38,8 @@ public Starboard(Config config, Database database) {
3838 public void onMessageReactionAdd (@ NotNull MessageReactionAddEvent event ) {
3939 String emojiName = event .getEmoji ().asCustom ().getName ();
4040 Guild guild = event .getGuild ();
41- if (ignoreMessage (emojiName , guild , event .getGuildChannel ())) {
41+ if (shouldIgnoreMessage (emojiName , guild , event .getGuildChannel (),
42+ event .getMessageIdLong ())) {
4243 return ;
4344 }
4445 Optional <TextChannel > starboardChannel = getStarboardChannel (guild );
@@ -47,20 +48,21 @@ public void onMessageReactionAdd(@NotNull MessageReactionAddEvent event) {
4748 config .channelName ());
4849 return ;
4950 }
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 ();
5957 }
6058
61- private boolean ignoreMessage (String emojiName , Guild guild , GuildChannel channel ) {
59+ private boolean shouldIgnoreMessage (String emojiName , Guild guild , GuildChannel channel ,
60+ long messageId ) {
6261 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 ))));
6466 }
6567
6668 private Optional <TextChannel > getStarboardChannel (Guild guild ) {
0 commit comments