Zwietracht hat eine ausgezeichnete API zum Schreiben von benutzerdefinierten Bots und eine sehr aktive Bot-Community . Heute schauen wir uns an, wie Sie Ihre eigenen erstellen können.
Sie benötigen ein wenig Programmierkenntnisse, um einen Bot zu codieren, daher ist dies nicht jedermanns Sache. Glücklicherweise gibt es einige Module für beliebte Sprachen, die dies sehr einfach machen. Wir werden die beliebteste verwenden, discord.js .
VERBUNDEN: Erstellen, Einrichten und Verwalten Ihres Discord-Servers
Beginnen
Gehen Sie zu Discord bot portal und erstellen Sie eine neue Anwendung.
Sie möchten die Kunden-ID und das Geheimnis notieren (die Sie natürlich geheim halten sollten). Dies ist jedoch nicht der Bot, sondern nur die "Anwendung". Sie müssen den Bot auf der Registerkarte "Bot" hinzufügen.
Notieren Sie sich auch diesen Token und halten Sie ihn geheim. Übergeben Sie diesen Schlüssel unter keinen Umständen an Github. Ihr Bot wird fast sofort gehackt.
Installieren Sie Node.js und holen Sie sich die Codierung
Um Javascript-Code außerhalb einer Webseite auszuführen, benötigen Sie Knoten . Laden Sie es herunter, installieren Sie es und stellen Sie sicher, dass es in einem Terminal (oder einer Eingabeaufforderung, da dies alles auf Windows-Systemen funktionieren sollte) funktioniert. Der Standardbefehl lautet "Knoten".
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 auch nur den Notizblock verwenden, wir empfehlen jedoch beide Atom oder VSC .
Hier ist unsere "Hallo Welt":
const Discord = require ('discord.js');
const client = new Discord.Client ();
client.on ('ready', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('Token');
Dieser Code stammt aus dem discord.js Beispiel. Lassen Sie es uns zusammenfassen.
- Die ersten beiden Zeilen dienen zur Konfiguration des Clients. Zeile eins importiert das Modul in ein Objekt namens "Discord" und Zeile zwei initialisiert das Client-Objekt.
-
Das
client.on ('bereit')Block wird ausgelöst, wenn der Bot startet. Hier ist es nur so konfiguriert, dass sein Name im Terminal protokolliert wird. -
Das
client.on ('message')Der Block wird jedes Mal ausgelöst, wenn eine neue Nachricht auf einem Kanal veröffentlicht wird. Natürlich müssen Sie den Inhalt der Nachricht überprüfenwennBlock tut. Wenn in der Nachricht nur "Ping" steht, wird mit "Pong!" - Die letzte Zeile meldet sich mit dem Token vom Bot-Portal an. Offensichtlich ist das Token im Screenshot hier falsch. Veröffentlichen Sie Ihren Token niemals im Internet.
Kopieren Sie diesen Code, fügen Sie unten Ihr Token ein und speichern Sie es unter
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
Chrom: // inspizieren /
in die Omnibar von Chrome und öffnen Sie dann "dedizierte Devtools für Node".
Jetzt sollte nur "Als <Botname> angemeldet" angezeigt werden. Hier habe ich jedoch eine Zeile hinzugefügt, in der alle an die Konsole empfangenen Nachrichtenobjekte protokolliert werden:
Was macht dieses Nachrichtenobjekt aus? Eigentlich eine Menge Sachen:
Vor allem haben Sie die Autoren- und Kanalinformationen, auf die Sie mit msg.author und msg.channel zugreifen können. Ich empfehle diese Methode, um Objekte in den Chrome Node-Devtools zu protokollieren und mich nur umzuschauen, um zu sehen, wie es funktioniert. Vielleicht finden Sie etwas Interessantes. Hier protokolliert der Bot beispielsweise seine Antworten in der Konsole, sodass die Antworten des Bots ausgelöst werden
client.on ('message')
. Also habe ich einen Spambot gemacht:
Hinweis : Seien Sie vorsichtig damit, da Sie sich nicht wirklich mit Rekursion befassen möchten.
So fügen Sie den Bot Ihrem Server hinzu
Dieser Teil ist schwieriger als es sein sollte. Sie müssen diese URL verwenden:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Ersetzen Sie CLIENTID durch die Client-ID Ihres Bots, die Sie auf der Registerkarte "Allgemeine Informationen" des finden Anwendungsseite . Sobald dies erledigt ist, können Sie Ihren Freunden den Link geben, damit sie den Bot auch zu ihren Servern hinzufügen.
Okay, was kann ich sonst noch tun?
Über die Grundeinstellung hinaus liegt alles andere ganz bei Ihnen. Aber dies wäre kein großes Tutorial, wenn wir bei Hallo Welt anhalten würden. Lassen Sie uns also einige davon durchgehen Dokumentation Sie haben also eine bessere Vorstellung davon, was möglich ist. Ich schlage vor, Sie lesen so viel wie möglich durch, da dies sehr gut dokumentiert ist.
Ich würde empfehlen, hinzuzufügen
console.log (Client)
zum Anfang Ihres Codes und einen Blick auf das Client-Objekt in der Konsole werfen:
Von hier aus können Sie viel lernen. Da Sie mehreren Servern gleichzeitig einen Bot hinzufügen können, sind Server Teil des
Gilden
Kartenobjekt. In diesem Objekt befindet sich das Individuum
Gilden
(das ist der API-Name für "Server") und diese Gildenobjekte haben Kanallisten, die alle Informationen und Listen von Nachrichten enthalten. Die API ist sehr tiefgreifend und kann eine Weile dauern, bis sie erlernt ist. Zumindest ist es jedoch einfach einzurichten und mit dem Lernen zu beginnen.