JDA: Wie kann man einen Command aus einer anderen Klasse in die Main-Klasse einprogrammieren?
Hallo Leute,
ich möchte mit Java und der JDA einen Discord-Bot programmieren.
Nur weiß ich nicht, wie man einen Command aus einer anderen Klasse in die Main-Klasse einprogrammiert.
Code der Main-Klasse:
package de.AkenoSan.MeineTochter;
import de.AkenoSan.MeineTochter.Commands;
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
public class Main {
public static void main(String[] args) throws LoginException, IllegalArgumentException {
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
builder.setToken("blablabla halt der Token");
builder.setActivity(Activity.playing("NICHT FORTNITE"));
builder.setStatus(OnlineStatus.ONLINE);
builder.build();
}
}
Code meiner Klasse, wo die Commands sind:
package de.AkenoSan.MeineTochter;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Commands {
public void say() {
new Thread(() -> {
String line = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
while ((line = reader.readLine()) != null) {
if (line.contains("#")) {
if (line.startsWith("#")) {
if (line.endsWith("say")) {
}
}
}
}
}
catch(IOException e) {
e.printStackTrace();
}
}).start();
}
}
Ich habe schon meine Commands-Klasse in die Main importiert, aber was muss ich jetzt machen?
1 Antwort
Ich will ja nichts sagen, aber den Code hast du ja von irgendwo kopiert. Macht es nicht mehr Sinn, sich erstmal mit den Grundlagen zu beschäftigen?
Du brauchst in der Main Klasse entweder eine Instanz von Commands oder du machst say static
PS: dein contains # kannst du dir sparen und die ifs zusammen fassen. Das wird viel übersichtlicher
PPS: So wie es jetzt ist, würde auch #123irgendswassay als dein say command erkannt werden
Nein ich möchte ja den command in Discord nutzen aber ich weiß nicht wie ich das anstellen muss
Ok sieht nach einer Lösung aus aber guck ich mir morgen durch.
Bin viel zu müde
Gute Nacht
Ich hab den Code mithilfe eines Videos gemacht