Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a ticket system. #37

Open
official-Cromatin opened this issue Mar 8, 2022 · 0 comments
Open

Add a ticket system. #37

official-Cromatin opened this issue Mar 8, 2022 · 0 comments

Comments

@official-Cromatin
Copy link

Hier mal ein sehr Großer Vorschlag, der so Vermutlich auch etwas aufweniger in der Umsetzung ist als manch andere Vorschläge.
Der Grund für diesen wie für viele andere Vorschläge ist, das der Bot den Vorteil hat den andere Bots nicht haben.
Er ist Open Source, und damit Kostenlos, viele andere Bots sind das leider nicht und man muss für ihre Features Bezahlen so auch bei manchen Ticket System Bots was Schade ist.

Nun zum Eigentlich Vorschlag:
Als erstes Müsste man mehrere neue Commands einführen, welche unter die Kategorie Administration fallen würden.

.createtickets #Kanal Dieser Command erstellt ein Embed im Angegebenen Text Kanal
grafik
Das könnte ein Beispiel für die Nachricht sein

.setdiskription<Nachricht> Damit kannst du die Nachricht im Angegebenen Ticket Kanal Anpassen, Texte und Embeds sind zulässig. Für diesen Command muss man sich in einem Ticket Kanal befinden
grafik
Das wäre ein Beispiel für eine Reine Text Nachricht

grafik
Man kann es sich schon denken, aber so würde das ganze als Embed Aussehen

grafik
Mit ein Bissen Trixerei, gibt es das ganze dann auch mit Button, der Vollständigkeit halber

.setkategory #Kategorie Dieser Command kann man nur in dem Betreffenden Kanal ausführen, mit ihm ist es möglich zu Bestimmen in welcher Kategorie neue Tickets erstellt werden sollen, Standart Mäßig ist die Kategorie ausgewählt in der sich der Kanal des Tickets befindet.
Wenn man kein Argument eingibt wird einem der Aktuelle Kanal angezeigt

.setwelcomemessage (Dieser Command müsste man noch umbenennen da es sonst zur Verwechslung mit der Willkommensnachricht gibt die beim Beitritt eines Users auf den Server abgeschickt wird)
Mit diesem Command kann man sich anzeigen lassen welche Nachricht man bekommt, wenn man ein Ticket Eröffnet, auch hier kann man einen Text oder den Json Code eines Embeds angeben.
Auch hier gibt es eine Standard Nachricht welche dem User das Ticket und seine Funktion erklärt.
grafik
Diese könnte so aussehen, natürlich kann man das ganze auch mit Buttons lösen
Und es sollte auch darauf geachtet werden das man Variablen wie %user%, %ticketname%, %ticketid% und %creationdate% Verwenden kann um das Ticket zu Personifizieren.

.setticketmod @Role/User Das ist Vermutlich der wichtigste Command, durch in kann man einzelne User oder Rollen Moderationsberechtigungen geben, diese können dann Nachrichten Verwalten (also Löschen), oder auch das Ticket Schließen.

Nun zu den Funktionen die man Vermutlich schon von anderen Ticket Systemen kennt, wenn man ein Ticket Schließt möchte man vielleicht das es nicht direkt Gelöscht wird um ggf. später darauf zurückzugreifen.
Es kann aber auch sein das man einfach nur den User Entfernen möchte, die Möglichkeiten sind Schier Endlos.
.removeuserafterclose true/false Damit kann man einstellen ob der User nachdem er das Ticket Geschlossen hat entfernt wird, also die Berechtigungen entzogen bekommt das Ticket zu sehen

.removemodsafterclose true/false Damit kann man einstellen ob die Mods die man mit .setticketmod @Role/User Festgelegt hat das Ticket noch sehen dürfen nachdem es ein User Geschlossen hat.

.removepermsformodsafterclose true/false Umständlich Formuliert, heißt aber einfach nur das wenn der User auf Close drückt die Mods die Nachrichten zwar noch sehen können (nicht wie bei dem .removemodsafterclose Command, wo sie den Kanal nicht mehr sehen) allerdings nicht mehr die Rechte haben um sie Beispielsweise zu Löschen, damit kann man Verhindern das das Ticket Verfälscht wird.

.savetransskriptafterclose #Kanal true/false damit kann man einstellen, ob ein Transskript in form eines html Dokuments in den Angegebenen Kanal geschickt werden soll oder nicht, das kann man dann Archivieren um es Vorzeigen zu können.

.moveticketafterclosed true/false #Kategorie damit kann man Festlegen ob das Ticket in einen anderen Kanal Verschoben werden soll, Beispielsweise wenn man eine Kategorie mit Aktiven Support Tickets hat und Bereits Bearbeiteten

Wenn man kein (true/false) Argument eingibt, bekommt man einfach angezeigt ob die Funktion aktuell Aktiviert oder Deaktiviert ist, und ggf in welchen Kanal ein Transskript gesichert wird oder das Ticket Verschoben wird

Nach vielen vielen Wörten und vielen Bildern, sowie fast 2 Stunden gedanken, ist nun alles zu Papier äh ich meine Issue gebracht was es zu dem Thema zu sagen gibt, damit lässt sich wenn man es umsätzt einziges Anfangen (Abgesehen davon das man an eine Ticket Nachricht zwei Buttons anhängen kann für Verschiedene Anliegen ... aber das würde einfach den Ramen und die Komplexität Sprängen)

@expeehaa expeehaa changed the title Einführung eines Ticket Systems Add a ticket system. Aug 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants