Skip to content

Commit 303a9f8

Browse files
committed
Added EmojiCommand for Admins!
1 parent d56dbe5 commit 303a9f8

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package org.mangorage.mangobotplugin.commands.internal;
2+
3+
import net.dv8tion.jda.api.Permission;
4+
import net.dv8tion.jda.api.entities.Icon;
5+
import net.dv8tion.jda.api.entities.Message;
6+
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
7+
import net.dv8tion.jda.api.entities.emoji.Emoji;
8+
import org.mangorage.commonutils.misc.Arguments;
9+
import org.mangorage.mangobotcore.jda.command.api.CommandResult;
10+
import org.mangorage.mangobotcore.jda.command.api.ICommand;
11+
12+
import java.io.IOException;
13+
import java.util.List;
14+
import java.util.concurrent.ExecutionException;
15+
16+
public final class EmojiCommand implements ICommand {
17+
@Override
18+
public String id() {
19+
return "emoji";
20+
}
21+
22+
@Override
23+
public List<String> commands() {
24+
return List.of("emoji");
25+
}
26+
27+
@Override
28+
public String usage() {
29+
return """
30+
Emoji Usage:
31+
32+
!emoji create <name/id> <emoji>
33+
!emoji create <name/id> <emojiName> <emojiId>
34+
""";
35+
}
36+
37+
@Override
38+
public CommandResult execute(Message message, Arguments arguments) {
39+
var sub_cmd = arguments.get(0);
40+
if (sub_cmd.contains("create")) {
41+
var requester = message.getMember();
42+
if (!requester.hasPermission(Permission.ADMINISTRATOR)) {
43+
return CommandResult.NO_PERMISSION;
44+
} else {
45+
if (arguments.getArgs().length == 4) {
46+
var ce = Emoji.fromFormatted("<:" + arguments.get(2) + ":" + arguments.get(3) + ">").asCustom();
47+
try {
48+
message.getGuild().createEmoji(
49+
arguments.get(1),
50+
Icon.from(ce.getImage().download().get())
51+
).queue(s -> {
52+
message.reply("Successfully added new Emoji!").queue();
53+
});
54+
} catch (Throwable e) {
55+
message.reply("Failed").queue();
56+
}
57+
} else if (arguments.getArgs().length == 3) {
58+
var ce = Emoji.fromFormatted(arguments.get(2)).asCustom();
59+
try {
60+
message.getGuild().createEmoji(
61+
arguments.get(1),
62+
Icon.from(ce.getImage().download().get())
63+
).queue(s -> {
64+
message.reply("Successfully added new Emoji!").queue();
65+
});
66+
} catch (Throwable e) {
67+
message.reply("Failed").queue();
68+
}
69+
} else {
70+
message.reply("Improper Usage").queue();
71+
}
72+
73+
return CommandResult.PASS;
74+
}
75+
}
76+
return CommandResult.PASS;
77+
}
78+
}

src/main/java/org/mangorage/mangobotplugin/entrypoint/MangoBot.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.mangorage.mangobotplugin.actions.TrashButtonAction;
2121
import org.mangorage.mangobotplugin.commands.PingCommand;
2222
import org.mangorage.mangobotplugin.commands.PingsCommand;
23+
import org.mangorage.mangobotplugin.commands.internal.EmojiCommand;
2324
import org.mangorage.mangobotplugin.commands.music.commands.PauseCommand;
2425
import org.mangorage.mangobotplugin.commands.music.commands.PlayCommand;
2526
import org.mangorage.mangobotplugin.commands.music.commands.PlayingCommand;
@@ -80,6 +81,8 @@ public final class MangoBot implements Plugin {
8081
public MangoBot() {
8182
ACTION_REGISTRY.register(new TrashButtonAction());
8283

84+
commandManager.register(new EmojiCommand());
85+
8386
commandManager.register(new PingCommand());
8487
commandManager.register(new TrickCommand(this));
8588
commandManager.register(new PingsCommand());

0 commit comments

Comments
 (0)