Skip to content

Commit e9c50fc

Browse files
committed
hint-dismiss button
1 parent 22550ec commit e9c50fc

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/main/java/net/javadiscord/javabot/data/config/guild/HelpConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public class HelpConfig extends GuildConfigItem {
103103
* The message-embed's footnote of an unformatted-code-replacement.
104104
* Issued by {@link net.javadiscord.javabot.systems.help.AutoCodeFormatter}
105105
*/
106-
private String autoFormatInfoMessage = "This message has been formatted automatically.";
106+
private String autoFormatInfoMessage = "This message has been formatted automatically. You can disable this using ``/preferences``.";
107107

108108
/**
109109
* The amount of experience points one gets for being thanked by the help channel owner.

src/main/java/net/javadiscord/javabot/systems/help/AutoCodeFormatter.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
import net.dv8tion.jda.api.EmbedBuilder;
55
import net.dv8tion.jda.api.entities.Guild;
66
import net.dv8tion.jda.api.entities.MessageEmbed;
7+
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
78
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
9+
import net.dv8tion.jda.api.interactions.components.buttons.Button;
810
import net.javadiscord.javabot.data.config.BotConfig;
911
import net.javadiscord.javabot.systems.moderation.AutoMod;
1012
import net.javadiscord.javabot.systems.user_preferences.UserPreferenceService;
1113
import net.javadiscord.javabot.systems.user_preferences.model.Preference;
1214
import net.javadiscord.javabot.util.ExceptionLogger;
15+
import net.javadiscord.javabot.util.InteractionUtils;
1316
import net.javadiscord.javabot.util.WebhookUtil;
1417
import org.jetbrains.annotations.NotNull;
1518
import org.jetbrains.annotations.Nullable;
@@ -25,6 +28,10 @@
2528
@RequiredArgsConstructor
2629
@Component
2730
public class AutoCodeFormatter {
31+
/**
32+
* The identifier used for all AutoCodeFormatter related buttons.
33+
*/
34+
static final String FORMAT_HINT_IDENTIFIER = "forum-formatter-removeHint";
2835
private final AutoMod autoMod;
2936
private final BotConfig botConfig;
3037
private final UserPreferenceService preferenceService;
@@ -118,6 +125,9 @@ void handleMessageEvent(@Nonnull MessageReceivedEvent event, boolean isFirstMess
118125
private void sendFormatHint(MessageReceivedEvent event) {
119126
event.getMessage()
120127
.replyEmbeds(formatHintEmbed(event.getGuild()))
128+
.addActionRow(
129+
Button.secondary(InteractionUtils.DELETE_ORIGINAL_TEMPLATE, "\uD83D\uDDD1️")
130+
)
121131
.queue();
122132
}
123133

@@ -142,10 +152,8 @@ private void replaceUnformattedCode(String msg, int codeStartIndex, int codeEndI
142152
wh,
143153
event.getMessage(),
144154
messageContent,
145-
event.getChannel()
146-
.getIdLong(),
147-
autoformatInfo.build(),
148-
formatHintEmbed(event.getGuild())
155+
event.getChannel().getIdLong(),
156+
autoformatInfo.build()
149157
),
150158
e -> ExceptionLogger.capture(
151159
e,
@@ -160,5 +168,9 @@ private MessageEmbed formatHintEmbed(Guild guild) {
160168
.getFormatHintMessage()).build();
161169
}
162170

171+
private void handleDeleteHint(ButtonInteractionEvent event) {
172+
event.getMessage().delete().queue();
173+
}
174+
163175
private record CodeBlock(int startIndex, int endIndex) {}
164176
}

0 commit comments

Comments
 (0)