diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 0000000..30bab2a --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..967f534 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..fa0887c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..03531d0 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/sh_discord_bot.wiki.iml b/.idea/sh_discord_bot.wiki.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/sh_discord_bot.wiki.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Befehle.md b/Befehle.md index 1aff715..fec73bf 100644 --- a/Befehle.md +++ b/Befehle.md @@ -3,24 +3,25 @@ ## Inhaltsverzeichnis - [Begriffserklärung](#begriffserklärung) - - [Begriffe](#begriffe) - - [Datentypen](#datentypen) + - [Begriffe](#begriffe) + - [Datentypen](#datentypen) - [Befehle](#befehle) - - [Allgemein](#allgemein) - - [Game server](#game-server) - - [Register](#register) - - [Unregister](#unregister) - - [Submit](#submit) - - [Achievement](#achievement) - - [Auto role](#auto-role) - - [Auto role rule](#auto-role-rule) - - [User](#user) - - [Level](#level) - - [Short role name](#short-role-name) - - [Techniker](#techniker) - - [Api Key](#api-key) - - [Sync xp](#sync-xp) - - [Noch geplante Befehle](#noch-geplante-befehle) + - [Allgemein](#allgemein) + - [Game server](#game-server) + - [Register](#register) + - [Unregister](#unregister) + - [Submit](#submit) + - [Achievement](#achievement) + - [Auto role](#auto-role) + - [Auto role rule](#auto-role-rule) + - [User](#user) + - [Level](#level) + - [Short role name](#short-role-name) + - [Techniker](#techniker) + - [Api Key](#api-key) + - [Sync xp](#sync-xp) + - [Realms](#realms) + - [Noch geplante Befehle](#noch-geplante-befehle) Um einen Befehl auszuführen, muss man eine Nachricht einen Text-Kanal (vorzugsweise in einen für Bot Befehle) schicken. @@ -36,18 +37,18 @@ ODER ### Begriffe -- Autor: Das Mitglied, welches den Befehl geschickt hat +- Autor: Das Mitglied, welches den Befehl geschickt hat - WarnungsId: Id einer Warnung - Modul: Ein Teil-System des Bots. (database, level, filter) - MitgliedAttribut: Ein Attribut eines Mitglieds (ontime, xp) -- ontime: Die Zeit, die das Mitglied in einem Sprachkanal verbracht hat +- ontime: Die Zeit, die das Mitglied in einem Sprachkanal verbracht hat - xp: Nummer anhand welcher das Level bestimmt wird -- logins: Ein Eintrag, wenn ein Mitglied dem Server beigetreten ist +- logins: Ein Eintrag, wenn ein Mitglied dem Server beigetreten ist - warnings: Eine Verwarnung (z.B. Regelverstoß) - kicks: Ein Eintrag, wenn ein Mitglied gekickt wurde - bans: Alle Bans des Mitglieds -Parameter mit einem ```?``` sind optionale Parameter. +Parameter mit einem `?` sind optionale Parameter. ### Datentypen @@ -62,7 +63,7 @@ Parameter mit einem ```?``` sind optionale Parameter. ### Allgemein | Befehl | Berechtigungen | Parameter | Beschreibung | -|-------------|----------------|-------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ----------- | -------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | afk | | member: Member? | Verschiebt den Autor oder das angegebene Mitglied in den AFK Kanal. Um ein Mitglied angeben zu können, muss man Moderator sein alternativ muss der Autor in einem Sprachkanal sein | | help | | | Gibt den Link dieser Seite aus | | info | | | Gibt allgemeine Informationen über den Bot aus | @@ -75,7 +76,7 @@ Parameter mit einem ```?``` sind optionale Parameter. ### Game server | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------------|----------------|--------------------------------|---------------------------------------------------------------------------------| +| ------------ | -------------- | ------------------------------ | ------------------------------------------------------------------------------- | | list | Moderator | | Listet alle Gameserver des Discord Servers auf | | add | Admin | name: str,
api_key_id: int | Fügt einen Gameserver hinzu | | remove | Admin | id: int | Entfernt einen Gameserver | @@ -86,13 +87,13 @@ Parameter mit einem ```?``` sind optionale Parameter. Befehle der Gruppe /register | Befehl | Berechtigungen | Parameter | Beschreibung | -|-----------|----------------|-----------------------------------------------------|-----------------------------------------------------------------| +| --------- | -------------- | --------------------------------------------------- | --------------------------------------------------------------- | | minecraft | Moderator | member: Member,
game_server: int,
name: str | Verknüpft das Mitglied mit dem Spielerprofil auf dem Gameserver | ### Unregister | Befehl | Berechtigungen | Parameter | Beschreibung | -|------------|----------------|--------------------------------------|-----------------------------------------------------------------------------------| +| ---------- | -------------- | ------------------------------------ | --------------------------------------------------------------------------------- | | unregister | Moderator | member: Member,
game_server: int | Löscht die Verknüpfung zwischen Mitglied und dem Spielerprofil auf dem Gameserver | ### Submit @@ -100,7 +101,7 @@ Befehle der Gruppe /register Befehle der Gruppe /submit | Befehl | Berechtigungen | Parameter | Beschreibung | -|-----------|----------------|-----------|---------------------------------------------------------| +| --------- | -------------- | --------- | ------------------------------------------------------- | | complaint | | | Nimmt eine Beschwerde auf und teilt diese dem Team mit | | bug | | | Nimmt einen Bug auf und teilt diese den Entwicklern mit | @@ -109,7 +110,7 @@ Befehle der Gruppe /submit Befehle der Gruppe /submit | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------|----------------|----------------|---------------------------------------------------------------| +| ------ | -------------- | -------------- | ------------------------------------------------------------- | | check | Moderator | member: Member | Überprüft, ob das Mitglied neue Errungenschaften erreicht hat | ### Auto role @@ -117,7 +118,7 @@ Befehle der Gruppe /submit Befehle der Gruppe /auto-role | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------|----------------|-----------------------------------|-------------------------------------------| +| ------ | -------------- | --------------------------------- | ----------------------------------------- | | list | Moderator | wait: int? | Listet alle AutoRoles auf | | add | Moderator | channel: Channel, message_id: str | Erstellt eine AutoRole für eine Nachricht | | remove | Moderator | auto_role: int | Löscht die AutoRole anhand der Id | @@ -127,7 +128,7 @@ Befehle der Gruppe /auto-role Befehle der Gruppe /auto-role rule | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------|----------------|-----------------------------------------------|----------------------------------------------------------------------------------------------------------| +| ------ | -------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | list | Moderator | wait: int? | Listet alle AutoRoles Regeln auf | | add | Moderator | auto_role: int, emoji_name: str, role_id: str | Erstellt eine Regel für die gegebene AutoRole. Es wird auf die gegebene Nachricht mit dem Emoji reagiert | | remove | Moderator | auto_role_rule: int | Löscht die AutoRole Regel anhand der Id | @@ -137,7 +138,7 @@ Befehle der Gruppe /auto-role rule Befehle der Gruppe /user | Befehl | Berechtigungen | Parameter | Beschreibung | -|----------------|----------------|---------------------------------------|-----------------------------------------------------------------------------------------------------------------------| +| -------------- | -------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | birthday | | day: int, month: int, year: int | Speichert das Geburtsdatum des Autors | | info | | member: Member? | Gibt alle Werte des gegebenen Mitglieds aus | | get | | member: Member?, atr: str | Gibt den Wert des gegebenen Attributes aus. Wird kein Mitglied angegeben, wird der Autor genutzt | @@ -154,7 +155,7 @@ Befehle der Gruppe /user Befehle der Gruppe /level | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------|----------------|---------------------------------------------------------|---------------------------------------------------------------------------------------------| +| ------ | -------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | list | Moderator | wait: int? | Listet alle Level auf | | create | Admin | name: str, color: str, min_xp: int, permissions: int | Erstellt ein Level & die Rolle anhand des Levels. Das Levelsystem wird danach neu geladen | | edit | Admin | name: str, color: str?, min_xp: int?, permissions: int? | Bearbeitet das Level, indem die Werte gesetzt werden, welche als Parameter übergeben werden | @@ -162,18 +163,18 @@ Befehle der Gruppe /level | up | Moderator | member: Member | Erhöht das Level des Mitglieds auf das nächst höhere | | down | Moderator | member: Member | Verringert das Level des Mitglieds auf das nächst niedrigere | | set | Moderator | level: str, user: Member | Setzt das Level des Mitglieds auf das gegebene Level | -| reload | Moderator | | Lädt das Levelsystem neu | +| reload | Moderator | | Lädt das Levelsystem neu | #### Short role name | Befehl | Berechtigungen | Parameter | Beschreibung | -|-----------------------|----------------|-----------|------------------------------------------------------------------------------| -| short-role-name-check | Moderator | | Überprüft ob alle Rollen Kürzel bei allen Mitgliedern richtig gesetzt wurden | +| --------------------- | -------------- | --------- | ---------------------------------------------------------------------------- | +| short-role-name-check | Moderator | | Überprüft ob alle Rollen Kürzel bei allen Mitgliedern richtig gesetzt wurden | ### Techniker | Befehl | Berechtigungen | Parameter | Beschreibung | -|----------|----------------|-------------------------|------------------------------------------------------| +| -------- | -------------- | ----------------------- | ---------------------------------------------------- | | shutdown | Techniker | | Stoppt den Bot | | restart | Techniker | | Startet den Bot neu | | log | Techniker | dateFrom: str?, dateTo? | Schickt ein ZIP-Paket mit den angefragten Logs darin | @@ -181,7 +182,7 @@ Befehle der Gruppe /level #### Api Key | Befehl | Berechtigungen | Parameter | Beschreibung | -|--------|----------------|----------------------|---------------------------------------------| +| ------ | -------------- | -------------------- | ------------------------------------------- | | get | Techniker | key: str, wait: int? | Gibt den Schlüssel für einen API-Key zurück | | add | Techniker | identifier: str | Fügt einen API-Key hinzu | | remove | Techniker | key: str | Entfernt einen API-Key | @@ -189,15 +190,28 @@ Befehle der Gruppe /level #### Sync xp | Befehl | Berechtigungen | Parameter | Beschreibung | -|-------------|----------------|-------------------------------------|-------------------------------------------------------------------------------------| +| ----------- | -------------- | ----------------------------------- | ----------------------------------------------------------------------------------- | | all_members | Techniker | server_id: int | Übernimmt die XP aller Mitglieder von einem anderen Server, sofern diese größer ist | | by_member | Techniker | server_id: int,
,member: Member | Übernimmt die XP für ein Mitglied von einem anderen Server, sofern diese größer ist | +#### Realms + +| Befehl | Berechtigungen | Parameter | Beschreibung | +| ---------------- | --------------------------- | -------------------------- | -------------------------------------------- | +| list | Moderator | | Listet alle Realms | +| add | Moderator | name: str, leader: Member? | Erstellt einen Realm inkl. Kategorie & Rolle | +| edit | Moderator | realm_name: str, name: str | Ändert den Namen des Realms | +| delete | Moderator | realm_name: str | Entfernt die Kategorie inkl. Rolle & Kanäle | +| member add | Server oder Realm Moderator | realm: str, member: Member | Mitglied zum Realm zuweisen | +| member remove | Server oder Realm Moderator | realm: str, member: Member | Mitglied aus dem Realm entfernen | +| moderator add | Server oder Realm Moderator | realm: str, member: Member | Mitglied zum Moderator ernennen | +| moderator remove | Server oder Realm Moderator | realm: str, member: Member | Moderator status eines Mitglieds entfernen | + ### Noch geplante Befehle -| Berechtigungen | Befehl | Parameter | Beschreibung | -|----------------|----------------|---------------|---------------------------------------------| -| Moderator | filter-list | | Zeigt die Filterliste | -| Moderator | filter-add | Wort | Fügt ein Begriff zur Filterliste hinzu | -| Admin | filter-remove | Wort | Entfernt einen Begriff aus der Filterliste | -| Admin | filter-clear | | Leert die Filterliste | +| Berechtigungen | Befehl | Parameter | Beschreibung | +| -------------- | ------------- | --------- | ------------------------------------------ | +| Moderator | filter-list | | Zeigt die Filterliste | +| Moderator | filter-add | Wort | Fügt ein Begriff zur Filterliste hinzu | +| Admin | filter-remove | Wort | Entfernt einen Begriff aus der Filterliste | +| Admin | filter-clear | | Leert die Filterliste | diff --git a/Realm.md b/Realm.md index e69de29..ba70589 100644 --- a/Realm.md +++ b/Realm.md @@ -0,0 +1,23 @@ +## Was ist ein Realm? + +Ein Realm ist ein privater Bereich für euch, den ihr frei einrichten könnt. +Konkret handelt es sich dabei um eine Kategorie & Rolle die vom Bot angelegt werden. + +Daher ist auch zu empfehlen, dass die Bot Befehle genutzt werden um Mitglieder und Moderatoren hinzuzufügen. +By default ist der Realm privat also nur die Mitglieder dieses gedacht. +Diese wie auch viele andere Einstellungen sind über Discord einzustellen. + +Lediglich Mitglieder, Moderatoren & der Name sollten über den Bot genutzt werden. + + +### Mitglieder + +Zuweisung findet über eine gleichnahmige Rolle statt. Der Bot managed diese. +Zugewiesene Mitglieder können den Realm sehen. Dieser kann natürlich auch öffentlich gestellt werden. + +Mitglieder können genau so wieder entfernt werden. +Die Mitgliederverwaltung ist Realm Moderatoren vorbehalten. + +### Moderatoren + +By default bekommen Moderatoren Berechtigungen um Kanäle & Rechte des Realms zu verwalten. \ No newline at end of file