diff --git a/src/main/java/net/discordjug/javabot/Bot.java b/src/main/java/net/discordjug/javabot/Bot.java index 29f478169..acc01a4fa 100644 --- a/src/main/java/net/discordjug/javabot/Bot.java +++ b/src/main/java/net/discordjug/javabot/Bot.java @@ -101,7 +101,7 @@ public void onApplicationEvent(ApplicationReadyEvent event) { */ public static void main(String[] args) throws Exception { TimeZone.setDefault(TimeZone.getTimeZone(ZoneOffset.UTC)); - MessageRequest.setDefaultMentions(EnumSet.of(Message.MentionType.ROLE, Message.MentionType.CHANNEL, Message.MentionType.USER, Message.MentionType.EMOJI)); + MessageRequest.setDefaultMentions(EnumSet.of(Message.MentionType.CHANNEL, Message.MentionType.USER, Message.MentionType.EMOJI)); SpringApplication.run(Bot.class, args); } diff --git a/src/main/java/net/discordjug/javabot/systems/moderation/report/ReportManager.java b/src/main/java/net/discordjug/javabot/systems/moderation/report/ReportManager.java index 237ad23fd..7542c6974 100644 --- a/src/main/java/net/discordjug/javabot/systems/moderation/report/ReportManager.java +++ b/src/main/java/net/discordjug/javabot/systems/moderation/report/ReportManager.java @@ -261,6 +261,7 @@ private void createReportThread(Message message, long targetId, ModerationConfig message.createThreadChannel(message.getEmbeds().get(0).getTitle()).queue( thread -> { thread.sendMessage(config.getStaffRole().getAsMention()) + .mention(config.getStaffRole()) .setComponents(setComponents(targetId, thread.getIdLong())) .queue(); onSuccess.accept(thread); diff --git a/src/main/java/net/discordjug/javabot/systems/moderation/server_lock/ServerLockManager.java b/src/main/java/net/discordjug/javabot/systems/moderation/server_lock/ServerLockManager.java index da05ca943..a1e96665b 100644 --- a/src/main/java/net/discordjug/javabot/systems/moderation/server_lock/ServerLockManager.java +++ b/src/main/java/net/discordjug/javabot/systems/moderation/server_lock/ServerLockManager.java @@ -257,7 +257,7 @@ public void lockServer(Guild guild, @NotNull Collection potentialRaiders config.getModerationConfig().getStaffRole().getAsMention(), potentialRaiders.size(), membersString - )); + ).mention(config.getModerationConfig().getStaffRole())); } else { notification.sendToModerationLog(c -> c.sendMessage("Server locked by " + lockedBy.getAsMention())); } diff --git a/src/main/java/net/discordjug/javabot/systems/qotw/commands/questions_queue/ListQuestionsSubcommand.java b/src/main/java/net/discordjug/javabot/systems/qotw/commands/questions_queue/ListQuestionsSubcommand.java index 315819631..bfdbe7eaf 100644 --- a/src/main/java/net/discordjug/javabot/systems/qotw/commands/questions_queue/ListQuestionsSubcommand.java +++ b/src/main/java/net/discordjug/javabot/systems/qotw/commands/questions_queue/ListQuestionsSubcommand.java @@ -6,6 +6,7 @@ import net.discordjug.javabot.util.Responses; import net.discordjug.javabot.util.UserUtils; import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.entities.UserSnowflake; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; @@ -67,7 +68,7 @@ protected InteractionCallbackAction handleCommand(@NotNull SlashCommandIntera "> %s\nPriority: **%d**\nCreated by: %s\nCreated at: ", question.getText(), question.getPriority(), - event.getJDA().retrieveUserById(question.getCreatedBy()).complete().getAsMention(), + UserSnowflake.fromId(question.getCreatedBy()).getAsMention(), question.getCreatedAt().toEpochSecond(ZoneOffset.UTC) ), false diff --git a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWCloseSubmissionsJob.java b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWCloseSubmissionsJob.java index 3df8d61ec..0f3834ba8 100644 --- a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWCloseSubmissionsJob.java +++ b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWCloseSubmissionsJob.java @@ -117,6 +117,7 @@ private void sendReviewInformation(Guild guild, QOTWConfig qotwConfig, TextChann .sendMessageFormat("%s%nIt's review time! There are **%s** threads to review", qotwConfig.getQOTWReviewRole().getAsMention(), qotwConfig.getSubmissionChannel().getThreadChannels().size()) + .mention(qotwConfig.getQOTWReviewRole()) .flatMap(msg -> msg.createThreadChannel("QOTW review")) .queue(thread -> { for (ThreadChannel submission : qotwConfig.getSubmissionChannel().getThreadChannels()) { diff --git a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWJob.java b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWJob.java index f808f8bb6..58782a92f 100644 --- a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWJob.java +++ b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWJob.java @@ -49,7 +49,7 @@ public void execute() throws SQLException { } Optional nextQuestion = questionQueueRepository.getNextQuestion(guild.getIdLong()); if (nextQuestion.isEmpty()) { - notificationService.withGuild(guild).sendToModerationLog(m -> m.sendMessageFormat("Warning! %s No available next question for QOTW!", config.getQotwConfig().getQOTWReviewRole().getAsMention())); + notificationService.withGuild(guild).sendToModerationLog(m -> m.sendMessageFormat("Warning! %s No available next question for QOTW!", config.getQotwConfig().getQOTWReviewRole().getAsMention()).mention(config.getQotwConfig().getQOTWReviewRole())); } else { QOTWQuestion question = nextQuestion.get(); QOTWConfig qotw = config.getQotwConfig(); @@ -70,6 +70,7 @@ public void execute() throws SQLException { NewsChannel questionChannel = qotw.getQuestionChannel(); if (questionChannel != null) { questionChannel.sendMessage(qotw.getQOTWRole().getAsMention()) + .mention(qotw.getQOTWRole()) .setEmbeds(this.buildQuestionEmbed(question)) .setComponents(ActionRow.of(Button.success("qotw-submission:submit:" + question.getQuestionNumber(), "Submit your Answer"))) .queue(msg -> questionChannel.crosspostMessageById(msg.getIdLong()).queue()); diff --git a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReminderJob.java b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReminderJob.java index d17cd2191..feb455d6b 100644 --- a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReminderJob.java +++ b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReminderJob.java @@ -39,7 +39,7 @@ public void execute() throws SQLException { if (q.isEmpty()) { notificationService.withGuild(guild).sendToModerationLog(m -> m.sendMessageFormat( "Warning! %s There's no Question of the Week in the queue. Please add one before it's time to post!", - config.getQOTWReviewRole().getAsMention())); + config.getQOTWReviewRole().getAsMention()).mention(config.getQOTWReviewRole())); } } } diff --git a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReviewReminderJob.java b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReviewReminderJob.java index 0201034a8..7872f111b 100644 --- a/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReviewReminderJob.java +++ b/src/main/java/net/discordjug/javabot/systems/qotw/jobs/QOTWReviewReminderJob.java @@ -6,9 +6,6 @@ import net.discordjug.javabot.systems.notification.NotificationService; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.Message; - -import java.util.EnumSet; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -40,7 +37,7 @@ public void execute() { channel .sendMessageFormat("%s\n**Reminder**\nThe QOTW has not been reviewed yet.", guildConfig.getQotwConfig().getQOTWReviewRole().getAsMention()) - .setAllowedMentions(EnumSet.of(Message.MentionType.ROLE)) + .mention(guildConfig.getQotwConfig().getQOTWReviewRole()) ); } } diff --git a/src/main/java/net/discordjug/javabot/util/Responses.java b/src/main/java/net/discordjug/javabot/util/Responses.java index 40dbea2ad..78cbaef7d 100644 --- a/src/main/java/net/discordjug/javabot/util/Responses.java +++ b/src/main/java/net/discordjug/javabot/util/Responses.java @@ -3,6 +3,7 @@ import java.awt.Color; import java.time.Instant; import java.util.Arrays; +import java.util.List; import java.util.stream.Collectors; import javax.annotation.CheckReturnValue; @@ -120,17 +121,17 @@ private Responses() { @CheckReturnValue public static @NotNull ReplyCallbackAction replyCannotInteract(IReplyCallback event, @NotNull IMentionable mentionable) { - return error(event, "I am missing permissions in order to interact with that. (%s)", mentionable.getAsMention()); + return error(event, "I am missing permissions in order to interact with that. (%s)", mentionable.getAsMention()).setAllowedMentions(List.of()); } @CheckReturnValue public static @NotNull ReplyCallbackAction replyStaffOnly(IReplyCallback event, GuildConfig guildConfig) { - return error(event, "This command may only be used by staff members. (%s)", guildConfig.getModerationConfig().getStaffRole().getAsMention()); + return error(event, "This command may only be used by staff members. (%s)", guildConfig.getModerationConfig().getStaffRole().getAsMention()).setAllowedMentions(List.of()); } @CheckReturnValue public static @NotNull ReplyCallbackAction replyAdminOnly(IReplyCallback event, GuildConfig guildConfig) { - return error(event, "This command may only be used by admins. (%s)", guildConfig.getModerationConfig().getAdminRole().getAsMention()); + return error(event, "This command may only be used by admins. (%s)", guildConfig.getModerationConfig().getAdminRole().getAsMention()).setAllowedMentions(List.of()); } /**