So erstellen Sie Ihren eigenen Zwietracht-Bot
Discord verfügt über eine hervorragende API zum Schreiben von benutzerdefinierten Bots und eine sehr aktive Bot-Community. Heute werfen wir einen Blick darauf, wie Sie Ihre eigenen Sachen machen können.
Sie benötigen ein wenig Programmierkenntnisse, um einen Bot zu codieren, daher ist dies nicht jedermanns Sache, aber zum Glück gibt es einige Module für beliebte Sprachen, die es sehr einfach machen. Wir verwenden das beliebteste, discord.js.
Fertig machen
Gehen Sie zum Bot-Portal von Discord und erstellen Sie eine neue Anwendung.
Sie sollten sich die Kundennummer und das Geheimnis notieren (was Sie natürlich geheim halten sollten). Dies ist jedoch nicht der Bot, sondern nur die "Anwendung". Sie müssen den Bot unter der Registerkarte "Bot" hinzufügen.
Notieren Sie sich auch dieses Symbol und halten Sie es geheim. Vergeben Sie diesen Schlüssel auf keinen Fall an Github. Ihr Bot wird fast sofort gehackt.
Installieren Sie Node.js und rufen Sie die Codierung ab
Um Javascript-Code außerhalb einer Webseite auszuführen, benötigen Sie Node. Laden Sie es herunter, installieren Sie es und stellen Sie sicher, dass es in einem Terminal (oder der Eingabeaufforderung, da dies alles auf Windows-Systemen funktionieren sollte) funktioniert. Der Standardbefehl lautet "node".
Wir empfehlen außerdem, das Nodemon-Tool zu installieren. Es ist eine Befehlszeilen-App, die den Code Ihres Bots überwacht und bei Änderungen automatisch neu startet. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
npm i -g nodemon
Sie benötigen einen Texteditor. Sie können nur den Notizblock verwenden, wir empfehlen jedoch entweder Atom oder VSC.
Hier ist unsere "Hallo Welt":
const Discord = required ('discord.js'); const client = new Discord.Client (); client.on ('ready', () => console.log ('Als $ client.user.tag angemeldet!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('token');
Dieser Code stammt aus dem Beispiel discord.js. Lass es uns brechen.
- In den ersten beiden Zeilen wird der Client konfiguriert. Zeile 1 importiert das Modul in ein Objekt namens "Discord" und Zeile zwei initialisiert das Client-Objekt.
- Das
client.on ('ready')
Der Block wird ausgelöst, wenn der Bot gestartet wird. Hier ist es lediglich so konfiguriert, dass es seinen Namen im Terminal protokolliert. - Das
client.on ("Nachricht")
Der Block wird jedes Mal ausgelöst, wenn eine neue Nachricht an einen beliebigen Kanal gesendet wird. Natürlich müssen Sie den Inhalt der Nachricht überprüfenob
Block tut. Wenn die Nachricht nur "ping" sagt, wird sie mit "Pong!" - Die letzte Zeile meldet sich mit dem Token vom Bot-Portal an. Offensichtlich ist das Token im Screenshot hier gefälscht. Posten Sie niemals Ihr Token im Internet.
Kopieren Sie diesen Code, fügen Sie unten in Ihr Token ein und speichern Sie es als index.js
in einem dedizierten Ordner.
So führen Sie den Bot aus
Gehen Sie zu Ihrem Terminal und führen Sie den folgenden Befehl aus:
nodemon --inspect index.js
Dadurch wird das Skript gestartet und der Chrome-Debugger gestartet, auf den Sie durch Eingabe zugreifen können chrome: // inspect /
in Chrome Omnibar und dann "dedizierte Devtools für Node" öffnen.
Jetzt sollte es nur "Angemeldet als" sagen, aber hier habe ich eine Zeile hinzugefügt, die alle an der Konsole empfangenen Nachrichtenobjekte protokolliert:
Also, was macht dieses Nachrichtenobjekt aus? Eine Menge Sachen, eigentlich:
Insbesondere haben Sie die Autoreninformationen und die Kanalinformationen, auf die Sie mit msg.author und msg.channel zugreifen können. Ich empfehle diese Methode, um Objekte in Chrome Node devtools zu protokollieren und einfach nachzuschauen, um herauszufinden, warum es funktioniert. Sie können etwas interessantes finden. Hier protokolliert der Bot beispielsweise seine Antworten in der Konsole, sodass die Antworten des Bots ausgelöst werden client.on ("Nachricht")
. Also machte ich einen Spambot:
Hinweis: Seien Sie vorsichtig, da Sie sich nicht wirklich mit Rekursion befassen wollen.
So fügen Sie den Bot zu Ihrem Server hinzu
Dieser Teil ist schwieriger als er sein sollte. Sie müssen diese URL annehmen:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Und ersetzen Sie CLIENTID durch die Client-ID Ihres Bots, die auf der Registerkarte Allgemeine Informationen der Anwendungsseite zu finden ist. Sobald dies geschehen ist, können Sie den Link an Ihre Freunde weitergeben, damit diese den Bot auch zu ihren Servern hinzufügen.
Okay, was kann ich sonst noch tun??
Abgesehen von den Grundeinstellungen liegt alles andere bei Ihnen. Dies wäre jedoch kein großartiges Tutorial, wenn wir bei Hello World aufhören würden. Lassen Sie uns also einige Dokumentationen durchgehen, damit Sie eine bessere Vorstellung davon haben, was möglich ist. Ich schlage vor, dass Sie so viel wie möglich durchlesen, da es sehr gut dokumentiert ist.
Ich würde das Hinzufügen empfehlen console.log (Client)
an den Anfang Ihres Codes und werfen Sie einen Blick auf das Client-Objekt in der Konsole:
Von hier kann man viel lernen. Da Sie einen Bot mehreren Servern gleichzeitig hinzufügen können, sind Server Teil des Gilden
Kartenobjekt In diesem Objekt befinden sich die einzelnen Gilden (dies ist der API-Name für "Server"), und diese Gildenobjekte haben Kanallisten, die alle Informationen und Listen von Nachrichten enthalten. Die API ist sehr umfangreich und kann eine Weile dauern, um zu lernen, aber es ist zumindest einfach einzurichten und mit dem Lernen zu beginnen.