Hinzufügen einer Config Datei

This commit is contained in:
Sebastian Zeidler
2019-02-18 19:26:01 +01:00
parent 8828692fb1
commit dd076c4418
4 changed files with 120 additions and 18 deletions

33
src/main/java/AtlasGruppe/groupchange.java Normal file → Executable file
View File

@ -1,5 +1,6 @@
package AtlasGruppe;
import core.Config;
import net.dv8tion.jda.core.entities.ChannelType;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.Role;
@ -14,12 +15,13 @@ public class groupchange extends ListenerAdapter {
private String prefixPromote;
private String prefixDegradation;
private Config config;
public groupchange() {
this.prefixPromote = "!add";
this.prefixDegradation = "!remove";
public groupchange(Config config) {
this.prefixPromote = "!befördern";
this.prefixDegradation = "!degradieren";
this.config = config;
}
@Override
@ -40,17 +42,17 @@ public class groupchange extends ListenerAdapter {
private void changeGroup(MessageReceivedEvent event, Boolean promote) {
Member MentionedMember = null;
User MentionedUser = null;
boolean roleCheck = false;
Member MentionedMember;
User MentionedUser;
boolean roleCheck;
try {
Role targetRole = event.getGuild().getRolesByName("Test2", true).get(0);
Role authorizedRole = event.getGuild().getRolesByName("Test2", true).get(0);
Role targetRole = event.getGuild().getRolesByName(config.targetRole, true).get(0);
Role authorizedRole = event.getGuild().getRolesByName(config.authorizedRole, true).get(0);
if (event.getMessage().getMentionedUsers().isEmpty()) {
event.getChannel().sendMessage(event.getMember().getAsMention() + " Benutzer nicht gefunden").queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " +config.userNotFound).queue();
return;
}
@ -71,7 +73,7 @@ public class groupchange extends ListenerAdapter {
}
}
if (!roleCheck) {
event.getChannel().sendMessage(event.getMember().getAsMention() + " Du bist nicht berechtigt den Befehl auszuführen").queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + config.noPrivilegs).queue();
return;
}
@ -84,11 +86,12 @@ public class groupchange extends ListenerAdapter {
}
}
if (roleCheck) {
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MentionedMember.getEffectiveName() + " hat bereits die Gruppe " + targetRole.getName()).queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + config.hasGroup.replace("%Member%", MentionedMember.getEffectiveName()).replace("%Group%", targetRole.getName())).queue();
return;
}
event.getGuild().getController().addSingleRoleToMember(MentionedMember, targetRole).queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MentionedMember.getEffectiveName() + " wurde der Gruppe " + targetRole.getName() + " zugeteilt").queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + config.becameGroup.replace("%Member%", MentionedMember.getEffectiveName()).replace("%Group%", targetRole.getName())).queue();
} else {
roleCheck = false;
for (Object x : MentionedMember.getRoles().toArray()) {
@ -98,11 +101,11 @@ public class groupchange extends ListenerAdapter {
}
}
if (!roleCheck) {
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MentionedMember.getEffectiveName() + " ist nicht in der Gruppe " + targetRole.getName()).queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + config.notInGroup.replace("%Member%", MentionedMember.getEffectiveName()).replace("%Group%", targetRole.getName())).queue();
return;
}
event.getGuild().getController().removeSingleRoleFromMember(MentionedMember, targetRole).queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MentionedMember.getEffectiveName() + " wurde aus der Gruppe " + targetRole.getName() + " entfernt").queue();
event.getChannel().sendMessage(event.getMember().getAsMention() + " " + config.removeGroup.replace("%Member%", MentionedMember.getEffectiveName()).replace("%Group%", targetRole.getName())).queue();
}
} catch (InsufficientPermissionException e) {

11
src/main/java/core/Main.java Normal file → Executable file
View File

@ -15,16 +15,21 @@ public class Main {
public static void main(String[] args) {
Config conf = new Config();
conf.readConfig();
// Insert your bot's token here
String token = "NDA1MDQ2NDg1OTk0OTYyOTQ2.DUessg.YFKvsTLIyPwprLlEOnZc0PXWJH0";
//String token = "NTQ3MDc5NzgzNDE1MjgzNzEy.D0xjRw.ydeX_ou_pAqN_DCSwyGHzQUGBBk";
String token = conf.token;
JDABuilder builder = new JDABuilder(AccountType.BOT);
builder.setToken(token);
builder.setAutoReconnect(true);
builder.setStatus(OnlineStatus.ONLINE);
builder.setGame(Game.watching("Den NinjaSäuen zu"));
builder.addEventListener(new groupchange());
builder.setGame(Game.watching(conf.GameWatching));
builder.addEventListener(new groupchange(conf));
try {
JDA jda = builder.build();

83
src/main/java/core/config.java Executable file
View File

@ -0,0 +1,83 @@
package core;
import java.io.*;
import java.util.Properties;
public class Config {
public String token;
public String GameWatching = "Den NinjaSäuen zu";
public String targetRole = "Ninjasau";
public String authorizedRole = "Chief Ninjasau";
public String userNotFound = "Benutzer nicht gefunden";
public String noPrivilegs = "Du bist nicht berechtigt den Befehl auszuführen";
public String hasGroup = "%Member% hat bereits die Gruppe %Group%";
public String becameGroup = "%Member% wurde der Gruppe %Group% zugeteilt";
public String notInGroup = "%Member% ist nicht in der Gruppe %Group%";
public String removeGroup = "%Member% wurde aus der Gruppe %Group% entfernt";
public void readConfig() {
FileInputStream input = null;
OutputStream output = null;
Properties config = new Properties();
try {
File f = new File("config.cfg");
if (f.isFile() && f.canRead()) {
input = new FileInputStream("config.cfg");
config.load(input);
if(config.containsKey("token"))
this.token = config.getProperty("token");
if(config.containsKey("GameWatching"))
this.GameWatching = config.getProperty("GameWatching");
if(config.containsKey("targetRole"))
this.targetRole = config.getProperty("targetRole");
if(config.containsKey("authorizedRole"))
this.authorizedRole = config.getProperty("authorizedRole");
if(config.containsKey("userNotFound"))
this.userNotFound = config.getProperty("userNotFound");
if(config.containsKey("noPrivilegs"))
this.noPrivilegs = config.getProperty("noPrivilegs");
if(config.containsKey("hasGroup"))
this.hasGroup = config.getProperty("hasGroup");
if(config.containsKey("becameGroup"))
this.becameGroup = config.getProperty("becameGroup");
if(config.containsKey("notInGroup"))
this.notInGroup = config.getProperty("notInGroup");
if(config.containsKey("removeGroup"))
this.removeGroup = config.getProperty("removeGroup");
}
else {
output = new FileOutputStream("config.cfg");
config.setProperty("targetRole", this.targetRole);
config.setProperty("authorizedRole", this.authorizedRole);
config.setProperty("userNotFound", this.userNotFound);
config.setProperty("noPrivilegs", this.noPrivilegs);
config.setProperty("hasGroup", this.hasGroup);
config.setProperty("becameGroup", this.becameGroup);
config.setProperty("notInGroup", this.notInGroup);
config.setProperty("removeGroup", this.removeGroup);
config.store(output, null);
}
} catch (Exception e) {
}
finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}