diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..737e3d7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,41 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
+
+### Secret Bot Files ###
+config.ini
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/artifacts/butler_jar.xml b/.idea/artifacts/butler_jar.xml
new file mode 100644
index 0000000..a871efd
--- /dev/null
+++ b/.idea/artifacts/butler_jar.xml
@@ -0,0 +1,45 @@
+
+
+ $PROJECT_DIR$/out/artifacts/butler_jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0a13117
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index e674ba8..3ab349e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
-# butler
\ No newline at end of file
+# butler
+
+this is a discord bot
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..54fc5ef
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,62 @@
+
+
+ 4.0.0
+
+ com.okseby
+ butler
+ 1.0-SNAPSHOT
+
+
+ 20
+ 20
+ UTF-8
+
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+ dv8tion
+ m2-dv8tion
+ https://m2.dv8tion.net/releases
+
+
+
+
+
+ net.dv8tion
+ JDA
+ 5.0.0-beta.9
+
+
+
+ com.github.FrostedCA
+ EasyCommands
+ 0.7.1
+
+
+
+ com.sedmelluq
+ lavaplayer
+ 1.3.77
+
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.7
+
+
+
+ org.slf4j
+ slf4j-simple
+ 2.0.7
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/okseby/butler/Main.java b/src/main/java/com/okseby/butler/Main.java
new file mode 100644
index 0000000..b409c15
--- /dev/null
+++ b/src/main/java/com/okseby/butler/Main.java
@@ -0,0 +1,28 @@
+package com.okseby.butler;
+
+import ca.tristan.easycommands.EasyCommands;
+import ca.tristan.easycommands.commands.defaults.HelpCmd;
+import com.okseby.butler.commands.ShutdownCmd;
+import net.dv8tion.jda.api.JDA;
+
+import java.io.IOException;
+
+public class Main {
+ public static void main(String[] args) throws InterruptedException, IOException {
+ EasyCommands easyCommands = new EasyCommands();
+
+ JDA jda = easyCommands.addExecutor( // Add your custom commands/executors here!
+ new HelpCmd(easyCommands),
+ new ShutdownCmd()
+ ).registerListeners( // Add your custom listeners/events here!
+ //new ExampleListener1(),
+ //new ExampleListener2()
+ ).addGatewayIntents(/*leave empty if any*/)
+ .addEnabledCacheFlags(/*leave empty if any*/)
+ .buildJDA(); // Starts the bot!
+
+
+ // This is kinda just to suppress an annoying IntelliJ warning.
+ System.out.println("JDA Status: " + jda.getStatus());
+ }
+}
diff --git a/src/main/java/com/okseby/butler/commands/ShutdownCmd.java b/src/main/java/com/okseby/butler/commands/ShutdownCmd.java
new file mode 100644
index 0000000..e57ba43
--- /dev/null
+++ b/src/main/java/com/okseby/butler/commands/ShutdownCmd.java
@@ -0,0 +1,29 @@
+package com.okseby.butler.commands;
+
+import ca.tristan.easycommands.commands.EventData;
+import ca.tristan.easycommands.commands.slash.SlashExecutor;
+import ca.tristan.easycommands.database.MySQL;
+
+public class ShutdownCmd extends SlashExecutor {
+ @Override
+ public String getName() {
+ return "shutdown";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Shuts down the bot";
+ }
+
+ @Override
+ public boolean isOwnerOnly() {
+ return false;
+ }
+
+ @Override
+ public void execute(EventData data, MySQL mySQL) {
+ data.reply("Goodbye!", false).queue();
+ data.getJda().shutdown();
+ }
+
+}
diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7333cd7
--- /dev/null
+++ b/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: com.okseby.butler.Main
+