From 75c3b67dad1b29549be7006b6c321f26a233d1a2 Mon Sep 17 00:00:00 2001 From: Sebastian Zeidler Date: Tue, 19 Feb 2019 19:04:55 +0100 Subject: [PATCH] =?UTF-8?q?einfache=20Zitate=20hinzugf=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Shadowrun/Shadowrun.java | 272 ------------------------- src/main/java/Shadowrun/dice.java | 108 ++++++++++ src/main/java/core/Main.java | 4 +- 3 files changed, 110 insertions(+), 274 deletions(-) delete mode 100644 src/main/java/Shadowrun/Shadowrun.java create mode 100755 src/main/java/Shadowrun/dice.java mode change 100644 => 100755 src/main/java/core/Main.java diff --git a/src/main/java/Shadowrun/Shadowrun.java b/src/main/java/Shadowrun/Shadowrun.java deleted file mode 100644 index ab8e1fc..0000000 --- a/src/main/java/Shadowrun/Shadowrun.java +++ /dev/null @@ -1,272 +0,0 @@ -package Shadowrun; - -import net.dv8tion.jda.core.EmbedBuilder; -import net.dv8tion.jda.core.entities.ChannelType; -import net.dv8tion.jda.core.entities.User; -import net.dv8tion.jda.core.events.message.MessageReceivedEvent; -import net.dv8tion.jda.core.hooks.ListenerAdapter; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.awt.*; -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.text.DecimalFormat; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Random; - -public class Shadowrun extends ListenerAdapter { - - private String prefixSr; - private String prefixDegradation; - private String prefixDetail; - - - public Shadowrun() { - this.prefixSr = "!sr"; - } - - @Override - public void onMessageReceived(MessageReceivedEvent event) { - if (event.getMessage().getContentRaw().startsWith("!ende")) { // nur zum Debugen #todo muss wieder raus - event.getJDA().shutdown(); - } - if ((!event.getMessage().getContentRaw().startsWith(this.prefixSr)) || event.getChannelType() != ChannelType.TEXT) { - return; - } - - User author = event.getAuthor(); - if (!author.isBot()) { - if (event.getMessage().getContentRaw().startsWith(this.prefixSr)) - this.getInfo(event); - } - } - - private void getInfo(MessageReceivedEvent event) { - this.getInfo(event, false); - } - - /** - * Holt Kontostand ab - * - * @param event JDA Event - * @param detail true = Abrufen der Detail, Chronologich, false = gesammt Kontostand - */ - private void getInfo(MessageReceivedEvent event, Boolean detail) { - - EmbedBuilder test = new EmbedBuilder(); - test.setTitle("Das ist ein Test"); - test.setColor(Color.red); - test.setDescription("Text " + event.getMember().getAsMention()); - - - - - int[] verteilung = new int[6]; - int dice1; - - try { - String[] MsgParts_exl_Mention = event.getMessage().getContentRaw().split(" "); - int rounds = Integer.parseInt(MsgParts_exl_Mention[1]); - if(rounds <= 0) { - event.getChannel().sendMessage("Nope").queue(); - return; - } - for(int i = 0; i < rounds; i++) { - dice1 = new Random().nextInt(6); - verteilung[dice1]++; - } - for(int i = 0; i < 6; i++) { - float pro = verteilung[i]*100f/rounds; - test.addField(Integer.toString(i+1), Integer.toString(verteilung[i]) + " - " + String.format("%.2f", pro), true); - } - event.getChannel().sendMessage(test.build()).queue(); - - } - catch (NumberFormatException e) { - event.getChannel().sendMessage("Nope").queue(); - } - catch (Exception e) { - System.out.println("problem: " + e.getMessage()); - } finally { - - } - - } - - /** - * Fügt neue Transaktion hinzu - * - * @param event JDA Event - */ - private void addTransaction(MessageReceivedEvent event) { - Map IdConvert = new HashMap<>(); - IdConvert.put("256888865103544321", 2); // Niclos - IdConvert.put("495895196685303818", 3); // Birgit - IdConvert.put("385865287586545676", 7); // Felix - IdConvert.put("493359873480720384", 5); // orko - IdConvert.put("339859242917953537", 4); // christian - IdConvert.put("397055491488088065", 6); // Filip - IdConvert.put(event.getJDA().getSelfUser().getId(), 1); // Schiff - - - Map currencyConvert = new HashMap<>(); - currencyConvert.put("credit", 1); - currencyConvert.put("c", 1); - currencyConvert.put("doller", 2); - currencyConvert.put("d", 2); - currencyConvert.put("$", 2); - currencyConvert.put("platinum", 3); - currencyConvert.put("p", 3); - currencyConvert.put("gold", 4); - currencyConvert.put("g", 4); - currencyConvert.put("silver", 5); - currencyConvert.put("s", 5); - - Map currencyConvert2 = new HashMap<>(); - currencyConvert2.put(1, "Credit"); - currencyConvert2.put(2, "Doller"); - currencyConvert2.put(3, "Platinum"); - currencyConvert2.put(4, "Gold"); - currencyConvert2.put(5, "Silver"); - - int[] ids; - StringBuilder result = new StringBuilder(""); - boolean allfound = true; - String[] MsgParts; - float ammount; - - HttpURLConnection con = null; - - try { - // Aufteilen Nachricht in Bennunungen und Rest - String[] MsgParts_exl_Mention = event.getMessage().getContentRaw().split(event.getMessage().getMentionedUsers().get(event.getMessage().getMentionedUsers().size() - 1).getAsMention(), 2); - MsgParts = MsgParts_exl_Mention[1].trim().split(" "); - - ids = new int[event.getMessage().getMentionedUsers().size()]; - - // Pürfen ob Angebe der Währung bekannt ist - if (!currencyConvert.containsKey(MsgParts[1].toLowerCase())) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MsgParts[1] + " ist keine bekannte Währung").queue(); - return; - } - - // Prüfen ob Zahl legal ist - try { - - ammount = Float.parseFloat(MsgParts[0]); - } catch (NumberFormatException e) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " " + MsgParts[MsgParts.length - 2] + " ist keine gültige Zahl").queue(); - return; - - } - - - // Prüfen ob alle gennanten Personen zur Zahlung gehören - for (int i = 0; i < event.getMessage().getMentionedUsers().size(); i++) { - if (!IdConvert.containsKey(event.getMessage().getMentionedUsers().get(i).getId())) { - allfound = false; - result.append(" ").append(event.getMessage().getMentionedUsers().get(i).getName()); - } else { - ids[i] = IdConvert.get(event.getMessage().getMentionedUsers().get(i).getId()); - } - } - - if (!allfound) { - event.getChannel().sendMessage(event.getMember().getAsMention() + result.toString() + " wurde(n) nicht gefunden").queue(); - return; - } - - String reason = MsgParts_exl_Mention[1].trim().substring(MsgParts[0].length() + MsgParts[1].length() + 2); - - // Aufbau Payload zur übertragung an REST Schnittstelle - JSONObject payload = new JSONObject(); - payload.put("ammount", ammount); - payload.put("currency_id", currencyConvert.get(MsgParts[1].toLowerCase())); - payload.put("ids", ids); - payload.put("reason", reason); - - URL url = new URL("http://localhost/REST/balance"); - con = (HttpURLConnection) url.openConnection(); - con.setRequestMethod("POST"); - con.setConnectTimeout(3600); - con.setReadTimeout(3600); - con.setDoInput(true); - con.setDoOutput(true); - con.setDefaultUseCaches(false); - - // Übertragen der Payload - OutputStream os = con.getOutputStream(); - BufferedWriter writer = new BufferedWriter( - new OutputStreamWriter(os, "UTF-8")); - writer.write(payload.toString()); - writer.flush(); - writer.close(); - - int status = con.getResponseCode(); - - switch (status) { - case 200: - case 201: // Verarbeiten der Antwort - BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); - String inputLine; - StringBuffer content = new StringBuffer(); - while ((inputLine = in.readLine()) != null) { - content.append(inputLine); - } - in.close(); - JSONObject responseJson = new JSONObject(content.toString()); - Iterator keys = responseJson.keys(); - - result = new StringBuilder(""); - while (keys.hasNext()) { - String key = keys.next(); - String id = getKey(IdConvert, Integer.parseInt(key)); - - if (key.equals("1")) { - result.append("Das Schiff bekommt: ").append(responseJson.get(key)).append(" ").append(currencyConvert2.get(currencyConvert.get(MsgParts[1].toLowerCase()))).append(" "); - } else { - result.append(event.getGuild().getMemberById(id).getAsMention()).append(" bekommt ").append(responseJson.get(key)).append(" ").append(currencyConvert2.get(currencyConvert.get(MsgParts[1].toLowerCase()))).append(" "); - } - } - event.getChannel().sendMessage(event.getMember().getAsMention() + " " + result.toString()).queue(); - break; - default: - System.out.println(":("); - } - con.disconnect(); - - } catch (Exception e) { - System.out.println("problem: " + e.getMessage()); - } finally { - if (con != null) { // Verbindung schließen wenn noch offen - try { - con.disconnect(); - } catch (Exception ex) { - System.out.println("final fehler"); - } - } - } - } - - /** - * Sucht in einer Map nach Wert und gibt Schlüßel zurück - * @param map Map mit allen Werten - * @param value gesuchtet wert - * @param erste Typ - * @param zweiter typ - * @return |null - */ - private K getKey(Map map, V value) { - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue().equals(value)) { - return entry.getKey(); - } - } - return null; - } -} diff --git a/src/main/java/Shadowrun/dice.java b/src/main/java/Shadowrun/dice.java new file mode 100755 index 0000000..3b9ba5b --- /dev/null +++ b/src/main/java/Shadowrun/dice.java @@ -0,0 +1,108 @@ +package Shadowrun; + +import net.dv8tion.jda.core.EmbedBuilder; +import net.dv8tion.jda.core.entities.ChannelType; +import net.dv8tion.jda.core.entities.User; +import net.dv8tion.jda.core.events.message.MessageReceivedEvent; +import net.dv8tion.jda.core.hooks.ListenerAdapter; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.awt.*; + +import java.util.Random; + +public class dice extends ListenerAdapter { + + private String prefixSr; + private String prefixZitat; + + + + public dice() { + this.prefixSr = "!sr"; + this.prefixZitat = "!zitat"; + } + + @Override + public void onMessageReceived(MessageReceivedEvent event) { + if ((!event.getMessage().getContentRaw().startsWith(this.prefixSr) && !event.getMessage().getContentRaw().startsWith(this.prefixZitat)) || event.getChannelType() != ChannelType.TEXT) { + return; + } + + User author = event.getAuthor(); + if (!author.isBot()) { + if (event.getMessage().getContentRaw().startsWith(this.prefixSr)) + this.roll(event); + if (event.getMessage().getContentRaw().startsWith(this.prefixZitat)) + this.zitat(event); + } + } + + /** + * Holt Kontostand ab + * + * @param event JDA Event + */ + private void roll(MessageReceivedEvent event) { + + EmbedBuilder test = new EmbedBuilder(); + test.setTitle("Das ist ein Test"); + test.setColor(Color.red); + test.setDescription("Text " + event.getMember().getAsMention()); + + + + + int[] verteilung = new int[6]; + int dice1; + + try { + String[] MsgParts_exl_Mention = event.getMessage().getContentRaw().split(" "); + int rounds = Integer.parseInt(MsgParts_exl_Mention[1]); + if(rounds <= 0) { + event.getChannel().sendMessage("Nope").queue(); + return; + } + for(int i = 0; i < rounds; i++) { + dice1 = new Random().nextInt(6); + verteilung[dice1]++; + } + for(int i = 0; i < 6; i++) { + float pro = verteilung[i]*100f/rounds; + test.addField(Integer.toString(i+1), Integer.toString(verteilung[i]) + " - " + String.format("%.2f", pro), true); + } + event.getChannel().sendMessage(test.build()).queue(); + + } + catch (NumberFormatException e) { + event.getChannel().sendMessage("Nope").queue(); + } + catch (Exception e) { + System.out.println("problem: " + e.getMessage()); + } finally { + + } + + } + private void zitat(MessageReceivedEvent event) { + String[] quotes = new String[7]; + + quotes[0] = "*quiek quiek quiek*"; + quotes[1] = "" + + "(\\\\_____/)\n" + + "( ͡ ͡° ͜ ʖ ͡ ͡°) *snuff snuff*\n" + + "\\\\╭☞ \\\\╭☞\n" + + ""; + quotes[2] = "(づ。◕‿‿◕。)づ"; + quotes[3] = "zzzZZZZZzzZZ"; + quotes[4] = "piiiep"; + quotes[5] = "grrrrr"; + quotes[6] = "ʕᵔᴥᵔʔ =*Auto translator*=> In meiner psychophysischen Konstituton manifestiert sich eine absolute Dominanz positiver Effekte für die Individualität Deiner Person. "; + + int dice = new Random().nextInt(700); + event.getChannel().sendMessage(quotes[dice%7]).queue(); + } + + +} diff --git a/src/main/java/core/Main.java b/src/main/java/core/Main.java old mode 100644 new mode 100755 index e35fd52..2366794 --- a/src/main/java/core/Main.java +++ b/src/main/java/core/Main.java @@ -2,7 +2,7 @@ package core; import Serenity.balance; -import Shadowrun.Shadowrun; +import Shadowrun.dice; import net.dv8tion.jda.core.JDA; import net.dv8tion.jda.core.JDABuilder; import net.dv8tion.jda.core.AccountType; @@ -28,7 +28,7 @@ public class Main { builder.setStatus(OnlineStatus.ONLINE); builder.setGame(Game.playing("mit den Würfeln")); builder.addEventListener(new balance()); - builder.addEventListener(new Shadowrun() ); + builder.addEventListener(new dice() ); try { JDA jda = builder.build();