midnight-myth / mitternacht-new Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Wenn man den Bot Installiert also per Github Pullt und das erste mal mit docker-compose up Starten möchte bekommt man einen Fehler das die Datei docker-compose.yml die Falsche Version enthällt.
Man kann natürlich diese Datei im Editor aufrufen und die Version mauell abändern, jedoch ist das Komplikativ und man muss es bei jeder neu Installation machen.
Es wäre daher von Großem Vorteil wenn man diese Datei im Source Code Anpasst, das würde eine Mänge erleichern
Vor Kurzem wurde die Discord Timeout Funktion eingeführt, die die Bisherige Methode der Mute Funktion ersetzt.
Daher mein Vorschlag auch hier etwas am Bot zu Verändern:
Einerseits sollte das in dem Server Log Channel geloggt werden der das Aufzeichnungsereigniss UserUpdated Event hat.
So wird es in einem Kanal Festgehalten, und geht nicht im Audit Log Unter.
Auch habe ich den Vorschlag das man durch Ausführung des Befehles .mute
über den Bot Getimeouted wird.
a) Man bekommt als Indikator das man im Timeout ist die Mute rolle (als Überblick für einen selbst und für andere User)
b) Es wird nicht mehr gekennzeichnet und das Mute Rolle Feature entfällt komplett
So oder so ähnlich könnte die Timeout Nachricht im Log aussehen
Man kann mit dem Command .langset
die Sprache des Bots auswählen in der dieser Antwortet.
Es ist leider aktuell nur so das er Teilweise in Deutsch Teilweise in Englisch Antwortet (grade wenn es um die .h erklärungen geht)
Des weiten würde ich mir auch in diesem Punkt eine Überarbeitung wünschen, Beispielsweise unter benutzung der Neuen Discord Dropdown Funktion, die so aussehen könnte:
Website gives Error when logging in.
Nach einiger Zeit kam es dazu das der Bot sich nicht mehr Starten Lies bzw Abgestürzt ist (mit ihm leider auch der Host Computer), ich hab Versucht das Problem zu Lösen, leider hab ich auch keinen Error bekommen und somit auch keinen Hinweis was das Problem sein könnte.
Die einzige Option war so nur noch den Bot erneut zu Installieren, als ich Versucht habe ihn das erste mal mit docker-compose up
zu Starten, hat dies nicht Funktioniert da eine Gewalltige Anzahl von Fehlermeldungen aufgetreten ist
(Der gesammte Fehler ist im Log zu Finden)
Mitternacht Installer Log.txt
Leider hat mein Wissen nicht ausgereicht um den Problemen selbst beizukommen da ich was Bots angeht nocht ganz am Anfang stehe.
Grüße Cromatin
Nachdem ich auf meinem Server das Level System Überarbeitet hatte ist mir ein Problem aufgefallen,
zwar kann man es Einstellen das es in bestimmten Kanälen keine Level gibt, allerdings geht das nicht für Kategorien.
Wenn man als Beispiel ein Ticket System hat werden auch die Nachrichten davon im Level Berücksichtigt, das kann Vor als auch Nachteile Bringen.
Konkret sollte es daher möglich sein mit .togglekategoriellevels #Kategorie true / false
kurz .tkl #Kategorie true / false
Einzustellen ob Kanäle die einer bestimmten Kategorie zugewisen sind in der Level berechnung Berücksichtigt werden.
Wenn man nur .tkl #Kategorie
eingibt, ohne das dritte Argument, kann man sich Anzeigen lassen ob die Nachrichten in der Kategorie zugewiesenen Kanälen berücksichtigen werden oder nicht.
Ist zwar ein kleiner Vorschlag der Allerdings den Bot im Level System nochmal wesendlich Verstärken würde.
Eine weitere Funktion die ich beim Bot Vermisse ist die Giveaway Funktion.
Diese ist schon bei anderen externen Bots gang und gebe doch es wäre schön ebenfalls das Integriert zu haben, auch mit Anpassungsmöglichkeiten.
Als erstes zum Command welcher dazu kommen würde:
.startgiveaway <Titel> <Dauer> <Preis> <Anzahl der Gewinner> <Beschreibung>
dabei ein paar Infos die Dauer hat den gleichen Aufbau wie beim .remind Command
Die Beschreibung enthällt ein paar Worte die man Personalisieren kann
So könnte die Fertige Nachricht dann aussehen, hier gibt es ein paar weitere Einstellungsmöglichkeiten.
.requiedlevel <Level>
Hier kann man ein Level Angeben das Benötigt wird um an dem Giveaway Teilzunehmen
.requedcurrency <Currency>
Hier kann man Angeben wie viel Vermögen Benötigt wird um am Giveaway Teilzunehmen, dabei wird bei der Teilnahme kein Geld vom Nutzer Abgezogen
.privatecallback true/false
Hier kannst du einstellen ob die Nutzer die am Giveaway Teilnehmen eine Nachricht per PM zugeschickt bekommen.
.reaction <Emoji>
Damit kann man das Emoji Festlegen mit dem der Bot auf die Giveaway Nachricht Reagiert
.anonymousgiveaway true/false
damit kann man einstellen ob die Reaktion nachdem sie übernommen wurden wieder gelöscht werden sollen um ein Giveaway-Geheimniss zu wahren
Diese könnten dann so aussehen:
Wenn man Erfolgreich am Giveaway Teilgenommen hat:
Wenn man erfolgreich Teilgenommen hat und die Vorraussetzungen Erfüllt (sofern Angegeben):
Wenn die Teilnahme Fehlschlägt könnte das ganze so aussehen:
oder
Alternativ wenn man nur eine Angegebene Vorraussetzung nicht erfüllt, oder beide (dazu hab ich allerdings auf das Bildmaterial Verzichtet, ich denke das Prinzip kann man sich Vorstellen)
Damit man das ganze noch Verbessern und Personifizieren kann, sollte man auch Commands einführen um die Nachrichten von oben Anpassen zu können.
.giveawaystructure <Message>
Damit kann man die Nachricht bearbeiten, welche in dem Kanal erscheint in dem man den Command ausgeführt hat um ein Giveaway zu erstellen (Text und Embed Support)
.successfuljoined <Message>
Damit kann man die Nachricht bearbeiten welche man bekommt wenn man einem Giveaway Erfolgreich Beigetreten ist, sie unterstützt Normale Textnachrichten oder json Embed Code.
.errorwhilejoiningone <Message>
Damit kann man die Nachricht anpassen, welche man bekommt wenn man nur eine Voraussetzung nicht erfüllt, auch sie unterstützt Textnachrichten und Embeds
.errorwhilejoiningtwo <Message>
Damit kann man die Nachricht anpassen, welche man bekommt wenn man beide Voraussetzungen nicht erfüllt.
Natürlich Unterstützen auch der Vollständigkeit Text und Embeds
Damit man das ganze auch Personifizieren kann müsste man Variablen hinzufügen.
%Server%
Dadurch kann man in die Nachricht einbauen auf welchem Server das Giveaway Stattfindet
%Title%
Dadurch kann man in die Nachricht den Titel einbauen welcher weiter oben Angegeben wurde
%Discription%
Das Gleiche wie beim Titel auch hier mit der Beschreibung
%Remainingtime%
Damit kann man die Verbleibende Zeit Einbauen
%Numberofwinners%
Das ist die Anzahl der Gewinner die man Festgelegt hat
%Price%
Das ist der Angegebene Preis
%levelrequiement%
Das ist das Vorrausgesetzte Level
%currencyrequiement%
Das ist das Vorrausgesetze Vermögen
Nun zum Teil wenn das Giveaway Endet.
Als erstes dazu ein Config Command:
.giveawayendingmessage true/false
Damit kann man einstellen ob alle Nutzer die am Giveaway Teilgenommen haben eine Nachricht bekommen, ob sie Gewonnen oder Verloren haben.
.giveawayendingmessagewinnersonly true/false
Wenn man auf einem Server mit sehr vielen Nutzern ist, kann es sein das man in den Rate Limiter von Discord läuft und es dauert bis alle ihre Nachrichten haben, daher kann man mit diesem Command einstellen ob nur der / die Gewinner eine Nachricht erhalten sollen
Dazu hier auch ein paar Beispiel Bilder
Dazu auch eine Variable:
%numberofparticipants% Damit kann man sich die Gesammt Anzahl der Teilnehmer Anzeigen lassen
Nach SEHR viel Text, hab ich nun alles zu Issue Gebracht was ich mir zu dem Giveaway Command wünschen würde, die Umsätzung wurde auch hier wieder eine Menge Erleichtern, jedoch ist mir auch Bewusst das es eine Menge Arbeit ist
Channels with on MessageXPBlacklist should not receive level changed messages, message strings should not be hardcoded.
Rename LevelChangedArgs.ChangeTypes to ChangeType and put it in a seperate file.
Viele anderen Bots haben ja die Funktion wenn man auf eine Nachricht Reagiert das man eine Bestimmte Rolle zugewiesen bekommen, das habe ich so in dieser Form Ebenfalls noch nicht beim Bot gesehnen, auch hier ein Vorschlag wie man das umsetzen könnte.
Der Command könnte .reactionrole Nachrichten_ID Reaktion @role
Lauten kurz .rr Nachrichten_ID Reaktion @role
Lauten
Das würde es einem ermöglichen den Bot noch weiter in den Server einzubinden ohne Externe Bots zu Benutzen
Wenn man den Bot aktuell Startet ist er auf Discord einfach online, wenn man ihn Herunterfährt kann es bis zu 5 Minuten dauern damit er als offline angezeigt wird.
Meine Idee wäre das wenn man den Bot Startet er in den Idle Modus Versetzt wird, und im Status "Starting ..." Stehen hat, wenn er Online ist wird "Sucessfully Startet" Angezeigt, der Status wechselt zu online und der Bot, cleart seinen Status sodass der Status angezeigt werden kann den man Hinterlegt hat.
Beim Herunterfahren geht das ganze Andersrum, wenn man ihn Stoppt wechselt er in den dnd Status und im Status wird "Shutting down ..." Angezeigt, kurz bevor der Bot komplett heruntergefahren ist wechselt der Status zu Offline.
Diese beiden Statuse sollten nach möglichkeit Konfigurierbar sein, entweder per Lokaler Config, oder per Command das würde eine Höhere Personalisierung bewirken.
Be able to log team member updates of the GommeHD.net server to a channel.
The message should contain a customizable prefix.
It should be possible to choose the team ranks getting logged.
Every setting should be guild dependent.
When setting the daily money for a specific role on the instance "Keksbot" by e.g. .setrolemoney @Administrator 30 1, the following error message appears:
Command execution failed, please contact the bot author.
Thus, collecting daily money is not possible.
Localized strings provided by translations through Crowdin should be used in the Bot.
Examine whether we can safely remove original files.
commandstrings.json should get splitted up into the command/alias definition and localized descriptions/usages.
Ich wusste nicht so recht wo ich Feedback Hinterlassen sollte, deswegen mach ich das jetzt hier.
Ich benutze den Bot auf mehreren Servern und er leiset mir Gute Dienste,
wurde von anderen auch schon gefragt ob diese ihn auch Benutzen können (da ihnen die Möglichkeit fehlt ihn selbst zu Betreiben wollten sie das ich ihnen einen Einladungs Link Schicke), ich hatte es abgelehnt (auch aus dem Grund weil ich nicht weis wie das mit dem Bereitstellen ist) da ich ihre ID dann in die Config Eintragen müsste damit sie die Bot Owner Only Commands nutzen könnten.
Leider hätten sie dann auch zu meinen Servern vollen Zugang, was alles andere als Optimal wäre.
Mit ist allerdings die Idee gekommen das man das Problem löst indem die Person die den Bot auf einen Server einläd Automatisch der Owner (zumindest dieses Betreffenden Servers) ist.
(Die IDs die in der Config als Owner eingetragen werden haben vollen zugriff auf alle Server zu welchen der Bot eingeladen wurde)
Um allerdings die Rechte des Bots weitergeben zu können ohne ihn neu Einzuladen würde ich des weiteren einen weiteren Command festlegen (als BSP .transferownership @user
kurz .to @user
)
Diese können dann Natürlich ebenfalls sich auf der Seite Anmelden um Einstellungen am Bot für ihre Server Vorzunehmen
(Die Bot Config müsste dann Pro User Funktionieren)
Das wären meine Aktuellen Vorschläge die ich zur Verbesserung des Bots hätte
The time command should show the bot time as default if no args provided.
It should also know UTC+XX, GMT, EST, and other time zone short names.
Ich bin es nochmal, mir fällt in der Zeit vieles ein dazu hier auch nochmal die Frage, ist euch das zu viel?
Der eigentliche Vorschlag:
Da ich den Bot auf meinen eigenen Servern Verwende und es dort immer weiter Umstelle stoße ich auch auf das ein oder andere Problem, und zwar wenn man Personen Bannen möchte diese Aber schon den Server Verlassen haben geht das leider nicht, man muss also erst warten bis diese den Server wieder Betreten haben was etwas Umständlich ist.
Mein Vorschlag wäre hier das man es entweder über den Discord Tag (Name#1234) machen kann oder auch über die ID eines Nutzers
Ob die Umsetung Technisch möglich ist weis ich nicht, da bin ich überfragt.
Jedoch schlage ich es trotzdem vor, wenn man den Bot in einem Größerem Team hat ist es Anstrengend das der Owner der Application die Einträge wie das About Me im Portal jedes mal ändern muss.
Viel einfacher wäre hier die Einführung ein paar neuer Commands:
.setaboutme
Damit kannst du das About me vom Bot Verändern.setname
Damit kannst du die Name vom Bot Ändern.setavatar
Damit kannst du den Avatar des Bots Updaten, dazu zwei Optionen:Die umsetzung würde auf jeden Fall die Administration des Bots deutlich erleichtern.
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
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
Das wäre ein Beispiel für eine Reine Text Nachricht
Man kann es sich schon denken, aber so würde das ganze als Embed Aussehen
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.
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 BearbeitetenWenn 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)
Wenn man sich den Bot Installiert, und der Anleitung folgt kommt man an den Schritt das man den Bot das erste mal mit docker-compose up Starten soll.
Wenn man das jedoch macht kommt man an den Punkt das sich dieser Prozess aufhängt und die ganze Zeit Versucht sich die Daten zu Pullen, allerdings in einen Timeout Läuft
Hier wären die Logs seit dem Startup:
Creating network "nico_default" with the default driver
Creating volume "nico_db-data" with default driver
Creating volume "nico_mitternacht-data" with default driver
Building mitternacht
Sending build context to Docker daemon 21.96MB
Step 1/13 : FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build
---> ba2c122d3534
Step 2/13 : WORKDIR /source
---> Using cache
---> b3aa4f273c81
Step 3/13 : COPY . .
---> 619769a3f26c
Step 4/13 : WORKDIR /source/MitternachtWeb
---> Running in d34fccfbc5f2
Removing intermediate container d34fccfbc5f2
---> a012f2ec848c
Step 5/13 : RUN dotnet publish -c Release -o /build
---> Running in 09842fb97a27
Microsoft (R) Build Engine version 17.1.0+ae57d105c for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Determining projects to restore...
Failed to download package 'Google.Apis.YouTube.v3.1.55.0.2449' from 'https://api.nuget.org/v3-flatcontainer/google.apis.youtube.v3/1.55.0.2449/google.apis.youtube.v3.1.55.0.2449.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/google.apis.youtube.v3/1.55.0.2449/google.apis.youtube.v3.1.55.0.2449.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'GraphQL.Client.Abstractions.Websocket.3.2.4' from 'https://api.nuget.org/v3-flatcontainer/graphql.client.abstractions.websocket/3.2.4/graphql.client.abstractions.websocket.3.2.4.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/graphql.client.abstractions.websocket/3.2.4/graphql.client.abstractions.websocket.3.2.4.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'SixLabors.ImageSharp.2.0.0' from 'https://api.nuget.org/v3-flatcontainer/sixlabors.imagesharp/2.0.0/sixlabors.imagesharp.2.0.0.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/sixlabors.imagesharp/2.0.0/sixlabors.imagesharp.2.0.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'Discord.Net.Interactions.3.3.0' from 'https://www.myget.org/F/discord-net/api/v3/flatcontainer/discord.net.interactions/3.3.0/discord.net.interactions.3.3.0.nupkg'.
The download of 'https://www.myget.org/F/discord-net/api/v3/flatcontainer/discord.net.interactions/3.3.0/discord.net.interactions.3.3.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'Discord.Net.Rest.3.3.0' from 'https://www.myget.org/F/discord-net/api/v3/flatcontainer/discord.net.rest/3.3.0/discord.net.rest.3.3.0.nupkg'.
The download of 'https://www.myget.org/F/discord-net/api/v3/flatcontainer/discord.net.rest/3.3.0/discord.net.rest.3.3.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'NLog.4.7.13' from 'https://api.nuget.org/v3-flatcontainer/nlog/4.7.13/nlog.4.7.13.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/nlog/4.7.13/nlog.4.7.13.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
^CGracefully stopping... (press Ctrl+C again to force)
Ich habe das dann abgebrochen da es endlos so weiter gehen würde, auch nach Minuten
Make it possible to use a command with an User-ID, if the user is no longer on the server.
Aufgrund aktuellen Anlasses habe ich den Vorschlag die Benötigten Permissions bei Sämmtlichen Commands zu Entfernen. (Bot Owner Commads ausgeschlossen)
Welche Personen oder Rollen die Commands ausführen können kann man im Perm System Setzen.
Wenn man dann noch Lust hat kann man das gesammte Perm System auf den Kopf stellen, in dem man auch die Bot Perms von allen Commands entfernt
In dem Zuge würde ich es dann auch ermöglichen das man im Perm System Setzen kann ob Commands die Bot Perm benötigen, in dem man "Bot-Owner" Angeben kann, so haben dann nur noch die Nutzer die Rechte die Commands auszuführen die in der Datei als Owner eingetragen sind.
Dazu würde ich dann auch Vorschlagen das bei jedem Command angezeigt wird welche Perms man benötigt.
Das kann man dann auch mit dem Neuen Command .showrequiredperms true / false
ein bzw Abschalten.
Ein Beispiel dafür wäre:
![]()
showrequiredperms = true
![]()
showrequiredperms = false
Exceptions in bot commands, the web application, ... should be catched and sent to a self-hosted exception logging service to be able to examine them later.
Give a configurable amount of money to a user when it‘s his/her birthday.
In einem Früheren Discord Update wurde ja die Thread Funktion hinzugefügt, wenn es ins Thema Moderation und Verwaltung von Threads geht bietet der Bot hier keine Möglichkeit, es ist nicht einmal Möglich in Threads die Bot Befehle auszuführen
Daher hier Grobe Ideen und Ansätze:
Automatisches Hinzufügen des Bots zu Threads
Mit .autoaddtothread true / false
kurz .aatt true / false
Lässt es sich Einstellen ob der Bot Automatisch Neu Erstellten Threads Beitritt
(Durch das einfache Eintippen des Commands lässt sich einsehen ob die Funktion aktiviert oder Deaktiviert ist)
Commands in Threads
Mit .enablecommandsinthreads true / false
kurz .ecit true/false
Lässt es sich einstellen ob der Bot Befehle in Threads Ausführt
(Durch das einfache Eintippen des Commands lässt sich einsehen ob die Funktion aktiviert oder Deaktiviert ist)
Automatisches Hinzufügen von Moderatoren in Threads
Mit .autoaddmodstothrad true / false
kurz .aamtt
Lässt es sich einstellen ob Personen mit Moderativen Rechten Automatisch zu Threads Hinzugefügt werden
(Durch das einfache Eintippen des Commands lässt sich einsehen ob die Funktion aktiviert oder Deaktiviert ist)
XP in Threads
Mit .enablelevelinthreads true / false
kurz .elit
Lässt es sich einstellen ob man durch das Schreiben von Nachrichten in einem Thread XPs Bekommt
(Durch das einfache Eintippen des Commands lässt sich einsehen ob die Funktion aktiviert oder Deaktiviert ist)
Wenn der Bot zum ersten mal gestartet wird und Vorhandenes Wiederherstellen möchte läuft er in diesen Fehler:
Determining projects to restore...
Failed to download package 'Google.Apis.Auth.1.41.1' from 'https://api.nuget.org/v3-flatcontainer/google.apis.auth/1.41.1/google.apis.auth.1.41.1.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.Reflection.Primitives.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.AppContext.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.Security.Cryptography.X509Certificates.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'CloudflareSolverRe.1.0.6' from 'https://api.nuget.org/v3-flatcontainer/cloudflaresolverre/1.0.6/cloudflaresolverre.1.0.6.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'Google.Apis.1.41.1' from 'https://api.nuget.org/v3-flatcontainer/google.apis/1.41.1/google.apis.1.41.1.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.Collections.Concurrent.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'Microsoft.Extensions.PlatformAbstractions.1.1.0' from 'https://api.nuget.org/v3-flatcontainer/microsoft.extensions.platformabstractions/1.1.0/microsoft.extensions.platformabstractions.1.1.0.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/microsoft.extensions.platformabstractions/1.1.0/microsoft.extensions.platformabstractions.1.1.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package '2CaptchaAPI.1.4.0' from 'https://api.nuget.org/v3-flatcontainer/2captchaapi/1.4.0/2captchaapi.1.4.0.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/2captchaapi/1.4.0/2captchaapi.1.4.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'Newtonsoft.Json.13.0.1' from 'https://api.nuget.org/v3-flatcontainer/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Failed to download package 'System.Xml.XPath.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Retrying 'FindPackagesByIdAsync' for source 'https://api.nuget.org/v3-flatcontainer/microsoft.entityframeworkcore.abstractions/index.json'.
An error occurred while sending the request.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.Security.Cryptography.X509Certificates.4.3.0' from 'https://api.nuget.org/v3-flatcontainer/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'Google.Apis.YouTube.v3.1.55.0.2449' from 'https://api.nuget.org/v3-flatcontainer/google.apis.youtube.v3/1.55.0.2449/google.apis.youtube.v3.1.55.0.2449.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer
Failed to download package 'System.Collections.Immutable.6.0.0' from 'https://api.nuget.org/v3-flatcontainer/system.collections.immutable/6.0.0/system.collections.immutable.6.0.0.nupkg'.
Unable to read data from the transport connection: Connection reset by peer.
Connection reset by peer```
In einem vorherigen Issue #35 hab ich bereits die Idee geäußert das man eine Bestenliste für Voice einführt.
Es würde einem mehr Information auf einmal darstellen und spaart einem das ausführen von Commands
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.