From 4f7daba051d8998c6d2154693dd6115e169deb9f Mon Sep 17 00:00:00 2001
From: Benedikt Magnus <magnus@magnuscraft.de>
Date: Sun, 7 Nov 2021 17:44:38 +0100
Subject: [PATCH] Removed unnecessary parts of the old JS code.

---
 Skripte/Nachrichten.js               | 137 ---------------------------
 Skripte/Nachrichten/Allgemein.js     |  47 ---------
 Skripte/Nachrichten/Datenaufnahme.js | 113 ----------------------
 Skripte/Nachrichten/Moderation.js    |  66 -------------
 4 files changed, 363 deletions(-)
 delete mode 100644 Skripte/Nachrichten/Datenaufnahme.js

diff --git a/Skripte/Nachrichten.js b/Skripte/Nachrichten.js
index 7d1a899..ba57009 100644
--- a/Skripte/Nachrichten.js
+++ b/Skripte/Nachrichten.js
@@ -1,16 +1,6 @@
 export default class MessageHandler
 {
     Definitionen = {
-        //Jederzeit möglich:
-        Befehle: {
-            "hilfe": {
-                Funktion: ModulAllgemein.HilfeRufen,
-                Text: Texte.Hilfe
-            },
-            "sternenrose": {
-                Funktion: ModulAllgemein.Sternenrose
-            }
-        },
         //Nur im Moderationskanal:
         Moderation: {
             "info": {
@@ -56,130 +46,6 @@ export default class MessageHandler
         },
         //Nur in einem bestimmten Zustand gültig:
         Zustände: {
-            Registrierung: {
-                "ja": {
-                    Funktion: ModulAllgemein.Fortfahren,
-                    Ziel: "AnalogDigitalWichtel",
-                    Text: Texte.AnalogDigitalWichtel
-                },
-                "nein": {
-                    Aliase: ["nö", "ne"],
-                    Funktion: ModulAllgemein.Fortfahren,
-                    Ziel: "Neu",
-                    Text: Texte.Kontaktaufnahme
-                },
-                "vielleicht" : {
-                    Aliase: ["vllt", "eventuell", "evtl"],
-                    Funktion: ModulAllgemein.Antworten,
-                    Text: Texte.Vielleicht
-                }
-            },
-            AnalogDigitalWichtel: {
-                "analog": {
-                    Aliase: ["digital", "beides"],
-                    Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                    Ziel: "AnalogDigitalSelbst",
-                    Text: Texte.AnalogDigitalSelbst
-                }
-            },
-            AnalogDigitalSelbst: {
-                "analog": {
-                    Aliase: ["beides"],
-                    Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                    Ziel: "Anschrift",
-                    Text: Texte.Anschrift
-                },
-                "digital": {
-                    Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                    Ziel: "Steam",
-                    Text: Texte.Steam
-                }
-            },
-            Anschrift: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                Ziel: "Land",
-                Text: Texte.Land
-            },
-            Land: {
-                "deutschland": {
-                    Aliase: ["österreich", "schweiz", "luxemburg"],
-                    Funktion: ModulDatenaufnahme.LandVerarbeiten
-                }
-            },
-            Steam: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.SteamVerarbeiten
-            },
-            International: {
-                "ja": {
-                    Aliase: ["nein", "nö", "ne"],
-                    Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                    Ziel: "Wunschliste",
-                    Text: Texte.Wunschliste
-                },
-                "vielleicht" : {
-                    Aliase: ["vllt", "eventuell", "evtl"],
-                    Funktion: ModulAllgemein.Antworten,
-                    Text: Texte.Vielleicht
-                }
-            },
-            Wunschliste: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.WunschlisteVerarbeiten
-            },
-            Allergien: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                Ziel: "AusschlussGeschenk",
-                Text: Texte.AusschlussGeschenk
-            },
-            AusschlussGeschenk: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                Ziel: "AusschlussWichtel",
-                Text: Texte.AusschlussWichtel
-            },
-            AusschlussWichtel: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                Ziel: "Freitext",
-                Text: Texte.Freitext
-            },
-            Freitext: {
-                Datenaufnahme: true,
-                Funktion: ModulDatenaufnahme.DatenAufnehmen,
-                Ziel: "Teilnehmer",
-                Text: Texte.Teilnehmer
-            },
-            Teilnehmer: {
-                "ändern": {
-                    Funktion: ModulAllgemein.Fortfahren,
-                    Ziel: "ÄnderungBestätigen",
-                    Text: Texte.ÄnderungBestätigen
-                }
-            },
-            ÄnderungBestätigen: {
-                "ja": {
-                    Funktion: ModulDatenaufnahme.DatenÄndern,
-                    Ziel: "AnalogDigitalWichtel",
-                    Text: Texte.AnalogDigitalWichtel
-                },
-                "nein": {
-                    Aliase: ["nö", "ne"],
-                    Funktion: ModulAllgemein.Fortfahren,
-                    Ziel: "Teilnehmer",
-                    Text: Texte.ÄnderungAbgebrochen
-                },
-                "vielleicht" : {
-                    Aliase: ["vllt", "eventuell", "evtl"],
-                    Funktion: ModulAllgemein.Antworten,
-                    Text: Texte.Vielleicht
-                }
-            },
-            Wartend: {
-                //Leer
-            },
             Wichtel: {
                 "anonym meinem wichtelpaten schreiben": {
                     Funktion: ModulAllgemein.Fortfahren,
@@ -222,9 +88,6 @@ export default class MessageHandler
                 Datenaufnahme: true,
                 Funktion: ModulPakete.EmpfangenDatumAufnehmen
             }
-        },
-        NichtVerstanden: {
-            Funktion: ModulAllgemein.NichtVerstanden
         }
     };
 }
