|
|
MySQL-Abfrage(n) |
1 |
ALTER TABLE `accounts` ADD `ignoredNicks` LONGTEXT NOT NULL |
|
|
Quellcode |
1 |
private String name; |
|
|
Quellcode |
1 |
private String ignoredNicks; |
|
|
Quellcode |
1 2 3 |
public String getName() {
return name;
}
|
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public String getIgnoredNicks() {
return ignoredNicks;
}
public void setIgnoredNicks(String ignoredNicks) {
this.ignoredNicks = ignoredNicks;
}
public boolean checkIgnored(String nick) {
return ignoredNicks.contains(String.format("|%s|", nick));
}
public void addIgnoredNick(String nick) {
ignoredNicks = String.format("%s|%s|", ignoredNicks, nick);
}
public void removeIgnoredNick(String nick) {
ignoredNicks = ignoredNicks.replace(String.format("|%s|", nick), "");
}
|
|
|
Quellcode |
1 |
this.name = rs.getString("name");
|
|
|
Quellcode |
1 |
ignoredNicks = rs.getString("ignoredNicks");
|
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
public static int countChars(String text, char c) {
int counter = 0;
for (int i=0;i<text.length();i++) {
if (text.charAt(i) == c) {
counter++;
}
}
return counter;
}
|
|
|
Quellcode |
1 2 3 4 |
if(target.checkIgnored(client.getName())) {
client.sendButlerMessage(channel.getName(), String.format("Du kannst das Profil von %s nicht ansehen. %s ignoriert dich.", target.getName(), target.getName()));
return;
}
|
|
|
Quellcode |
1 2 3 4 5 6 |
if (target != client) {
Button buttonMessage = new Button("Nachricht");
buttonMessage.setCommand(String.format("/serverpp %s", nickname));
buttonMessage.disableClose();
panel.addComponent(buttonMessage);
}
|
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if(client != target && !target.isModerator()) {
if (!client.checkIgnored(target.getName())) {
Button buttonMessage = new Button("Ignore");
buttonMessage.setCommand(String.format("/ig %s", target.getName()));
buttonMessage.disableClose();
panel.addComponent(buttonMessage);
} else {
Button buttonMessage = new Button("Unignore");
buttonMessage.setCommand(String.format("/ig !%s", target.getName()));
buttonMessage.disableClose();
panel.addComponent(buttonMessage);
}
}
|
|
|
Quellcode |
1 2 3 4 5 |
if (target == null) {
client.sendButlerMessage(channel.getName(), String.format("%s ist mir unbekannt.", rcp));
} else if (!targets.contains(target)) {
targets.add(target);
}
|
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if (target == null) {
client.sendButlerMessage(channel.getName(), String.format("%s ist mir unbekannt.", rcp));
} else if(target.checkIgnored(client.getName())) {
client.sendButlerMessage(channel.getName(), String.format("Sie werden von %s ignoriert.", target.getName()));
} else if (!targets.contains(target)) {
String nick = target.getName().replace("<", "\\<");
if(client.checkIgnored(target.getName())) {
client.sendButlerMessage(channel.getName(), String.format("_°>_h%s|/serverpp "|/w "<° steht auf deiner Ignore-Liste_ und wird deshalb nicht antworten können. Mit _°BB>_h/ig !%s|"<r°_ kannst du °>_h%s|/serverpp "|/w "<° wieder von der Ignore-Liste löschen.", nick, nick, nick));
}
targets.add(target);
}
|
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
if (cmd.equals("ig") || cmd.equals("ignore")) {
arg = KCodeParser.escape(arg);
if(arg.isEmpty()) {
if(client.getIgnoredNicks().isEmpty()) {
client.sendButlerMessage(channel.getName(), "Momentan ignorierst du niemanden.");
} else {
StringBuilder ignoredNicks = new StringBuilder();
int countNicks = 1;
for(String nick : client.getIgnoredNicks().split("\\|")) {
if(!nick.isEmpty()) {
String name = nick.replace("<", "\\<");
if(countNicks != 1) {
ignoredNicks.append(", ");
}
ignoredNicks.append("°>_h").append(name).append("|/serverpp "|/w "<°");
countNicks++;
}
}
client.sendButlerMessage(channel.getName(), String.format("Folgende Mitglieder werden momentan von dir ignoriert:#%s", ignoredNicks.toString()));
}
return;
}
Client target = Server.get().getClient(arg);
boolean remove = false;
if(arg.startsWith("!")) {
remove = true;
arg = arg.substring(1);
}
if(target == null) {
target = new Client(null);
target.loadStats(arg);
if(target.getName() == null) {
client.sendButlerMessage(channel.getName(), String.format("Wer ist %s?", arg));
return;
}
}
String nick = target.getName();
String name = nick.replace("<", "\\<");
if(remove) {
if(!client.checkIgnored(target.getName())) {
client.sendButlerMessage(channel.getName(), String.format("Du hast °>_h%s|/serverpp "|/w "<° niemals ignoriert!", name));
return;
}
client.sendButlerMessage(channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° wird von nun an nicht mehr von dir ignoriert!", name));
client.removeIgnoredNick(target.getName());
} else {
int maxIgnoredNicks = client.getRank()*5+10;
int currentIgnoredNicks = countChars(client.getIgnoredNicks(), '|')/2;
String lastIgnoredNick = "";
if(!client.getIgnoredNicks().isEmpty()) {
lastIgnoredNick = client.getIgnoredNicks().substring(1).split("\\|")[0];
}
if(target == client) {
client.sendButlerMessage(channel.getName(), "Jeder hat mal Probleme, aber deshalb musst du dich doch nicht selbst ignorieren?!");
return;
}
if(target.isModerator()) {
client.sendButlerMessage(channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° kann nicht ignoriert werden.", name));
return;
}
if(client.checkIgnored(target.getName())) {
client.sendButlerMessage(channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° steht bereits auf ihrer Ignoreliste.", name));
return;
}
client.sendButlerMessage(channel.getName(), String.format("°>_h%s|/serverpp "|/w "<° wird von nun an von dir _ignoriert_, was du mit _°>/ig !%s|"<°_ rückgängig machen kannst.%s", name, nick, currentIgnoredNicks == maxIgnoredNicks ? String.format("#Da deine Ignoreliste voll war, wurde %s wieder von deiner Liste entfernt.", lastIgnoredNick) : ""));
if(currentIgnoredNicks == maxIgnoredNicks) {
client.removeIgnoredNick(lastIgnoredNick);
}
client.addIgnoredNick(target.getName());
}
}
|
|
|
Quellcode |
1 2 3 |
for (Client c : getClients()) {
c.send(msg);
}
|
|
|
Quellcode |
1 2 3 4 5 |
for (Client c : getClients()) {
if(!c.checkIgnored(client.getName())) {
c.send(msg);
}
}
|
|
|
Quellcode |
1 2 3 |
for (Client c : getClients()) {
c.send(action);
}
|
|
|
Quellcode |
1 2 3 4 5 |
for (Client c : getClients()) {
if(!c.checkIgnored(sender)) {
c.send(action);
}
}
|
Benutzer, die sich für diesen Beitrag bedankt haben: