grundlegente Umstellung + Earthdawn Implemntation

This commit is contained in:
Ocame
2025-07-06 16:22:48 +02:00
parent 10c8c9900f
commit e2b9694e09
48 changed files with 1488 additions and 638 deletions

View File

@ -0,0 +1,191 @@
package de.ocame.wuerfelbot.Shadowrun;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
public class db_connect extends de.ocame.wuerfelbot.DB.base {
Connection conn;
public db_connect() {
if(!isActive())
return;
open();
try {
conn = getConn();
ResultSet rs = conn.prepareStatement("show tables like \"shadowrun_log\"").executeQuery();
while (rs.next()) {
String s = rs.getString(1);
System.out.println(s);
}
}
catch (SQLException e) {
e.printStackTrace();
}
close();
}
public void insertDice(String userName, String userId, String command, String result, String kanal, long MsgID, String wurfdaten) {
if(!isActive())
return;
open();
try {
conn = getConn();
String SQL_INSERT = "INSERT INTO shadowrun_log (benutzer, benutzerId, wurf, ergebnis, kanal, msgId, wurfdaten) VALUES (?,?,?,?,?,?,?)";
PreparedStatement preparedStatement = conn.prepareStatement(SQL_INSERT);
preparedStatement.setString(1, userName);
preparedStatement.setString(2, userId);
preparedStatement.setString(3, command);
preparedStatement.setString(4, result);
preparedStatement.setString(5, kanal);
preparedStatement.setLong(6, MsgID);
preparedStatement.setString(7, wurfdaten);
preparedStatement.executeUpdate();
}
catch (SQLException e) {
e.printStackTrace();
}
close();
}
/**
*
* @param channelId
* @return
*/
public Map<String, String> getChannelSettings(String channelId) {
Map<String, String> result = new HashMap<>();
result.put("lang", "de");
if(!isActive()) {
result.put("sqlActive", "0");
return result;
}
open();
try {
conn = getConn();
String SQL_SELECT = "SELECT * FROM shadowrun_channelSettings where channelId = ?";
PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT);
preparedStatement.setString(1, channelId);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
result.remove("lang");
result.put("lang", rs.getString("lang"));
}
}
catch (SQLException e) {
e.printStackTrace();
}
close();
return result;
}
public void setChannelSettings(String channelId, String Sprache, String ServerId, String Kanalname) {
if(!isActive()) {
return;
}
open();
try {
conn = getConn();
String SQL_SELECT = "SELECT * FROM shadowrun_channelSettings where channelId = ?";
PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT);
preparedStatement.setString(1, channelId);
ResultSet rs = preparedStatement.executeQuery();
if (rs.next()) {
String SQL_Update = "UPDATE shadowrun_channelSettings SET lang = ? WHERE channelId = ?";
preparedStatement = conn.prepareStatement(SQL_Update);
preparedStatement.setString(1, Sprache);
preparedStatement.setString(2, channelId);
preparedStatement.executeUpdate();
}
else {
String SQL_INSERT = "INSERT INTO shadowrun_channelSettings (channelId, lang, serverId, kanalname) VALUES (?,?,?,?)";
preparedStatement = conn.prepareStatement(SQL_INSERT);
preparedStatement.setString(1, channelId);
preparedStatement.setString(2, Sprache);
preparedStatement.setString(3, ServerId);
preparedStatement.setString(4, Kanalname);
preparedStatement.executeUpdate();
}
close();
return;
}
catch (SQLException e) {
e.printStackTrace();
}
close();
}
public Map<String, String> getMesssage(Long MsgId) {
Map<String, String> result = new HashMap<>();
if(!isActive()) {
return result;
}
result.put("lang", "de");
open();
try {
conn = getConn();
String SQL_SELECT = "SELECT * FROM shadowrun_log where MsgID = ?";
PreparedStatement preparedStatement = conn.prepareStatement(SQL_SELECT);
preparedStatement.setLong(1, MsgId);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
result.put("benutzerId", rs.getString("benutzerId"));
result.put("wurfdaten", rs.getString("wurfdaten"));
}
}
catch (SQLException e) {
e.printStackTrace();
}
close();
return result;
}
}
/*
CREATE TABLE `shadowrun_log` (
`id` INT NOT NULL AUTO_INCREMENT,
`zeitstempel` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`wurf` VARCHAR(255) NOT NULL DEFAULT '0',
`ergebnis` VARCHAR(255) NOT NULL DEFAULT '0',
`benutzer` VARCHAR(255) NOT NULL DEFAULT '0',
`benutzerId` VARCHAR(255) NOT NULL DEFAULT '0',
`kanal` VARCHAR(50) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
;
CREATE TABLE `shadowrun_channelSettings` (
`id` INT NOT NULL AUTO_INCREMENT,
`zeitstempel` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`channelId` VARCHAR(50) NOT NULL DEFAULT '0',
`lang` VARCHAR(255) NOT NULL DEFAULT 'de',
`serverId` VARCHAR(255) NULL,
`kanalname` VARCHAR(255) NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
;
*/