Skip to content

Commit 63d02b5

Browse files
author
Dynxsty
committed
added optional titles to /embed & /editembed
1 parent 5030e83 commit 63d02b5

File tree

3 files changed

+44
-32
lines changed

3 files changed

+44
-32
lines changed

src/main/java/com/javadiscord/javabot/commands/moderation/EditEmbed.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,38 @@ public void handle(SlashCommandEvent event) {
3131
}
3232

3333
void editEmbedFromLink(SlashCommandEvent event) {
34-
String oriLink = event.getOption("original-link").getAsString();
35-
String newLink = event.getOption("new-link").getAsString();
34+
String emLink = event.getOption("embed-link").getAsString();
35+
String msgLink = event.getOption("message-link").getAsString();
3636

37-
String[] oriValue = oriLink.split("/");
38-
String[] newValue = newLink.split("/");
37+
String[] emValue = emLink.split("/");
38+
String[] msgValue = msgLink.split("/");
3939

40-
Message oriMessage, newMessage;
40+
Message emMessage, msgMessage;
4141
try {
42-
TextChannel oriChannel = event.getGuild().getTextChannelById(oriValue[5]);
43-
oriMessage = oriChannel.retrieveMessageById(oriValue[6]).complete();
42+
TextChannel emChannel = event.getGuild().getTextChannelById(emValue[5]);
43+
emMessage = emChannel.retrieveMessageById(emValue[6]).complete();
4444
} catch (Exception e) {
4545
event.replyEmbeds(Embeds.emptyError("```" + e.getMessage() + "```", event.getUser())).setEphemeral(Constants.ERR_EPHEMERAL).queue();
4646
return;
4747
}
4848

4949
try {
50-
TextChannel newChannel = event.getGuild().getTextChannelById(newValue[5]);
51-
newMessage = newChannel.retrieveMessageById(newValue[6]).complete();
50+
TextChannel msgChannel = event.getGuild().getTextChannelById(msgValue[5]);
51+
msgMessage = msgChannel.retrieveMessageById(msgValue[6]).complete();
5252
} catch (Exception e) {
5353
event.replyEmbeds(Embeds.emptyError("```" + e.getMessage() + "```", event.getUser())).setEphemeral(Constants.ERR_EPHEMERAL).queue();
5454
return;
5555
}
5656

57+
OptionMapping embedOption = event.getOption("title");
58+
String title = embedOption == null ? emMessage.getEmbeds().get(0).getTitle() : embedOption.getAsString();
59+
5760
EmbedBuilder eb = new EmbedBuilder()
58-
.setColor(oriMessage.getEmbeds().get(0).getColor())
59-
.setDescription(newMessage.getContentRaw());
61+
.setColor(emMessage.getEmbeds().get(0).getColor())
62+
.setTitle(title)
63+
.setDescription(msgMessage.getContentRaw());
6064

61-
oriMessage.editMessageEmbeds(eb.build()).queue();
65+
emMessage.editMessageEmbeds(eb.build()).queue();
6266
event.reply("Done!").setEphemeral(true).queue();
6367
}
6468

@@ -76,7 +80,9 @@ void editEmbed(SlashCommandEvent event) {
7680
return;
7781
}
7882

79-
String title = event.getOption("title").getAsString();
83+
OptionMapping embedOption = event.getOption("title");
84+
String title = embedOption == null ? message.getEmbeds().get(0).getTitle() : embedOption.getAsString();
85+
8086
String description = event.getOption("description").getAsString();
8187

8288
EmbedBuilder eb = new EmbedBuilder()

src/main/java/com/javadiscord/javabot/commands/moderation/Embed.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import net.dv8tion.jda.api.Permission;
88
import net.dv8tion.jda.api.entities.Message;
99
import net.dv8tion.jda.api.entities.MessageChannel;
10+
import net.dv8tion.jda.api.entities.TextChannel;
1011
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
1112
import net.dv8tion.jda.api.interactions.commands.OptionMapping;
1213

