Discord API umgehen?
Hi,
und zwar habe ich einen Bot programmiert, der einen Befehl sendet, worauf der andere Bot diesen dann ausführen soll.
Aber die Discord API verbietet es, dass sich Bots gegenseitig antworten.
Gibt es eine Möglichkeit, wie man einen Bot als Menschen tarnen kann, oder die API umgehen kann? Das Problem ist, dass ich nur einen der beiden Bots besitze. Und zwar der, der die Nachrichten sendet. Der Bot, der die Nachricht/den Befehl dann ausführt, gehört mir nicht. Heißt, ich kann nur an meinem Bot etwas ändern, an dem andern logischer Weise nicht.
LG.,
Freshy
3 Antworten
Ja, aber wenn du das machst, wird dein Account gekündigt.
Gib den Bots einfach einen unsichtbaren Kanal in einem Server.
Die Discord-API verbietet eigentlich nicht, dass Bots sich gegenseitig antworten können. Von den Entwicklern des anderen Bots wurde wahrscheinlich eingestellt, dass dieser Nachrichten von anderen Bots ignoriert. Das könntest du theoretisch umgehen, indem du statt eines Bot-Accounts einen normalen User-Account benutzt. Dafür musst du nur den Token deines jetzigen Bot-Accounts durch den eines normalen Accounts ersetzen.
Wenn du das machst, muss dir aber klar sein, dass Discord Selfbots (wie oben beschrieben) komplett verbietet und deinen Account dafür sperren kann.
Kannst du mir nem Link zu dem Zitat schicken, würde mich da gerne weiter informieren. Bei der Fehlermeldung kann ich dir leider nicht helfen, mit der Java Discord Libary habe ich keine Erfahrung.
Okay, schade. Einen Link kann ich dir leider nicht schicken, da ich das per Mail bekommen habe und ich auch auf der offiziellen Discord Support Seite keine Öffentlichen Beiträge zur API finden kann.
Okay, habe meinen Token jetzt.
Ich habe den Bot Token durch meinen ersetzt, aber jetzt kommen folgende Fehler in der Konsole:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
SLF4J: Defaulting to no-operation MDCAdapter implementation.
SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
Verbinde die Bots doch außerhalb von Discord z.B. über eine direkte Verbindung.
Aber wie über eine direkte Verbindung? Also ich kann mir ja einen User erstellen aber wie kann ich den Bot dann dem User Account zuweisen?
Als Beispiel: https://de.wikibooks.org/wiki/Java_Standard:_Socket_und_ServerSocket_(java.net)
Danke. Da steht ja
Der folgende Code soll das Vorgehen verdeutlichen. Er enthält einen extrem primitiven Client und Server. Beim Server kann sich nur ein Client anmelden und nur einmal eine (kurze) Nachricht senden. Der Server sendet diese Nachricht dann zurück und beendet sich. Hat der Client die zurückgesendete Nachricht empfangen, beendet auch er sich. Hinweise für intelligentere Server und Clients finden sich weiter unten.
Aber der Bot soll diese Nachricht alle 1 Stunde senden. Er soll sich nicht trennen.
Und verstehe ich das richtig? Wird bei dem Quellcode ein Server erstellt? Wenn ja, das brauche ich ja nicht, ich habe ja schon einen^^
Das ist ja auch nur ein Beispiel bzw. ein Hinweis ^^ Du musst es schon selbst umsetzen. Ich bin nicht hier, um dich mit einem Löffel zu füttern, sondern dir nützliche Tipps zu geben, wie und welche Technik man einsetzen kann.
Das verstehe ich ja. Aber ich bin ja auch noch nicht so der Profi im Programmieren.
Schau dir das an: http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_21_007.htm
Socket Server ist hier das Schlüsselwort. Du kannst aber auch andere Techniken einsetzen. Aber Socket Client/Server ist schon das richtige.
Da wird aber auch gesagt, dass man einen Server erstellt. Aber warum? Ich habe doch schon den Discord Server.
Der Server wird für die Kommunikation untereinander benötigt. Du kannst den Server als kleine Java Anwendung starten und dann die Bots als Clients verwenden. Dann können die Bots sich über den Server unterhalten.
Das Problem ist ja, dass ich nur den selbst programmierten besitze. Der andere gehört mir ja nicht und somit habe ich auch keine Rechte, den Quellcode zu lesen oder den Bot auf den Server zu holen.
Das ist was anderes, hast du ja am Anfang nicht geschrieben ;-) Ich dachte, du hättest beide geschrieben.
Kann dein Bot denn die Nachrichten vom anderen Bot lesen?
Der andere Bot sendet keine Nachrichten, er führt sie aus. Und da der andere Bot und mein Bot die Discord API nutzen, gehe ich davon aus, dass dann die beiden Bots auch die Einschränkung haben.
Okay, schade :((((((((((((((((((((((((((((((((((((((((
Du solltest aber bedenken dass sowtwas gegen die Bedienungen von discord verstößt
Doch, Discord hat folgendes geschrieben:
Natürlich weiß ich, dass das gegen die AGBs ist, aber ich will es halt mal probieren.
Wie bekomme ich denn den Token von einem User Account heraus?