diff --git a/Skripte/Nachrichten/Allgemein.js b/Skripte/Nachrichten/Allgemein.js
index da78c99..96949d8 100644
--- a/Skripte/Nachrichten/Allgemein.js
+++ b/Skripte/Nachrichten/Allgemein.js
@@ -1,40 +1,3 @@
-/**
- * Gibt zustandsabhängige Informationen aus, wenn die Eingabe nicht verstanden wurde.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- */
-function NichtVerstanden (Nachricht, Nutzer)
-{
-    let Antwort = Texte.NichtVerstanden;
-
-    Antwort += "\n\n" + Texte.InfoImmer;
-
-    if (Nutzer.Zustand == 'Teilnehmer')
-        Antwort += "\n" + Texte.InfoTeilnehmer;
-    else if (Nutzer.Zustand == 'Wichtel')
-        Antwort += "\n" + Texte.InfoWichtel;
-
-    Nachricht.reply(Antwort);
-}
-exports.NichtVerstanden = NichtVerstanden;
-
-/**
- * Informiert die Orga im privaten Kanal über benötigte Hilfe.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- * @param {Object} Befehlsobjekt Das Befehlsobjekt der Zustandsdefinition, das gerade ausgeführt wird.
- */
-function HilfeRufen (Nachricht, Nutzer, Befehlsobjekt)
-{
-    let Orgainformation = Texte.HilfeOrgainformation.replace(/\[\[NUTZERNAME\]\]/g, Nutzer.Name);
-    Orgainformation = Orgainformation.replace(/\[\[NUTZERTAG\]\]/g, Nutzer.Discord);
-
-    Klient.channels.get(Config.KanalIdOrganisation).send(Orgainformation);
-
-    Antworten(Nachricht, Nutzer, Befehlsobjekt);
-}
-exports.HilfeRufen = HilfeRufen;
-
 /**
  * Sendet anonym eine Nachricht vom Wichtelkind an seinen Wichtelpaten.
  * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
@@ -82,13 +45,3 @@ function NachrichtAnWichtelkind (Nachricht, Nutzer)
     );
 }
 exports.NachrichtAnWichtelkind = NachrichtAnWichtelkind;
-
-/**
- * Informiert die Orga im privaten Kanal über benötigte Hilfe.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- */
-function Sternenrose (Nachricht)
-{
-    Nachricht.reply(Texte.Sternenrose, BildSternenrose);
-}
-exports.Sternenrose = Sternenrose;
diff --git a/Skripte/Nachrichten/Datenaufnahme.js b/Skripte/Nachrichten/Datenaufnahme.js
deleted file mode 100644
index 60d06f0..0000000
--- a/Skripte/Nachrichten/Datenaufnahme.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Nimmt die gesendeten Daten auf und fährt mit dem nächsten Ziel fort.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- * @param {Object} Befehlsobjekt Das Befehlsobjekt der Zustandsdefinition, das gerade ausgeführt wird.
- */
-function DatenAufnehmen (Nachricht, Nutzer, Befehlsobjekt)
-{
-    //Wenn der Zustand jeden Text aufnimmt, muss dieser in seiner Beschaffenheit erhalten bleiben.
-    //Gibt es jedoch einen spezifischen Befehl, also wenn keine pauschale Datenaufnahme stattfindet, so wird dieser eingetragen,
-    //da er bereits verarbeitet wurde (nur Kleinbuchstaben, Punkt am Ende abgetrennt etc.).
-    Nutzer[Nutzer.Zustand] = Befehlsobjekt.Datenaufnahme ? Nachricht.content : Nachricht.Befehl;
-
-    Nutzerverwaltung.Aktualisieren(Nutzer);
-
-    ModulAllgemein.Fortfahren(Nachricht, Nutzer, Befehlsobjekt);
-}
-exports.DatenAufnehmen = DatenAufnehmen;
-
-/**
- * Verarbeitet die Eingabe des eigenen Landes und schickt den Nutzer zur nächsten Frage.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- */
-function LandVerarbeiten (Nachricht, Nutzer)
-{
-    Nutzer[Nutzer.Zustand] = Nachricht.Befehl;
-
-    let Antworttext = '';
-
-    if (Nutzer.AnalogDigitalSelbst == 'beides')
-    {
-        Nutzer.Zustand = 'Steam';
-        Antworttext = Texte.Steam;
-    }
-    else if (Nutzer.AnalogDigitalWichtel != 'digital')
-    {
-        Nutzer.Zustand = 'International';
-        Antworttext = Texte.International;
-    }
-    else
-    {
-        Nutzer.Zustand = 'Wunschliste';
-        Antworttext = Texte.Wunschliste;
-    }
-
-    Nutzerverwaltung.Aktualisieren(Nutzer);
-
-    Nachricht.reply(Antworttext);
-
-    ModulAllgemein.AlteDatenAusgeben(Nachricht, Nutzer);
-}
-exports.LandVerarbeiten = LandVerarbeiten;
-
-/**
- * Verarbeitet die Eingabe eines Steamnamens und schickt den Nutzer zur nächsten Frage.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- */
-function SteamVerarbeiten (Nachricht, Nutzer)
-{
-    Nutzer[Nutzer.Zustand] = Nachricht.content;
-
-    let Antworttext = '';
-
-    if (Nutzer.AnalogDigitalWichtel != 'digital')
-    {
-        Nutzer.Zustand = 'International';
-        Antworttext = Texte.International;
-    }
-    else
-    {
-        Nutzer.Zustand = 'Wunschliste';
-        Antworttext = Texte.Wunschliste;
-    }
-
-    Nutzerverwaltung.Aktualisieren(Nutzer);
-
-    Nachricht.reply(Antworttext);
-
-    ModulAllgemein.AlteDatenAusgeben(Nachricht, Nutzer);
-}
-exports.SteamVerarbeiten = SteamVerarbeiten;
-
-/**
- * Verarbeitet die Eingabe einer Wunschliste und schickt den Nutzer zur nächsten Frage.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- * @param {Object} Nutzer Das Nutzerobjekt mit allen Angaben zum Nutzer.
- */
-function WunschlisteVerarbeiten (Nachricht, Nutzer)
-{
-    Nutzer[Nutzer.Zustand] = Nachricht.content;
-
-    let Antworttext = '';
-
-    if (Nutzer.AnalogDigitalSelbst != 'digital')
-    {
-        Nutzer.Zustand = 'Allergien';
-        Antworttext = Texte.Allergien;
-    }
-    else
-    {
-        Nutzer.Zustand = 'AusschlussGeschenk';
-        Antworttext = Texte.AusschlussGeschenk;
-    }
-
-    Nutzerverwaltung.Aktualisieren(Nutzer);
-
-    Nachricht.reply(Antworttext);
-
-    ModulAllgemein.AlteDatenAusgeben(Nachricht, Nutzer);
-}
-exports.WunschlisteVerarbeiten = WunschlisteVerarbeiten;
diff --git a/Skripte/Nachrichten/Moderation.js b/Skripte/Nachrichten/Moderation.js
index 905cd75..4642554 100644
--- a/Skripte/Nachrichten/Moderation.js
+++ b/Skripte/Nachrichten/Moderation.js
@@ -281,69 +281,3 @@ function SteamnamenAuflisten (Nachricht)
     );
 }
 exports.SteamnamenAuflisten = SteamnamenAuflisten;
