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);