diff --git a/pom.xml b/pom.xml
index d98b3c2..e2b9978 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
org.yaml
snakeyaml
- 1.30
+ 1.32
org.jetbrains
@@ -80,12 +80,12 @@
org.slf4j
slf4j-api
- 2.0.0
+ 2.0.1
org.slf4j
slf4j-simple
- 2.0.0
+ 2.0.1
com.sedmelluq
@@ -120,7 +120,7 @@
org.xerial
sqlite-jdbc
- 3.39.2.1
+ 3.39.3.0
com.zaxxer
diff --git a/src/main/java/net/tylermurphy/ken/command/Responder.java b/src/main/java/net/tylermurphy/ken/command/Responder.java
index eee9bb7..63aaf55 100644
--- a/src/main/java/net/tylermurphy/ken/command/Responder.java
+++ b/src/main/java/net/tylermurphy/ken/command/Responder.java
@@ -31,6 +31,7 @@ import net.tylermurphy.ken.command.music.*;
import net.tylermurphy.ken.command.music.Queue;
import net.tylermurphy.ken.command.nsfw.*;
import net.tylermurphy.ken.command.selfrole.*;
+import net.tylermurphy.ken.command.social.Sticker;
import java.awt.*;
import java.lang.reflect.Method;
@@ -94,6 +95,7 @@ public class Responder extends ListenerAdapter {
new UnMute(),
new SetJoining(),
new History(),
+ new Sticker()
};
Arrays.stream(objects).forEach(register::register);
}
@@ -142,9 +144,9 @@ public class Responder extends ListenerAdapter {
// Invoke Method and Respond to User
try {
- event.deferReply().queue();
Object temp = method.invoke(register.getHandle(method.getDeclaringClass().getName()), parameters);
Response response = (Response)temp;
+ event.deferReply(response.isError()).queue();
reply(response, event.getHook());
} catch (Exception e) {
e.printStackTrace();
@@ -239,9 +241,9 @@ public class Responder extends ListenerAdapter {
// Invoke Method and Respond to User
try {
- event.deferReply().queue();
Object temp = method.invoke(register.getHandle(method.getDeclaringClass().getName()), parameters);
Response response = (Response) temp;
+ event.deferReply(response.isError()).queue();
reply(response, event.getHook());
} catch (Exception e) {
EmbedBuilder builder = Ken.getInstance().getDefaultEmbed()
@@ -309,6 +311,7 @@ public class Responder extends ListenerAdapter {
case CHANNEL -> args.add(option.getAsChannel());
case ROLE -> args.add(option.getAsRole());
case MENTIONABLE -> args.add(option.getAsMentionable());
+ case ATTACHMENT -> args.add(option.getAsAttachment());
default -> {
}
}
diff --git a/src/main/java/net/tylermurphy/ken/command/main/Help.java b/src/main/java/net/tylermurphy/ken/command/main/Help.java
index 3746ffc..80daa3c 100644
--- a/src/main/java/net/tylermurphy/ken/command/main/Help.java
+++ b/src/main/java/net/tylermurphy/ken/command/main/Help.java
@@ -89,6 +89,13 @@ public class Help {
.appendDescription("**/money** Check how much moneys you have\n")
.appendDescription("**/roulette ** Gamble on roulette\n")
.appendDescription("**/slots ** Gamble on slots\n"),
+ Ken.getInstance().getDefaultEmbed()
+ .setAuthor("Command List")
+ .setTitle(":desktop: **Social Commands**")
+ .appendDescription("**/sticker ** Post a sticker\n")
+ .appendDescription("**/addsticker ** Add a sticker\n")
+ .appendDescription("**/deletesticker ** Delete a sticker\n")
+ .appendDescription("**/liststickers** List all server stickers\n"),
Ken.getInstance().getDefaultEmbed()
.setAuthor("Command List")
.setTitle(":man_detective: **Self Roles**")
diff --git a/src/main/java/net/tylermurphy/ken/command/social/Sticker.java b/src/main/java/net/tylermurphy/ken/command/social/Sticker.java
new file mode 100644
index 0000000..9fc5c52
--- /dev/null
+++ b/src/main/java/net/tylermurphy/ken/command/social/Sticker.java
@@ -0,0 +1,88 @@
+package net.tylermurphy.ken.command.social;
+
+import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
+import net.dv8tion.jda.api.entities.Message;
+import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
+import net.dv8tion.jda.api.interactions.commands.OptionType;
+import net.dv8tion.jda.internal.utils.tuple.Pair;
+import net.tylermurphy.ken.Ken;
+import net.tylermurphy.ken.command.Response;
+import net.tylermurphy.ken.command.annotation.Command;
+import net.tylermurphy.ken.command.annotation.Option;
+import net.tylermurphy.ken.command.annotation.Requirement;
+
+import java.util.List;
+
+public class Sticker {
+
+ @Command(name="sticker", description="Post a sticker set in a server")
+ @Option(name="name", description="Name of the sticker", type=OptionType.STRING, required=true)
+ public Response sticker(Member sender, Guild guild, List