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 +