diff --git a/Dockerfile b/Dockerfile
index 78d6884..72529d6 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,57 +1,23 @@
-ARG JAVA_VERSION=17
-ARG MAVEN_VERSION=3.8.7
-
-FROM alpine:3.16 as builder
+FROM ubuntu:22.10
+ARG VERSION
ARG JAVA_VERSION
-RUN apk --no-cache add sudo bash \
- && apk --no-cache add openjdk${JAVA_VERSION}
+RUN apt-get -y update \
+ && apt-get -y install -y sudo bash curl \
+ && apt-get -y install openjdk-${JAVA_VERSION}-jre-headless
-##########
-# BUILD 1
-##########
-FROM builder AS build1
-
-ARG MAVEN_VERSION
-ARG JAVA_VERSION
-ARG MAVEN_BASE_URL=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries
-ARG USER_HOME_DIR="/root"
-
-RUN apk --no-cache add curl tar procps
-
-RUN mkdir -p /usr/share/maven /usr/share/maven/ref \
- && echo "Downloading maven" \
- && curl -fsSL -o /tmp/apache-maven.tar.gz ${MAVEN_BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
- && echo "Unzipping maven" \
- && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
- && echo "Cleaning and setting links" \
- && rm -f /tmp/apache-maven.tar.gz \
- && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
-
-ENV MAVEN_HOME /usr/share/maven
-ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
ENV JAVA_VER ${JAVA_VERSION}
ENV JAVA_HOME /usr/lib/jvm/java-${JAVA_VERSION}-openjdk
WORKDIR /app
-COPY ./src ./src
-COPY ./pom.xml ./pom.xml
-RUN mvn -f ./pom.xml clean package
-FROM builder as build2
+ADD https://repo.local.bensherriff.com/artifactory/libs-release/com/bensherriff/siren/${VERSION}/siren-${VERSION}.jar /usr/local/lib/
+RUN mv /usr/local/lib/siren-${VERSION}.jar /usr/local/lib/siren.jar
-ARG JAVA_VERSION
-
-ENV JAVA_VER ${JAVA_VERSION}
-ENV JAVA_HOME /usr/lib/jvm/java-${JAVA_VERSION}-openjdk
-
-RUN ln -s /lib/libc.musl-aarch64.so.1 /lib/ld-linux-aarch64.so.1
-
-WORKDIR /app
-COPY --from=build1 /app/target/siren-*-All.jar /usr/local/lib/siren.jar
#COPY ./start.sh ./start.sh
#RUN chmod +x ./start.sh
+#ENTRYPOINT ["tail", "-f", "/dev/null"]
ENTRYPOINT ["java", "-jar", "/usr/local/lib/siren.jar"]
#ENTRYPOINT ["/bin/sh", "-c", "./start.sh"]
diff --git a/Makefile b/Makefile
index a9d714e..ddaa989 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
SHELL := /bin/bash
build:
- docker build --tag siren .
+ docker-compose build
test:
docker run --rm -it siren:latest bash
@@ -10,4 +10,8 @@ up:
docker-compose up -d
down:
- docker-compose down
\ No newline at end of file
+ docker-compose down
+
+exec:
+ docker exec -it siren bash
+
diff --git a/docker-compose.yml b/docker-compose.yml
index 9a060cc..0616418 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,6 +4,12 @@ services:
siren:
image: siren
container_name: siren
+ build:
+ context: .
+ dockerfile: ./Dockerfile
+ args:
+ - JAVA_VERSION=17
+ - VERSION=0.1.5
volumes:
- ./data:/app
restart: unless-stopped
diff --git a/pom.xml b/pom.xml
index 4dcc473..da35b95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.bensherriff
siren
- 0.1.4
+ 0.1.5
jar
diff --git a/src/main/java/com/bensherriff/siren/MusicBot.java b/src/main/java/com/bensherriff/siren/MusicBot.java
index 38983df..295f7a9 100644
--- a/src/main/java/com/bensherriff/siren/MusicBot.java
+++ b/src/main/java/com/bensherriff/siren/MusicBot.java
@@ -1,20 +1,16 @@
package com.bensherriff.siren;
import com.bensherriff.siren.listener.Listener;
-import com.bensherriff.siren.listener.SlashListener;
import com.bensherriff.siren.listener.TextListener;
import com.bensherriff.siren.settings.Settings;
import com.bensherriff.siren.settings.SettingsManager;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
-import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
-import net.dv8tion.jda.api.managers.AudioManager;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.utils.cache.CacheFlag;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import javax.security.auth.login.LoginException;
import java.io.IOException;
import java.util.Arrays;
@@ -30,24 +26,29 @@ public class MusicBot {
private final static CacheFlag[] DISABLED_FLAGS = {
CacheFlag.ACTIVITY, CacheFlag.CLIENT_STATUS, CacheFlag.ONLINE_STATUS, CacheFlag.EMOJI, CacheFlag.STICKER, CacheFlag.SCHEDULED_EVENTS
};
- public static Listener listener;
- public static void main(String[] args) throws Exception {
- start();
+ public static void main(String[] args) {
+ try {
+ start();
+ } catch (Exception ex) {
+ LOGGER.error(ex.getMessage());
+ }
}
- private static void start() throws IOException, LoginException {
+ private static void start() throws IOException {
SettingsManager settingsManager = new SettingsManager();
Settings settings = settingsManager.load();
-// listener = new TextListener(settings);
- listener = new SlashListener(settings);
+ Listener textListener = new TextListener(settings);
+// Listener slashListener = new SlashListener(settings);
JDA jda = JDABuilder.create(settings.getToken(), Arrays.asList(INTENTS))
.enableCache(Arrays.asList(ENABLED_FLAGS))
.disableCache(Arrays.asList(DISABLED_FLAGS))
- .addEventListeners(listener)
+ .addEventListeners(textListener)
+// .addEventListeners(slashListener)
.setBulkDeleteSplittingEnabled(true)
.build();
- listener.setJDA(jda);
+ textListener.setJDA(jda);
+// slashListener.setJDA(jda);
}
}
diff --git a/src/main/java/com/bensherriff/siren/commands/Command.java b/src/main/java/com/bensherriff/siren/commands/Command.java
new file mode 100644
index 0000000..9aa9cba
--- /dev/null
+++ b/src/main/java/com/bensherriff/siren/commands/Command.java
@@ -0,0 +1,18 @@
+package com.bensherriff.siren.commands;
+
+import com.bensherriff.siren.listener.Listener;
+
+public abstract class Command {
+
+ protected final Listener listener;
+ protected String name;
+
+ public Command(Listener listener) {
+ this.listener = listener;
+ }
+ public abstract void doCommand();
+
+ public String getName() {
+ return name;
+ }
+}
diff --git a/src/main/java/com/bensherriff/siren/listener/CommandEvent.java b/src/main/java/com/bensherriff/siren/commands/CommandEvent.java
similarity index 98%
rename from src/main/java/com/bensherriff/siren/listener/CommandEvent.java
rename to src/main/java/com/bensherriff/siren/commands/CommandEvent.java
index 1c58639..7c5d61c 100644
--- a/src/main/java/com/bensherriff/siren/listener/CommandEvent.java
+++ b/src/main/java/com/bensherriff/siren/commands/CommandEvent.java
@@ -1,4 +1,4 @@
-package com.bensherriff.siren.listener;
+package com.bensherriff.siren.commands;
import com.bensherriff.siren.audio.AudioHandler;
import net.dv8tion.jda.api.entities.Guild;
diff --git a/src/main/java/com/bensherriff/siren/commands/PlayCommand.java b/src/main/java/com/bensherriff/siren/commands/PlayCommand.java
new file mode 100644
index 0000000..6b3e2a7
--- /dev/null
+++ b/src/main/java/com/bensherriff/siren/commands/PlayCommand.java
@@ -0,0 +1,16 @@
+package com.bensherriff.siren.commands;
+
+import com.bensherriff.siren.listener.Listener;
+
+public class PlayCommand extends Command {
+
+ public PlayCommand(Listener listener) {
+ super(listener);
+ this.name = "play";
+ }
+
+ @Override
+ public void doCommand() {
+
+ }
+}
diff --git a/src/main/java/com/bensherriff/siren/listener/Listener.java b/src/main/java/com/bensherriff/siren/listener/Listener.java
index 63f6981..6a50c45 100644
--- a/src/main/java/com/bensherriff/siren/listener/Listener.java
+++ b/src/main/java/com/bensherriff/siren/listener/Listener.java
@@ -2,15 +2,13 @@ package com.bensherriff.siren.listener;
import com.bensherriff.siren.audio.AudioHandler;
import com.bensherriff.siren.audio.PlayerManager;
+import com.bensherriff.siren.commands.Command;
+import com.bensherriff.siren.commands.PlayCommand;
import com.bensherriff.siren.settings.Settings;
-import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
-import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
-import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import net.dv8tion.jda.api.events.session.ReadyEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@@ -19,9 +17,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
public abstract class Listener extends ListenerAdapter {
protected static final Logger LOGGER = LogManager.getLogger(Listener.class);
@@ -31,6 +27,8 @@ public abstract class Listener extends ListenerAdapter {
protected final Settings settings;
protected JDA jda;
+ Map commands = new HashMap<>();
+
public Listener(Settings settings) {
this.musicManagers = new HashMap<>();
this.settings = settings;
diff --git a/src/main/java/com/bensherriff/siren/listener/SlashListener.java b/src/main/java/com/bensherriff/siren/listener/SlashListener.java
index 11fcac0..b079eb3 100644
--- a/src/main/java/com/bensherriff/siren/listener/SlashListener.java
+++ b/src/main/java/com/bensherriff/siren/listener/SlashListener.java
@@ -7,7 +7,6 @@ import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.events.session.ReadyEvent;
import net.dv8tion.jda.api.interactions.commands.OptionType;
@@ -73,9 +72,7 @@ public class SlashListener extends Listener {
resumeTrack(guild);
event.getHook().sendMessage("Resumed track").queue();
}
- default -> {
- event.getHook().sendMessage("Invalid command").queue();
- }
+ default -> event.getHook().sendMessage("Invalid command").queue();
}
super.onSlashCommandInteraction(event);
}
diff --git a/src/main/java/com/bensherriff/siren/listener/TextListener.java b/src/main/java/com/bensherriff/siren/listener/TextListener.java
index 92e2077..98581c1 100644
--- a/src/main/java/com/bensherriff/siren/listener/TextListener.java
+++ b/src/main/java/com/bensherriff/siren/listener/TextListener.java
@@ -1,6 +1,7 @@
package com.bensherriff.siren.listener;
import com.bensherriff.siren.audio.AudioHandler;
+import com.bensherriff.siren.commands.CommandEvent;
import com.bensherriff.siren.settings.Settings;
import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;