Deutsch und Cleanup der Kanäle
release-tag / release-image (push) Successful in 2m8s

This commit is contained in:
2026-05-29 21:48:19 +02:00
parent 4d49c0af83
commit 720708f9d3
5 changed files with 221 additions and 33 deletions
+60 -13
View File
@@ -45,6 +45,7 @@ DISCORD_AUDIT_CHANNEL_ID=...
DISCORD_ADMIN_ROLE_IDS=roleId1,roleId2
DISCORD_TEAM_ROLE_IDS=roleId3,roleId4
DATABASE_PATH=orders.db
THREAD_DELETE_AFTER_HOURS=72
```
`DISCORD_INTERNAL_ORDER_CHANNEL_ID` sollte ein privater Team-Channel sein. Nur dort erscheinen Lagerprüfung und Annahme-/Ablehnen-Buttons.
@@ -58,7 +59,7 @@ Erstellt einen Auftrag mit:
- `ware`
- `qualitaet` 0-1000
- `menge` als Zahl
- `einheit` `SCU` oder `Stück`
- `einheit` `SCU`, `cSCU` oder `Stück`
- `frist` im Format `YYYY-MM-DD`
- `lieferort`
- `budget` in aUEC
@@ -69,11 +70,11 @@ Zeigt den Auftrag. Team/Admin sieht die interne Ansicht inklusive Lagerprüfung,
### `/auftrag_liste status:<optional> limit:<optional>`
Listet nur aktive Aufträge. Standardmäßig werden `open`, `accepted`, `in_delivery` und `delivered` angezeigt. Abgeschlossene, abgelehnte und abgebrochene Aufträge erscheinen hier nicht mehr.
Listet nur aktive Aufträge. Standardmäßig werden `offen`, `angenommen`, `in Lieferung` und `geliefert` angezeigt. Abgeschlossene, abgelehnte und abgebrochene Aufträge erscheinen hier nicht mehr.
### `/auftrag_archiv status:<optional> limit:<optional>`
Listet archivierte Aufträge mit den Statuswerten `completed`, `declined` und `cancelled`. Team/Admin sieht zusätzlich interne Zuordnungen.
Listet archivierte Aufträge mit den deutschen Statuswerten `abgeschlossen`, `abgelehnt` und `abgebrochen`. Intern werden die stabilen Werte `completed`, `declined` und `cancelled` gespeichert.
### `/auftrag_abschliessen id:<id>`
@@ -93,13 +94,13 @@ Leitet eine Nachricht per DM an Einreicher und Annehmer weiter und schreibt sie
Team/Admin kann den Status manuell setzen:
- `open`
- `accepted`
- `in_delivery`
- `delivered`
- `completed`
- `declined`
- `cancelled`
- `offen`
- `angenommen`
- `in Lieferung`
- `geliefert`
- `abgeschlossen`
- `abgelehnt`
- `abgebrochen`
## Lager Commands
@@ -146,14 +147,17 @@ Prüft intern, ob eine Menge verfügbar ist.
```text
/lager_check ware:Gold qualitaet:900 menge:64 einheit:SCU
/lager_check ware:P4-AR qualitaet:725 menge:2 einheit:cSCU
```
## Statusmodell
```text
open -> accepted -> in_delivery -> delivered -> completed
\-> cancelled
open -> declined
offen -> angenommen -> in Lieferung -> geliefert -> abgeschlossen
\-> abgebrochen
offen -> abgelehnt
Intern speichert der Bot weiterhin stabile technische Statuswerte wie `open`, `accepted`, `completed` usw. In Discord werden sie deutsch angezeigt.
```
## Datenbanktabellen
@@ -180,3 +184,46 @@ Wenn ein Lagerbestand durch `/lager_remove` oder `/lager_add` mit `modus:setzen`
Zusätzlich verhindert die Lagerlogik negative Bestände. Wenn mehr entfernt wird als vorhanden ist, antwortet der Bot mit einem Fehler und ändert den Bestand nicht.
`/lager_liste` und die interne Lagerprüfung berücksichtigen nur Bestände größer als `0`, sodass alte Nullbestände nicht mehr angezeigt werden.
## Automatische Thread-Bereinigung
Interne Auftragsthreads werden nach einer konfigurierbaren Zeit automatisch gelöscht, sobald der Auftrag archiviert ist. Archiviert bedeutet:
- `abgeschlossen`
- `abgelehnt`
- `abgebrochen`
Die Zeit steuerst du über:
```env
THREAD_DELETE_AFTER_HOURS=72
```
`72` bedeutet: Der Thread wird frühestens 72 Stunden nach der letzten Statusänderung gelöscht. `0` deaktiviert die automatische Thread-Bereinigung.
Für das Löschen benötigt der Bot im internen Channel zusätzlich `Manage Threads`. Wenn diese Berechtigung fehlt, bleibt der Thread bestehen und der Fehler erscheint im Bot-Log.
## Deutsche Statusbegriffe
Discord zeigt Statuswerte jetzt deutsch an:
| Anzeige | interner Wert |
| --- | --- |
| offen | `open` |
| angenommen | `accepted` |
| in Lieferung | `in_delivery` |
| geliefert | `delivered` |
| abgeschlossen | `completed` |
| abgelehnt | `declined` |
| abgebrochen | `cancelled` |
Die internen Werte bleiben absichtlich englisch, damit bestehende Datenbanken und Integrationen stabil bleiben.
## Einheiten
Bei Aufträgen und Lagerbeständen sind jetzt diese Einheiten auswählbar:
- `SCU`
- `cSCU`
- `Stück`