-
-/**
- * Verteilt die Steckbriefe ihrer Wichtel an alle Wartenden.
- * @param {Object} Nachricht Die Nachricht, die per Discord erhalten wurde, ein Discordnachrichtenobjekt.
- */
-function SteckbriefeVerteilen (Nachricht)
-{
-    let AnzahlSteckbriefe = 0;
-
-    for (let Nutzer of Nutzerverwaltung.Liste.values())
-        if ((Nutzer.Zustand == 'Wartend') && (Nutzer.WichtelkindId))
-        {
-            let Wichtel = Nutzerverwaltung.VonId(Nutzer.WichtelkindId);
-
-            let Geschenkziel;
-            let Allergientext = Texte.Steckbrief.Allergien.replace(/\[\[ALLERGIEN\]\]/g, Wichtel.Allergien);
-
-            switch (Wichtel.AnalogDigitalSelbst)
-            {
-                case 'analog':
-                    Geschenkziel = Texte.Steckbrief.Anschrift;
-                    break;
-                case 'digital':
-                    Geschenkziel = Texte.Steckbrief.Steam;
-                    Allergientext = '';
-                    break;
-                default:
-                    Geschenkziel = Texte.Steckbrief.Anschrift + "\n\n" + Texte.Steckbrief.Steam;
-            }
-
-            Geschenkziel = Geschenkziel.replace(/\[\[LAND\]\]/g, Wichtel.Land);
-            Geschenkziel = Geschenkziel.replace(/\[\[ANSCHRIFT\]\]/g, Wichtel.Anschrift);
-            Geschenkziel = Geschenkziel.replace(/\[\[STEAM\]\]/g, Wichtel.Steam);
-
-            let Steckbrief = Texte.Steckbrief.Text;
-
-            Steckbrief = Steckbrief.replace(/\[\[NUTZERNAME\]\]/g, Nutzer.Name);
-            Steckbrief = Steckbrief.replace(/\[\[GESCHENKZIEL\]\]/g, Geschenkziel);
-            Steckbrief = Steckbrief.replace(/\[\[ALLERGIENTEXT\]\]/g, Allergientext);
-            Steckbrief = Steckbrief.replace(/\[\[WICHTELNAME\]\]/g, Wichtel.Name);
-            Steckbrief = Steckbrief.replace(/\[\[ANALOGDIGITAL\]\]/g, Wichtel.AnalogDigitalSelbst);
-            Steckbrief = Steckbrief.replace(/\[\[WUNSCHLISTE\]\]/g, Wichtel.Wunschliste);
-            Steckbrief = Steckbrief.replace(/\[\[UNERWÜNSCHT\]\]/g, Wichtel.AusschlussGeschenk);
-            Steckbrief = Steckbrief.replace(/\[\[FREITEXT\]\]/g, Wichtel.Freitext);
-
-            Klient.fetchUser(Nutzer.Id).then(function (DiscordNutzer)
-                {
-                    const MaximaleNachrichtengröße = 1996;
-                    const AnzahlNachrichten = Math.ceil(Steckbrief.length / MaximaleNachrichtengröße);
-                    let Nachrichten = new Array(AnzahlNachrichten);
-                    for (let i = 0, n = 0; i < AnzahlNachrichten; ++i, n += MaximaleNachrichtengröße)
-                        Nachrichten[i] = Steckbrief.substr(n, MaximaleNachrichtengröße);
-
-                    for (let Steckbriefteil of Nachrichten)
-                        DiscordNutzer.send(Steckbriefteil);
-                }
-            );
-
-            AnzahlSteckbriefe++;
-        }
-
-    let Bestätigung = Texte.SteckbriefeGesendet.replace(/\[\[ANZAHL\]\]/g, AnzahlSteckbriefe);
-
-    Nachricht.reply("\n" + Bestätigung);
-}
-exports.SteckbriefeVerteilen = SteckbriefeVerteilen;
-- 
GitLab