From bf17ae800cc7aa4da8515c9881c88890e7950440 Mon Sep 17 00:00:00 2001 From: Tueem Date: Mon, 10 Feb 2025 00:34:52 +0100 Subject: [PATCH] add Lavalink Dependency and impl stub --- app/build.gradle.kts | 6 ++-- .../net/tomatentum/tomatenmusic3/App.java | 1 + .../lavalink/LavalinkWrapper.java | 32 +++++++++++++++++++ gradle/libs.versions.toml | 2 ++ 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/net/tomatentum/tomatenmusic3/lavalink/LavalinkWrapper.java diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 801b0f4..f6d2194 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,9 +14,8 @@ plugins { repositories { // Use Maven Central for resolving dependencies. mavenCentral() - maven { - url = uri("https://git.tomatentum.net/api/packages/tueem/maven") - } + maven("https://maven.lavalink.dev/releases") + maven("https://git.tomatentum.net/api/packages/tueem/maven") } dependencies { @@ -32,6 +31,7 @@ dependencies { implementation(libs.logback) implementation(libs.log4jtoslf4j) implementation(libs.jultoslf4j) + implementation(libs.lavalink) implementation(libs.marinaralib) implementation(libs.marinarajavacord) diff --git a/app/src/main/java/net/tomatentum/tomatenmusic3/App.java b/app/src/main/java/net/tomatentum/tomatenmusic3/App.java index a0404b7..f1573cf 100644 --- a/app/src/main/java/net/tomatentum/tomatenmusic3/App.java +++ b/app/src/main/java/net/tomatentum/tomatenmusic3/App.java @@ -50,4 +50,5 @@ public class App { marinara.getRegistry().registerCommands(); } + } diff --git a/app/src/main/java/net/tomatentum/tomatenmusic3/lavalink/LavalinkWrapper.java b/app/src/main/java/net/tomatentum/tomatenmusic3/lavalink/LavalinkWrapper.java new file mode 100644 index 0000000..32d5724 --- /dev/null +++ b/app/src/main/java/net/tomatentum/tomatenmusic3/lavalink/LavalinkWrapper.java @@ -0,0 +1,32 @@ +package net.tomatentum.tomatenmusic3.lavalink; + +import java.util.Collections; +import java.util.Set; + +import org.javacord.api.DiscordApi; + +import dev.arbjerg.lavalink.client.Helpers; +import dev.arbjerg.lavalink.client.LavalinkClient; +import dev.arbjerg.lavalink.client.NodeOptions; +import net.tomatentum.tomatenmusic3.Config; + +public class LavalinkWrapper { + + private Config config; + private DiscordApi client; + + private LavalinkClient lavaClient; + + public LavalinkWrapper(Config config, DiscordApi client) { + this.config = config; + this.client = client; + + this.lavaClient = new LavalinkClient(Helpers.getUserIdFromToken(config.token())); + getNodes().forEach((x) -> lavaClient.addNode(x)); + } + + protected Set getNodes() { + //TODO + return Collections.emptySet(); + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 885bcd2..6dbcf3b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,6 +10,7 @@ slf4j = "2.0.16" log4jtoslf4j = "2.24.3" jultoslf4j = "2.0.16" marinara = "1.0.0-RC1-9d88ca9" +lavalink = "3.1.0" [libraries] junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" } @@ -19,6 +20,7 @@ logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback"} slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j"} log4jtoslf4j = { module = "org.apache.logging.log4j:log4j-to-slf4j", version.ref = "log4jtoslf4j"} jultoslf4j = { module = "org.slf4j:jul-to-slf4j", version.ref = "jultoslf4j"} +lavalink = { module = "dev.arbjerg:lavalink-client", version.ref = "lavalink"} marinaralib = { module = "net.tomatentum.Marinara:lib-dev", version.ref = "marinara"} marinarajavacord = { module = "net.tomatentum.Marinara:wrapper-javacord-dev", version.ref = "marinara"}