recover from missing tty

This commit is contained in:
nora 2022-09-05 18:39:31 +02:00
parent f0c8af29a3
commit 789064d2d5
4 changed files with 44 additions and 29 deletions

View file

@ -1,7 +1,8 @@
FROM maven AS build FROM maven AS build
WORKDIR /app WORKDIR /app
COPY . . COPY . .
RUN maven -f pom.xml clean package RUN mvn -f pom.xml clean assembly:assembly
FROM openjdk:18-jre-slim FROM gcr.io/distroless/java17
COPY --from=build /app/target/1.0.0 COPY --from=build /app/target/KilluaBot-1.0.0-jar-with-dependencies.jar /app/KilluaBot.jar
ENTRYPOINT ["java", "-jar", "/app/KilluaBot.jar"]

View file

@ -9,8 +9,8 @@
<version>1.0.0</version> <version>1.0.0</version>
<properties> <properties>
<maven.compiler.source>14</maven.compiler.source> <maven.compiler.source>18</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target> <maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>

5
run.sh Normal file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
docker run -e "BOT_TOKEN=LOL" -e "KILLUA_JSON_PATH=/app/trivia_questions.json" \
-v "$(pwd)/trivia_questions.json:/app/trivia_questions.json" \
--name killua-bot killua-bot:1.0

View file

@ -42,6 +42,17 @@ public class Main {
Config.setJda(jda); Config.setJda(jda);
Thread t = new Thread(() -> { Thread t = new Thread(() -> {
try {
interactivePrompt(jda);
} catch (Exception e) {
e.printStackTrace();
System.err.println("Interactive mode failed, presumably no TTY attached. Ignoring interactive mode...");
}
});
t.start();
}
private static void interactivePrompt(JDA jda) {
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine(); String line = scanner.nextLine();
while (!line.equals("exit") && !line.equals("quit")) { while (!line.equals("exit") && !line.equals("quit")) {
@ -67,8 +78,6 @@ public class Main {
line = scanner.nextLine(); line = scanner.nextLine();
} }
System.exit(0); System.exit(0);
});
t.start();
} }
private static void setupCommands() { private static void setupCommands() {