@@ -29,21 +30,31 @@ public void handle(SlashCommandEvent event) {
2930
}
3031

3132
void createEmbedFromLink(SlashCommandEvent event) {
32-
MessageChannel channel = event.getOption("channel").getAsMessageChannel();
33-
String messageID = event.getOption("message-id").getAsString();
33+
34+
String link = event.getOption("link").getAsString();
35+
String[] value = link.split("/");
36+
37+
Message message;
3438

3539
try {
36-
Message message = channel.retrieveMessageById(messageID).complete();
40+
TextChannel channel = event.getGuild().getTextChannelById(value[5]);
41+
message = channel.retrieveMessageById(value[6]).complete();
42+
} catch (Exception e) {
43+
event.replyEmbeds(Embeds.emptyError("```" + e.getMessage() + "```", event.getUser())).setEphemeral(Constants.ERR_EPHEMERAL).queue();
44+
return;
45+
}
46+
47+
OptionMapping embedOption = event.getOption("title");
48+
String title = embedOption == null ? null : embedOption.getAsString();
3749

38-
var e = new EmbedBuilder()
50+
var eb = new EmbedBuilder()
3951
.setColor(Constants.GRAY)
52+
.setTitle(title)
4053
.setDescription(message.getContentRaw())
4154
.build();
4255

43-
event.getChannel().sendMessageEmbeds(e).queue();
56+
event.getChannel().sendMessageEmbeds(eb).queue();
4457
event.reply("Done!").setEphemeral(true).queue();
45-
46-
} catch (Exception e) { event.replyEmbeds(Embeds.emptyError("```" + e.getMessage() + "```", event.getUser())).setEphemeral(Constants.ERR_EPHEMERAL).queue(); }
4758
}
4859

4960
void createEmbed(SlashCommandEvent event) {
@@ -80,14 +91,8 @@ void createEmbed(SlashCommandEvent event) {
8091
eb.setAuthor(authorname, url, iconurl);
8192
eb.setImage(img);
8293
eb.setThumbnail(thumb);
94+
eb.setColor(Color.decode(color));
8395

84-
if (!(color == null)) {
85-
try {
86-
eb.setColor(Color.decode(color));
87-
} catch (Exception e) {
88-
eb.setColor(Constants.GRAY);
89-
}
90-
}
9196

9297
event.replyEmbeds(eb.build()).queue();
9398

src/main/resources/commands.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@
7474
name: edit
7575
options:
7676
- { description: Link of the original Message, name: link, required: true, type: STRING }
77-
- { description: Title of the embed, name: title, required: true, type: STRING }
7877
- { description: Description of the embed, name: description, required: true, type: STRING }
78+
- { description: Title of the embed, name: title, required: false, type: STRING }
7979
- description: Edits an Embed from a Message
8080
name: from-message
8181
options:
82-
- { description: Link of the original Message, name: original-link, required: true, type: STRING }
83-
- { description: Link of the new Message, name: new-link, required: true, type: STRING }
82+
- { description: Link of the original Message, name: embed-link, required: true, type: STRING }
83+
- { description: Link of the new Message, name: message-link, required: true, type: STRING }
84+
- { description: Title of the embed, name: title, required: false, type: STRING }
8485
- description: Sends an embed
8586
name: embed
8687
handler: com.javadiscord.javabot.commands.moderation.Embed
@@ -102,8 +103,8 @@
102103
- description: Created a new Embed from a Message
103104
name: from-message
104105
options:
105-
- { description: Channel of the original Message, name: channel, required: true, type: CHANNEL }
106-
- { description: ID of the original Message, name: message-id, required: true, type: STRING }
106+
- { description: Link of the original Message, name: link, required: true, type: STRING }
107+
- { description: Title of the embed, name: title, required: false, type: STRING }
107108
- description: Kicks a member
108109
name: kick
109110
handler: com.javadiscord.javabot.commands.moderation.Kick

0 commit comments

Comments
 (0)