Skip to content

Commit 9104958

Browse files
committed
Split logic into several methods
1 parent 5987f25 commit 9104958

File tree

1 file changed

+113
-104
lines changed

1 file changed

+113
-104
lines changed

application/src/main/java/org/togetherjava/tjbot/commands/tag/TagManageCommand.java

Lines changed: 113 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -70,123 +70,132 @@ public void onSlashCommand(SlashCommandEvent event) {
7070
}
7171

7272
switch (event.getSubcommandName()) {
73-
case "edittag" -> {
74-
String tagId = event.getOption("id").getAsString();
75-
String content = event.getOption(CONTENT).getAsString();
73+
case "edittag" -> editTag(event);
74+
case "editidtag" -> editIdTag(event);
75+
case "deletetag" -> deleteTag(event, member);
76+
case "createtag" -> createTag(event);
77+
case "createidtag" -> createIdTag(event);
78+
default -> throw new IllegalStateException();
79+
}
80+
}
7681

77-
if (!tagSystem.exists(tagId)) {
78-
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
82+
private void editTag(SlashCommandEvent event) {
83+
String tagId = event.getOption("id").getAsString();
84+
String content = event.getOption(CONTENT).getAsString();
7985

80-
return;
81-
}
86+
if (!tagSystem.exists(tagId)) {
87+
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
8288

83-
tagSystem.put(tagId, content);
89+
return;
90+
}
8491

85-
event
86-
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
87-
.setTitle(SUCCESS)
88-
.setTimestamp(LocalDateTime.now())
89-
.setFooter(event.getUser().getAsTag())
90-
.setDescription("Successfully edited tag '" + tagId + "'")
91-
.build())
92-
.queue();
93-
}
94-
case "editidtag" -> {
95-
String tagId = event.getOption(TAG_MINUS_ID).getAsString();
96-
long messageId = event.getOption(MESSAGE_MINUS_ID).getAsLong();
97-
98-
if (!tagSystem.exists(tagId)) {
99-
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
100-
101-
return;
102-
}
103-
104-
event.getMessageChannel().retrieveMessageById(messageId).queue(message -> {
105-
tagSystem.put(tagId, message.getContentRaw());
106-
107-
event
108-
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
109-
.setTitle(SUCCESS)
110-
.setTimestamp(LocalDateTime.now())
111-
.setFooter(event.getUser().getAsTag())
112-
.setDescription("Successfully edited tag '" + tagId + "'")
113-
.build())
114-
.queue();
115-
}, failure -> {
116-
if (failure instanceof ErrorResponseException ex
117-
&& ex.getErrorResponse() == ErrorResponse.UNKNOWN_MESSAGE) {
118-
event.reply("This message doesn't exist").setEphemeral(true).queue();
119-
}
120-
});
121-
}
122-
case "deletetag" -> {
123-
String tagId = event.getOption("id").getAsString();
92+
tagSystem.put(tagId, content);
93+
94+
event
95+
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
96+
.setTitle(SUCCESS)
97+
.setTimestamp(LocalDateTime.now())
98+
.setFooter(event.getUser().getAsTag())
99+
.setDescription("Successfully edited tag '" + tagId + "'")
100+
.build())
101+
.queue();
102+
}
124103

125-
if (!tagSystem.exists(tagId)) {
126-
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
104+
private void editIdTag(SlashCommandEvent event) {
105+
String tagId = event.getOption(TAG_MINUS_ID).getAsString();
106+
long messageId = event.getOption(MESSAGE_MINUS_ID).getAsLong();
127107

128-
return;
129-
}
108+
if (!tagSystem.exists(tagId)) {
109+
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
130110

131-
event.reply("You sure? Confirming this will delete the tag '" + tagId + "'")
132-
.addActionRow(
133-
Button.of(ButtonStyle.SUCCESS,
134-
generateComponentId(member.getId(), tagId), "Of course!"),
135-
Button.of(ButtonStyle.DANGER, generateComponentId(member.getId()),
136-
"Abort"))
137-
.queue();
111+
return;
112+
}
113+
114+
event.getMessageChannel().retrieveMessageById(messageId).queue(message -> {
115+
tagSystem.put(tagId, message.getContentRaw());
116+
117+
event
118+
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
119+
.setTitle(SUCCESS)
120+
.setTimestamp(LocalDateTime.now())
121+
.setFooter(event.getUser().getAsTag())
122+
.setDescription("Successfully edited tag '" + tagId + "'")
123+
.build())
124+
.queue();
125+
}, failure -> {
126+
if (failure instanceof ErrorResponseException ex
127+
&& ex.getErrorResponse() == ErrorResponse.UNKNOWN_MESSAGE) {
128+
event.reply("This message doesn't exist").setEphemeral(true).queue();
138129
}
139-
case "createtag" -> {
140-
String tagId = event.getOption("id").getAsString();
141-
String content = event.getOption(CONTENT).getAsString();
130+
});
131+
}
142132

143-
if (tagSystem.exists(tagId)) {
144-
event.reply("This tag already exists").setEphemeral(true).queue();
133+
private void deleteTag(SlashCommandEvent event, Member member) {
134+
String tagId = event.getOption("id").getAsString();
145135

146-
return;
147-
}
136+
if (!tagSystem.exists(tagId)) {
137+
event.reply(THIS_TAG_DOES_NOT_EXIST).setEphemeral(true).queue();
148138

149-
tagSystem.put(tagId, content);
139+
return;
140+
}
150141

151-
event
152-
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
153-
.setTitle(SUCCESS)
154-
.setTimestamp(LocalDateTime.now())
155-
.setFooter(event.getUser().getAsTag())
156-
.setDescription("Successfully created tag '" + tagId + "'")
157-
.build())
158-
.queue();
159-
}
160-
case "createidtag" -> {
161-
String tagId = event.getOption(TAG_MINUS_ID).getAsString();
162-
long messageId = event.getOption(MESSAGE_MINUS_ID).getAsLong();
163-
164-
if (tagSystem.exists(tagId)) {
165-
event.reply("This tag already exists").setEphemeral(true).queue();
166-
167-
return;
168-
}
169-
170-
event.getMessageChannel().retrieveMessageById(messageId).queue(message -> {
171-
tagSystem.put(tagId, message.getContentRaw());
172-
173-
event
174-
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
175-
.setTitle(SUCCESS)
176-
.setTimestamp(LocalDateTime.now())
177-
.setFooter(event.getUser().getAsTag())
178-
.setDescription("Successfully created tag '" + tagId + "'")
179-
.build())
180-
.queue();
181-
}, failure -> {
182-
if (failure instanceof ErrorResponseException ex
183-
&& ex.getErrorResponse() == ErrorResponse.UNKNOWN_MESSAGE) {
184-
event.reply("This message doesn't exist").setEphemeral(true).queue();
185-
}
186-
});
187-
}
188-
default -> throw new IllegalStateException();
142+
event.reply("You sure? Confirming this will delete the tag '" + tagId + "'")
143+
.addActionRow(
144+
Button.of(ButtonStyle.SUCCESS, generateComponentId(member.getId(), tagId),
145+
"Of course!"),
146+
Button.of(ButtonStyle.DANGER, generateComponentId(member.getId()), "Abort"))
147+
.queue();
148+
}
149+
150+
private void createTag(SlashCommandEvent event) {
151+
String tagId = event.getOption("id").getAsString();
152+
String content = event.getOption(CONTENT).getAsString();
153+
154+
if (tagSystem.exists(tagId)) {
155+
event.reply("This tag already exists").setEphemeral(true).queue();
156+
157+
return;
189158
}
159+
160+
tagSystem.put(tagId, content);
161+
162+
event
163+
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
164+
.setTitle(SUCCESS)
165+
.setTimestamp(LocalDateTime.now())
166+
.setFooter(event.getUser().getAsTag())
167+
.setDescription("Successfully created tag '" + tagId + "'")
168+
.build())
169+
.queue();
170+
}
171+
172+
private void createIdTag(SlashCommandEvent event) {
173+
String tagId = event.getOption(TAG_MINUS_ID).getAsString();
174+
long messageId = event.getOption(MESSAGE_MINUS_ID).getAsLong();
175+
176+
if (tagSystem.exists(tagId)) {
177+
event.reply("This tag already exists").setEphemeral(true).queue();
178+
179+
return;
180+
}
181+
182+
event.getMessageChannel().retrieveMessageById(messageId).queue(message -> {
183+
tagSystem.put(tagId, message.getContentRaw());
184+
185+
event
186+
.replyEmbeds(new EmbedBuilder().setColor(Color.GREEN)
187+
.setTitle(SUCCESS)
188+
.setTimestamp(LocalDateTime.now())
189+
.setFooter(event.getUser().getAsTag())
190+
.setDescription("Successfully created tag '" + tagId + "'")
191+
.build())
192+
.queue();
193+
}, failure -> {
194+
if (failure instanceof ErrorResponseException ex
195+
&& ex.getErrorResponse() == ErrorResponse.UNKNOWN_MESSAGE) {
196+
event.reply("This message doesn't exist").setEphemeral(true).queue();
197+
}
198+
});
190199
}
191200

192201
@Override

0 commit comments

Comments
 (0)