started MySQL implementation
parent
75b9530029
commit
b7b6c2bda9
6
pom.xml
6
pom.xml
|
@ -12,6 +12,12 @@
|
||||||
<version>3.4.0</version>
|
<version>3.4.0</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mariadb.jdbc</groupId>
|
||||||
|
<artifactId>mariadb-java-client</artifactId>
|
||||||
|
<version>3.0.3</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
|
|
@ -8,23 +8,24 @@ import java.util.Date;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
public static final String startupTime = String.format("%1$tY-%1$tm-%1$td %1$tI:%1$tM:%1$tS%1$tp UTC%1$tz", new Date());
|
||||||
|
private static String[] commandLineArguments;
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
String startupTime = String.format("%1$tY-%1$tm-%1$td %1$tI:%1$tM:%1$tS%1$tp UTC%1$tz", new Date());
|
// [0] token, [1] db username, [2] db password
|
||||||
|
commandLineArguments = args;
|
||||||
|
|
||||||
String token = args[0];
|
|
||||||
String db_username = args[1];
|
|
||||||
String db_password = args[2];
|
|
||||||
String db_name = "quizbot";
|
|
||||||
// CREATE TABLE questions(id INT(32) AUTO_INCREMENT PRIMARY KEY, question TEXT, max_score INT(8));
|
// CREATE TABLE questions(id INT(32) AUTO_INCREMENT PRIMARY KEY, question TEXT, max_score INT(8));
|
||||||
// CREATE TABLE answer_coices(id INT(32), answer VARCHAR(2048), correctness BOOLEAN);
|
// CREATE TABLE answer_coices(id INT(32), answer VARCHAR(2048), correctness BOOLEAN);
|
||||||
// CREATE TABLE user_answers(id INT(32), given_answer VARCHAR(2048), discord_user VARCHAR(1024));
|
// CREATE TABLE user_answers(id INT(32), given_answer VARCHAR(2048), discord_user VARCHAR(1024));
|
||||||
// CREATE TABLE categories(id INT(32), category VARCHAR(1024));
|
// CREATE TABLE categories(id INT(32), category VARCHAR(1024));
|
||||||
|
|
||||||
|
// checks every 7500 ms if a deployment happened, if so shuts down the bot
|
||||||
CheckDeploy check = new CheckDeploy(7500, "/var/www/deployment/Hacky-Quizbot/id.txt");
|
CheckDeploy check = new CheckDeploy(7500, "/var/www/deployment/Hacky-Quizbot/id.txt");
|
||||||
check.start();
|
check.start();
|
||||||
|
|
||||||
DiscordApi api = new DiscordApiBuilder().setToken(token).login().join();
|
DiscordApi api = new DiscordApiBuilder().setToken(commandLineArguments[0]).login().join();
|
||||||
|
|
||||||
//Trivia management
|
//Trivia management
|
||||||
Member member = new Member(api);
|
Member member = new Member(api);
|
||||||
|
@ -38,6 +39,10 @@ public class Main {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getCommandLineArgument(int index) {
|
||||||
|
return commandLineArguments[index];
|
||||||
|
}
|
||||||
|
|
||||||
//Deploy check thread
|
//Deploy check thread
|
||||||
public static class CheckDeploy extends Thread {
|
public static class CheckDeploy extends Thread {
|
||||||
private int interval;
|
private int interval;
|
||||||
|
|
|
@ -1,13 +1,27 @@
|
||||||
package linux.general.hackyquizbot;
|
package linux.general.hackyquizbot;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class QuizBackend {
|
public class QuizBackend {
|
||||||
|
|
||||||
|
private static final String dbUsername = Main.getCommandLineArgument(1);
|
||||||
|
private static final String dbPassword = Main.getCommandLineArgument(2);
|
||||||
|
private static final String dbName = "jdbc:mysql://localhost:3306/quizbot"; //we can make this configurable later
|
||||||
|
|
||||||
private static Question[] allQuestions;
|
private static Question[] allQuestions;
|
||||||
private static String[] categories;
|
private static String[] categories;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
try (Connection connection = DriverManager.getConnection(dbName, dbUsername, dbPassword)) {
|
||||||
|
System.out.println("Database connected!");
|
||||||
|
}
|
||||||
|
catch (SQLException e) {
|
||||||
|
System.err.println("Could not connect to DB.");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
//TODO: populate allQuestions
|
//TODO: populate allQuestions
|
||||||
//TODO: populate categories
|
//TODO: populate categories
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue