Skip to content

Commit

Permalink
v7.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
deso85 committed Jun 13, 2022
1 parent 462cd85 commit 9a76a1e
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 72 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>Antony</groupId>
<artifactId>Antony</artifactId>
<version>7.0.2</version>
<version>7.0.3</version>

<properties>
<resteasy.version>3.5.1.Final</resteasy.version>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/bot/antony/CommandManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,10 @@ public CommandManager() {
commands.put("help", new Help());
commands.put("changelog", new Changelog());
commands.put("archive", new Archive());
commands.put("shopping", new Shopping());
commands.put("command", new Command());
commands.put("emergency", new Emergency());
commands.put("reaction", new Reaction());
commands.put("shopping", new Shopping());
commands.put("shutdown", new Shutdown());

usrCommands = new ConcurrentHashMap<>();
Expand All @@ -59,7 +60,6 @@ public CommandManager() {

// Everyone
usrCommands.put("addhb", new AddHB());
usrCommands.put("emergency", new Emergency());
usrCommands.put("giveaway", new Giveaway());
usrCommands.put("map", new Map());
usrCommands.put("notify", new Notify());
Expand Down
1 change: 0 additions & 1 deletion src/main/java/bot/antony/commands/AntonyHelp.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ private EmbedBuilder getCommandList(Member member) {
//Commands for everyone
BotCommand addhb = new BotCommand("addhb", "Hiermit lässt sich die Erstellung eines Haltungsberichtes anfragen.");
BotCommand emergency = new BotCommand("emergency", "Soll Hilfestellungen bei Notfällen zur Verfügung stellen.", "milben");
BotCommand giveawayEnd = new BotCommand("giveaway end", "Löst ein laufendes Giveaway auf und ermittelt die Gewinner.", "https://discord.com/channels/375031723601297409/605451097699647665/798303589763252224 :tada:");
BotCommand map = new BotCommand("map","Zeigt eine Karte von https://antmaps.org, auf der zu sehen ist, wo auf der Welt die gesuchte Ameisenart vorkommt.", "Lasius niger");
BotCommand notify = new BotCommand("notify", "Kann genutzt werden, um über neue Einträge in Kanälen informiert zu werden. Nutze den Befehl, um detaillierte Informationen zur Handhabung zu bekommen.", "#kanal1");
Expand Down
1 change: 1 addition & 0 deletions src/main/java/bot/antony/commands/Changelog.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public void performCommand(Member member, TextChannel channel, Message message)
private List<ChangeLogEntry> getChangeLog(int limit) {
String cmdPrefix = Antony.getCmdPrefix();
List<ChangeLogEntry> changeLog = new ArrayList<ChangeLogEntry>();
changeLog.add(new ChangeLogEntry("13.06.2022 - Version 7.0.3", "Die ***" + cmdPrefix + "emergency*** Funktion wurde auf das neue Berechtitungssystem portiert."));
changeLog.add(new ChangeLogEntry("12.06.2022 - Version 7.0.2", "Die ***" + cmdPrefix + "archive*** Funktion wurde auf das neue Berechtitungssystem portiert."));
changeLog.add(new ChangeLogEntry("10.06.2022 - Version 7.0.1", "Portierung einiger Funktionen auf das neue Berechitugngssystem. Es gibt zusätzlich zwei neue Befehle: ***" + cmdPrefix + "help*** und ***" + cmdPrefix + "changelog***, die Antony intuitiver machen sollen."));
changeLog.add(new ChangeLogEntry("09.06.2022 - Version 7.0.0", "Antony hat ein neues Berechtigungssystem erhalten, mit dem man User und Rollen gezielt auf Funktionen berechtigen kann. Alle Reaction-Befehle wurden auf dieses System bereits portiert."));
Expand Down
152 changes: 85 additions & 67 deletions src/main/java/bot/antony/commands/emergency/Emergency.java
Original file line number Diff line number Diff line change
@@ -1,97 +1,115 @@
package bot.antony.commands.emergency;

import javax.annotation.Nullable;

import com.fasterxml.jackson.core.type.TypeReference;

import bot.antony.Antony;
import bot.antony.commands.types.IServerCommand;
import bot.antony.commands.types.ServerCommand;
import bot.antony.utils.Utils;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.TextChannel;

public class Emergency implements IServerCommand {

private TextChannel channel;
private boolean longtext;
StringBuilder fileName;
public class Emergency extends ServerCommand {

boolean longtext = false;
StringBuilder fileName = new StringBuilder();

// --------------------------------------------------
// Constructor
// --------------------------------------------------
public Emergency() {
super();
this.privileged = false;
this.name = "emergency";
this.description = "Dieser Befehl stellt Informationen bereit, die bei Notfällen helfen sollen.";
this.shortDescription = "Stellt Informationen breit, die bei Notfällen helfen sollen.";
this.example = "milben";
this.cmdParams.put("milben", "Stellt Informationen zu Milben bereit.");
this.cmdParams.put("schimmel", "Stellt Informationen zu Schimmel bereit.");
}

@Override
public void performCommand(Member member, TextChannel channel, Message message) {
this.channel = channel;
longtext = false;
fileName = new StringBuilder();

String[] userMessage = message.getContentDisplay().split(" ");

if (userMessage.length > 1) {
if (userMessage.length > 2) {
if(userMessage[2].toLowerCase().equals("long")) {
longtext = true;
}
}

//Prepare file name
fileName.append("antony.emergency.");
switch (userMessage[1].toLowerCase()) {
case "milben":
fileName.append("mites");
break;
case "schimmel":
fileName.append("mould");
break;
default:
fileName.append(userMessage[1].toLowerCase());
break;
}
if(longtext) {
fileName.append(".long");
}
fileName.append(".json");

// Load data and prepare output
EmergencyData data = new EmergencyData();
data = (EmergencyData) Utils.loadJSONData(fileName.toString(), new TypeReference<EmergencyData>(){}, data);
if(data.hasTitle()) {
EmbedBuilder eb = new EmbedBuilder()
.setColor(Antony.getBaseColor())
.setFooter("Antony Version " + Antony.getVersion());

// Set title
if(data.hasTitleURI()) {
eb.setTitle(data.getTitle(), data.getTitleURI());
}else {
eb.setTitle(data.getTitle());
}

// Set description if exists
if(data.hasDescription()) {
eb.setDescription(data.getDescription());
}

// Set content fields
for(ContentPair cp : data.getContent()) {
eb.addField(cp.getTitle(), cp.getContent(), cp.isInline());
}

// Add an image at the end if exists
if(data.hasImage()) {
eb.setImage(data.getImgURI());
}

setFileName(userMessage[1].toLowerCase());
EmbedBuilder eb = getEmergencyEmbed(getEmergencyData());
if(eb != null) {
channel.sendMessageEmbeds(eb.build()).queue();
} else {
channel.sendMessage("Oh No! Ich konnte keine Einträge finden... 😕").queue();
printHelp();
printHelp(channel);
}

} else {
printHelp();
printHelp(channel);
}
}


private void printHelp() {
channel.sendMessage("Benutzung: " + Antony.getCmdPrefix() + "emergency (milben | schimmel ) [long]").queue();

private void setFileName(String emergencyCase) {
fileName.append("antony.emergency.");
switch (emergencyCase) {
case "milben":
fileName.append("mites");
break;
case "schimmel":
fileName.append("mould");
break;
default:
fileName.append(emergencyCase);
break;
}
if(longtext) {
fileName.append(".long");
}
fileName.append(".json");
}

private EmergencyData getEmergencyData() {
EmergencyData data = new EmergencyData();
data = (EmergencyData) Utils.loadJSONData(fileName.toString(), new TypeReference<EmergencyData>(){}, data);
return data;
}

@Nullable
private EmbedBuilder getEmergencyEmbed(EmergencyData data) {
if(data.hasTitle()) {
EmbedBuilder eb = new EmbedBuilder()
.setColor(Antony.getBaseColor())
.setFooter("Antony Version " + Antony.getVersion());

// Set title
if(data.hasTitleURI()) {
eb.setTitle(data.getTitle(), data.getTitleURI());
}else {
eb.setTitle(data.getTitle());
}

// Set description if exists
if(data.hasDescription()) {
eb.setDescription(data.getDescription());
}

// Set content fields
for(ContentPair cp : data.getContent()) {
eb.addField(cp.getTitle(), cp.getContent(), cp.isInline());
}

// Add an image at the end if exists
if(data.hasImage()) {
eb.setImage(data.getImgURI());
}
return eb;
} else {
return null;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ public class EmergencyData {
// --------------------------------------------------
public EmergencyData() {
super();

}


Expand Down
1 change: 1 addition & 0 deletions src/main/java/bot/antony/events/MessageReceived.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public void onMessageReceived(MessageReceivedEvent event) {
}

//Message parts on blacklist?
//TODO Abfrage auf Team-Ebene? Verlagern in den Blacklist-Controller?
if(Antony.getGuildController().memberIsMod(event.getMember()) ||
!Antony.getBlacklistController().checkBlacklistedContent(event.getMessage())) {

Expand Down

0 comments on commit 9a76a1e

Please sign in to comment.