diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0138637..06760cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: docker.io/library/eclipse-temurin:21.0.7_6-jdk-alpine@sha256:8e26f8064f2b89bc8543faf43ded3f223f47dd0a7afca042fdc892f1f6a4a8c3 +image: docker.io/library/eclipse-temurin:25-jdk-alpine variables: MAVEN_OPTS: >- diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index c0bcafe..8dea6c2 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,3 +1,3 @@ wrapperVersion=3.3.4 distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip diff --git a/Dockerfile b/Dockerfile index 86a8145..b8cb7ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/library/eclipse-temurin:21.0.6_7-jdk-alpine@sha256:cafcfad1d9d3b6e7dd983fa367f085ca1c846ce792da59bcb420ac4424296d56 AS build +FROM docker.io/library/eclipse-temurin:25-jdk-alpine AS build COPY .mvn/ .mvn COPY mvnw pom.xml ./ @@ -9,7 +9,7 @@ RUN ["chmod", "+x", "./mvnw"] RUN ./mvnw install -FROM docker.io/library/eclipse-temurin:21.0.6_7-jre-alpine@sha256:4e9ab608d97796571b1d5bbcd1c9f430a89a5f03fe5aa6c093888ceb6756c502 +FROM docker.io/library/eclipse-temurin:25-jre-alpine RUN apk add netcat-openbsd RUN apk add curl diff --git a/docker-compose.yml b/docker-compose.yml index eee2f36..40f7a93 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,11 +8,11 @@ services: volumes: - netneutrality-db:/var/lib/mysql environment: - MYSQL_USER: java - MYSQL_PASSWORD: password - MYSQL_DATABASE: netneutrality - MYSQL_ROOT_PASSWORD: password - MARIADB_AUTO_UPGRADE: 1 + - MYSQL_USER=${MYSQL_USER:-java} + - MYSQL_PASSWORD=${MYSQL_PASSWORD:-password} + - MYSQL_DATABASE=${MYSQL_DATABASE:-netneutrality} + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-password} + - MARIADB_AUTO_UPGRADE=1 netneutrality-bot: image: registry.bobert.me/anthorob/netneutrality:${NETNEUTRALITY_TAG:-latest} diff --git a/pom.xml b/pom.xml index 6234a97..1cfc819 100644 --- a/pom.xml +++ b/pom.xml @@ -13,10 +13,10 @@ me.bobert.netneutrality.NetNeutrality - 21 + 25 UTF-8 - 21 - 21 + 25 + 25 5.20.0 @@ -32,7 +32,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.5 -javaagent:"${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar" @@ -52,7 +52,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.3.1 + 3.4.0 UTF-8 @@ -158,17 +158,37 @@ net.dv8tion JDA - 6.1.1 + 6.3.1 dev.arbjerg lavaplayer - 2.2.4 + 2.2.6 dev.lavalink.youtube v2 - 1.16.0 + 1.18.0 + + + club.minnced + jdave-api + 0.1.7 + + + club.minnced + jdave-native-linux-x86-64 + 0.1.7 + + + club.minnced + jdave-native-win-x86-64 + 0.1.7 + + + club.minnced + jdave-native-darwin + 0.1.7 diff --git a/src/main/java/me/bobert/netneutrality/NetNeutrality.java b/src/main/java/me/bobert/netneutrality/NetNeutrality.java index 3316804..04b82f9 100644 --- a/src/main/java/me/bobert/netneutrality/NetNeutrality.java +++ b/src/main/java/me/bobert/netneutrality/NetNeutrality.java @@ -6,6 +6,7 @@ package me.bobert.netneutrality; * https://discord.gg/qUa6zNFZsd */ +import club.minnced.discord.jdave.interop.JDaveSessionFactory; import io.sentry.Sentry; import me.bobert.netneutrality.core.LogHandler; import me.bobert.netneutrality.core.command.CommandManager; @@ -20,6 +21,7 @@ import me.bobert.netneutrality.music.MusicManager; import me.bobert.netneutrality.utils.Settings; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.audio.AudioModuleConfig; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.exceptions.InvalidTokenException; import net.dv8tion.jda.api.requests.GatewayIntent; @@ -34,7 +36,7 @@ public class NetNeutrality { private static NetNeutrality instance; private static JDA jda; - public static void main(String[] args) { + static void main() { System.out.println("Starting NetNeutrality v" + VERSION); String env = Settings.getInstance().get("NETNEUTRALITY_BOT_ENV", "dev"); @@ -98,7 +100,13 @@ public class NetNeutrality { try { jda = JDABuilder .createDefault(token) - .enableIntents(GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_MESSAGE_REACTIONS, GatewayIntent.GUILD_VOICE_STATES, GatewayIntent.MESSAGE_CONTENT) + .enableIntents( + GatewayIntent.GUILD_MEMBERS, + GatewayIntent.GUILD_MESSAGE_REACTIONS, + GatewayIntent.GUILD_VOICE_STATES, + GatewayIntent.MESSAGE_CONTENT) + .setAudioModuleConfig( + new AudioModuleConfig().withDaveSessionFactory(new JDaveSessionFactory())) .setActivity(Activity.watching("me load...")) .build(); jda.awaitReady(); diff --git a/src/main/java/me/bobert/netneutrality/core/db/DatabaseMigration.java b/src/main/java/me/bobert/netneutrality/core/db/DatabaseMigration.java index eb2591c..9f7144d 100644 --- a/src/main/java/me/bobert/netneutrality/core/db/DatabaseMigration.java +++ b/src/main/java/me/bobert/netneutrality/core/db/DatabaseMigration.java @@ -19,7 +19,8 @@ public class DatabaseMigration { String dbUser = Settings.getInstance().get("MYSQL_USER", "root"); String dbPass = Settings.getInstance().get("MYSQL_PASSWORD", ""); String dbHost = Settings.getInstance().get("MYSQL_HOST", "localhost"); - String dbUrl = String.format("jdbc:mysql://%s:3306/%s", dbHost, dbName); + String dbPort = Settings.getInstance().get("MYSQL_PORT", "3306"); + String dbUrl = String.format("jdbc:mysql://%s:%s/%s", dbHost, dbPort, dbName); try { logger.info("Running database migrations.."); diff --git a/src/main/java/me/bobert/netneutrality/core/db/SessionManager.java b/src/main/java/me/bobert/netneutrality/core/db/SessionManager.java index 23ef222..9e214b1 100644 --- a/src/main/java/me/bobert/netneutrality/core/db/SessionManager.java +++ b/src/main/java/me/bobert/netneutrality/core/db/SessionManager.java @@ -33,9 +33,10 @@ public class SessionManager { String dbUser = Settings.getInstance().get("MYSQL_USER", "root"); String dbPass = Settings.getInstance().get("MYSQL_PASSWORD", ""); String dbHost = Settings.getInstance().get("MYSQL_HOST", "localhost"); - logger.info("Connecting to database '{}' at {}:3306 with user '{}'", dbName, dbHost, dbUser); + String dbPort = Settings.getInstance().get("MYSQL_PORT", "3306"); + logger.info("Connecting to database '{}' at {}:{} with user '{}'", dbName, dbHost, dbPort, dbUser); - settings.put(Environment.JAKARTA_JDBC_URL, String.format("jdbc:mysql://%s:3306/%s", dbHost, dbName)); + settings.put(Environment.JAKARTA_JDBC_URL, String.format("jdbc:mysql://%s:%s/%s", dbHost, dbPort, dbName)); settings.put(Environment.JAKARTA_JDBC_USER, dbUser); settings.put(Environment.JAKARTA_JDBC_PASSWORD, dbPass); registryBuilder.applySettings(settings); diff --git a/src/main/java/me/bobert/netneutrality/music/source/UdioAudioSourceManager.java b/src/main/java/me/bobert/netneutrality/music/source/UdioAudioSourceManager.java index 9907cee..9a1c2cc 100644 --- a/src/main/java/me/bobert/netneutrality/music/source/UdioAudioSourceManager.java +++ b/src/main/java/me/bobert/netneutrality/music/source/UdioAudioSourceManager.java @@ -120,7 +120,7 @@ public class UdioAudioSourceManager implements AudioSourceManager { } protected JsonBrowser loadTrackInfoFromPageContent(String content) throws IOException { - String startTag = "self.__next_f.push([1,\"9:"; + String startTag = "self.__next_f.push([1,\"2f:"; String endTag = "\\n\"])"; String json = DataFormatTools.extractBetween(content, startTag, endTag);