From a1e8ba6d27f5d9496c3d389861c963d0a5e51295 Mon Sep 17 00:00:00 2001 From: Donald Shan Date: Mon, 5 Dec 2022 15:04:55 -0800 Subject: Add files via upload --- src/main/java/Main.java | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/main/java/Main.java (limited to 'src/main/java/Main.java') diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..fde7ac4 --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,78 @@ +import audio.Music; +import commands.CommandManager; +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.events.ReadyEvent; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; +import net.dv8tion.jda.api.interactions.commands.OptionType; +import net.dv8tion.jda.api.interactions.commands.build.CommandData; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; + +import javax.security.auth.login.LoginException; +import java.io.FileReader; + + + +public class Main extends ListenerAdapter { + public static JDABuilder jdabuilder = JDABuilder.createDefault(readSetting("discordToken")).addEventListeners(new Main()); + public static JDA jda; + + public static Music musicPlayer = new Music("$",readSetting("youtubeApi")); + public static void main( String[] args) + { + try { + jdabuilder.addEventListeners(musicPlayer); + jdabuilder.addEventListeners(new CommandManager(musicPlayer)); + jda = jdabuilder.build(); + setSlashCommands(); + System.out.println("Bot Started"); + } catch (LoginException e) { + throw new RuntimeException(e); + } + } + + + public static void setSlashCommands(){ + //jda.updateCommands(); + jda.upsertCommand(new CommandData("play","Adds a song to the queue with a URL or search terms"). + addOption(OptionType.STRING,"term","The link or search terms of the music to queue") + ).queue(); + jda.upsertCommand(new CommandData("leave","Clears the queue and disconnects the bot from voice channel")).queue(); + jda.upsertCommand(new CommandData("showqueue","Shows the current queue")).queue(); + jda.upsertCommand(new CommandData("pause","Pauses the player")).queue(); + jda.upsertCommand(new CommandData("skip","Skips the current song")).queue(); + jda.upsertCommand(new CommandData("nowplaying","Shows a detailed view of the current song playing")).queue(); + jda.upsertCommand(new CommandData("stop","Stops the player and clears the queue")).queue(); + jda.upsertCommand(new CommandData("vtmusic","Queues a set number of random VTuber songs and covers"). + addOption(OptionType.INTEGER,"number","Number of songs to queue") + ).queue(); + jda.upsertCommand(new CommandData("volume","Set the volume or leave blank to check current volume"). + addOption(OptionType.INTEGER,"volume","Volume from 0-100") + ).queue(); + + } + public static String readSetting(String parameter){ + Object obj = null; + try { + obj = new JSONParser().parse(new FileReader("settings//config.json")); + } catch (Exception e) { + e.printStackTrace(); + } + JSONObject jo = (JSONObject) obj; + return (String) jo.get(parameter); + } + + @Override + public void onMessageReceived(MessageReceivedEvent e) { + JDA jda = e.getJDA(); + Message message = e.getMessage(); + String msg = message.getContentDisplay(); + } + @Override + public void onReady(ReadyEvent event) { + System.out.println("Loading Complete"); + } +} -- cgit v1.2.3