@@ -31,31 +31,36 @@ public Starboard(Config config) {
3131
3232 @ Override
3333 public void onMessageReactionAdd (@ NotNull MessageReactionAddEvent event ) {
34- String emojiName = event .getReaction (). getEmoji ().asCustom ().getName ();
34+ String emojiName = event .getEmoji ().asCustom ().getName ();
3535 Guild guild = event .getGuild ();
36- GuildChannel channel = event .getGuildChannel ();
37- if (!config .getEmojiNames ().contains (emojiName )
38- || !guild .getPublicRole ().hasPermission (channel , Permission .VIEW_CHANNEL )) {
36+ if (ignoreMessage (emojiName , guild , event .getGuildChannel ())) {
3937 return ;
4038 }
41- Optional <TextChannel > starboardChannel =
42- guild .getTextChannelsByName (config .getChannelName (), false ).stream ().findFirst ();
39+ Optional <TextChannel > starboardChannel = getStarboardChannel (guild );
4340 if (starboardChannel .isEmpty ()) {
4441 logger .warn ("There is no channel for the starboard in the guild with the name {}" ,
4542 config .getChannelName ());
4643 return ;
4744 }
48- event .getChannel ()
49- .retrieveMessageById (event .getMessageId ())
45+ event .retrieveMessage ()
5046 .flatMap (
5147 message -> starboardChannel .orElseThrow ().sendMessageEmbeds (formEmbed (message )))
5248 .queue ();
5349 }
5450
51+ private boolean ignoreMessage (String emojiName , Guild guild , GuildChannel channel ) {
52+ return !config .getEmojiNames ().contains (emojiName )
53+ || !guild .getPublicRole ().hasPermission (channel , Permission .VIEW_CHANNEL );
54+ }
55+
56+ private Optional <TextChannel > getStarboardChannel (Guild guild ) {
57+ return guild .getTextChannelsByName (config .getChannelName (), false ).stream ().findFirst ();
58+ }
59+
5560 private static MessageEmbed formEmbed (Message message ) {
5661 User author = message .getAuthor ();
5762 return new EmbedBuilder ().setAuthor (author .getName (), null , author .getAvatarUrl ())
5863 .setDescription (message .getContentDisplay ())
59- .build (); // Maybe set footer as reacted emoji?
64+ .build (); // TODO make footer with link and reacted emojis
6065 }
6166}
0 commit comments