Skip to content

Commit b711c7c

Browse files
committed
refactor /help ping embed creation
1 parent 26bcdfa commit b711c7c

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

src/main/java/net/javadiscord/javabot/systems/help/commands/HelpPingSubcommand.java

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import net.dv8tion.jda.api.EmbedBuilder;
44
import net.dv8tion.jda.api.entities.Guild;
55
import net.dv8tion.jda.api.entities.Member;
6+
import net.dv8tion.jda.api.entities.MessageEmbed;
67
import net.dv8tion.jda.api.entities.Role;
78
import net.dv8tion.jda.api.entities.channel.ChannelType;
89
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
@@ -94,24 +95,14 @@ public void execute(@NotNull SlashCommandInteractionEvent event) {
9495
Responses.warning(event, "Sorry, this command cannot be used directly after a post has been created.").queue();
9596
return;
9697
}
98+
99+
String comment = event.getOption("comment", null, OptionMapping::getAsString);
100+
97101
if (isHelpPingTimeoutElapsed(member.getIdLong(), config)) {
98102
lastPingTimes.put(event.getMember().getIdLong(), new Pair<>(System.currentTimeMillis(), config.getGuild()));
99103
TextChannel notifChannel = config.getHelpConfig().getHelpNotificationChannel();
100-
EmbedBuilder eb = new EmbedBuilder()
101-
.setDescription("%s requested help in %s"
102-
.formatted(
103-
event.getUser().getAsMention(),
104-
post.getAsMention()
105-
))
106-
.setAuthor(member.getEffectiveName(), null, member.getEffectiveAvatarUrl())
107-
.setFooter(event.getUser().getId())
108-
.setColor(Color.YELLOW);
109104

110-
appendComment(eb, event.getOption("comment", null, OptionMapping::getAsString));
111-
appendTags(eb, post);
112-
eb.appendDescription("\n\n[Click to view]("+post.getJumpUrl()+")");
113-
114-
notifChannel.sendMessageEmbeds(eb.build())
105+
notifChannel.sendMessageEmbeds(createHelpEmbed(comment, post, member))
115106
.addActionRow(createAcknowledgementButton())
116107
.queue();
117108
event.reply("""
@@ -127,6 +118,27 @@ public void execute(@NotNull SlashCommandInteractionEvent event) {
127118
}
128119
}
129120

121+
private MessageEmbed createHelpEmbed(String comment, ThreadChannel post, Member member) {
122+
EmbedBuilder eb = createBasicHelpEmbedBuilder(post, member);
123+
appendComment(eb, comment);
124+
appendTags(eb, post);
125+
eb.appendDescription("\n\n[Click to view]("+post.getJumpUrl()+")");
126+
return eb.build();
127+
}
128+
129+
private EmbedBuilder createBasicHelpEmbedBuilder(ThreadChannel post, Member member) {
130+
EmbedBuilder eb = new EmbedBuilder()
131+
.setDescription("%s requested help in %s"
132+
.formatted(
133+
member.getAsMention(),
134+
post.getAsMention()
135+
))
136+
.setAuthor(member.getEffectiveName(), null, member.getEffectiveAvatarUrl())
137+
.setFooter(member.getId())
138+
.setColor(Color.YELLOW);
139+
return eb;
140+
}
141+
130142
private void appendTags(EmbedBuilder eb, ThreadChannel post) {
131143
List<ForumTag> tags = post.getAppliedTags();
132144
if (!tags.isEmpty()) {

0 commit comments

Comments
 (0)