Deux fichiers oubliés dans le commit précédent

This commit is contained in:
Mysaa 2021-05-23 02:40:44 +02:00
parent b3601efefa
commit cad2de01d1
2 changed files with 100 additions and 0 deletions

View File

@ -0,0 +1,60 @@
package com.bernard.juliabot;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import net.dv8tion.jda.core.MessageBuilder;
import net.dv8tion.jda.core.entities.MessageChannel;
public class JuliaErrPrintStream extends OutputStream {
StringBuilder tas = new StringBuilder(2000);// Les 2000 caractères de Discord
Lock cadenas;
MessageChannel logChannel;
public static final int maxlength = 1900;
public JuliaErrPrintStream(MessageChannel logChan) {
this.cadenas = new ReentrantLock();
this.logChannel = logChan;
}
@Override
public void write(int i) throws IOException {
tas.append((char)(i));
}
@Override
public void flush() {
}
public void flushMessage() {
if(tas.length()==0)return;
this.cadenas.lock();
String str = tas.toString();
for(int i = 0; i*maxlength < tas.length();i++) {
MessageBuilder builder = new MessageBuilder();
builder.appendCodeBlock(str.substring(i*maxlength, Math.min((i+1)*maxlength,tas.length())), "");
logChannel.sendMessage(builder.build()).queue();
}
tas = new StringBuilder();
this.cadenas.unlock();
}
PrintStream ps = null;
public PrintStream printStream() {
if(ps == null)
ps = new PrintStream(this);
return ps;
}
}

View File

@ -0,0 +1,40 @@
package com.bernard.juliabot.api;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.bernard.juliabot.Julia;
public class JuliaConfig {
public static final String get(String name) {
try {
PreparedStatement st = Julia.theJulia().getJuliaDatabase().prepareStatement("SELECT * FROM juliaConfig WHERE strID=?");
st.setString(1, name);
ResultSet r = st.executeQuery();
if(r.getFetchSize() == 0)
throw new IllegalArgumentException("La configuration "+name+" n'existe pas ... veuillez la rentrer avant de la demander");
String value = r.getString("value");
return value;
} catch (SQLException e) {
e.printStackTrace();
throw new IllegalStateException("Impossible de faire des requetes à la bdd de julia. Est-elle initialisée au moins ?");
}
}
public static final void set(String name, String value) {
try {
PreparedStatement st = Julia.theJulia().getJuliaDatabase().prepareStatement("UPDATE juliaConfig SET value=? WHERE strID=?");
st.setString(1, value);
st.setString(2, value);
int r = st.executeUpdate();
if(r == 0)
throw new IllegalArgumentException("La configuration "+name+" n'a pas pu être modifiée ... existe-elle ?");
} catch (SQLException e) {
e.printStackTrace();
throw new IllegalStateException("Impossible de faire des requetes à la bdd de julia. Est-elle initialisée au moins ?");
}
}
}