Heutzutage werden Bots zur Automatisierung verschiedener Aufgaben verwendet. Seit der Veröffentlichung von Amazon's Alexa Devices hat der Hype um Automatisierungsbots erst zu wachsen. Neben Alexa bieten andere Kommunikationstools wie Discord und Telegram APIs, um benutzerdefinierte Bots zu entwickeln.
Dieser Artikel konzentriert sich ausschließlich auf die Erstellung Ihres ersten Bots mit der exponierten Discord -API. Vielleicht ist der bekannteste Discord Bot der Musikbot. Mit dem Music Bot können Sie einen Songnamen eingeben, und der Bot wird einen neuen Benutzer an Ihren Kanal anhängen, der das angeforderte Lied spielt. Es ist ein häufig verwendeter Bot unter jüngeren Leuten auf Spielen oder Streaming -Servern.
Beginnen wir mit dem Erstellen eines benutzerdefinierten Discord Bot.
Dieser Artikel wurde für 2020 aktualisiert. Um mehr Knoten zu erfahren, lesen Sie die Webentwicklung von Node.js.Key Takeaways
- Der Prozess des Erstellens eines Discord Bot beinhaltet das Einrichten eines Testservers, das Generieren eines Autorisierungs -Tokens, das Definieren von Berechtigungen und das Hinzufügen des Bots zum Server, das Einrichten des Projekts und die Erkundung von Discord.js.
- Der Bot kann über Code gesteuert werden, nachdem er ihn unter einem Discord -Konto im Portal des Discord -Entwicklers registriert hat.
- Der Discord Bot kann Berechtigungen erhalten, den Nachrichtenverlauf zu lesen und Nachrichten zu senden. Dadurch kann der Bot eine an einen Kanal gesendete Nachricht lesen.
- Der Bot kann so programmiert werden, dass sie auf bestimmte Befehle oder Nachrichten reagieren. Wenn beispielsweise eine Nachricht "Ping" enthält, kann der Bot so eingestellt werden, dass sie mit "Pong" antworten.
- Die Verwendung eines Befehlshandlers wird für große Projekte empfohlen, da sie die Probleme vermeidet, die mit „sonst“ -Ketten verbunden sind, z. B. Schwierigkeiten beim Lesen, Debuggen, Organisieren und Aufrechterhalten des Code.
Voraussetzungen
- node.js v10 oder höher installiert (Grundkenntnisse)
- Ein Discord -Konto und Discord Client
- Grundkenntnisse über die Verwendung eines Terminals
Schritt 1: Testserver einrichten
Erstens benötigen wir einen Testserver, auf dem wir unseren Discord Bot später testen können. Wir können einen neuen Server erstellen, indem wir links auf dem Bildschirm auf das Plus -Symbol klicken.
Ein Popup wird angezeigt, in dem Sie gefragt werden, ob Sie einem Server beitreten oder einen neuen erstellen möchten. Natürlich möchten wir einen neuen Server erstellen.
Als nächstes müssen wir den Namen für unseren Server eingeben. Um die Dinge einfach zu halten, habe ich den Server discord_playground benannt. Wenn Sie möchten, können Sie den Serverstandort ändern, je nachdem, wo Sie sich befinden, um einen besseren Ping zu erhalten.
Wenn alles gut lief, sollten Sie Ihren neu erstellten Server sehen.
Schritt 2: Auth -Token
generierenWenn wir unseren Bot über Code steuern möchten, müssen wir den Bot zuerst unter unserem Discord -Konto registrieren.
Um den Bot zu registrieren, gehen Sie zum Portal des Discord -Entwicklers und melden Sie sich mit Ihrem Konto an.
Nach dem Anmeldung sollten Sie das Dashboard sehen können. Erstellen wir eine neue Anwendung, indem Sie auf die Schaltfläche neue Anwendung
klicken.
Als nächstes sehen Sie ein Popup, in dem Sie aufgefordert werden, einen Namen für Ihre Anwendung einzugeben. Nennen wir unseren Bot My-Greeter-Bot. Durch Klicken auf die Schaltfläche erstellen
erstellt Discord eine API -Anwendung.
Wenn die Anwendung erstellt wurde, sehen Sie den Überblick über die neu erstellte My-Greeter-Bot-Anwendung. Sie sehen Informationen wie eine Client -ID und ein Client -Geheimnis. Dieses Geheimnis wird später als Autorisierungs -Token verwendet.
Klicken Sie jetzt auf die Menüoption bot im Menü Einstellungen
. Discord erstellt unsere My-Greeter-Bot-Anwendung und fügt einen Bot-Benutzer hinzu.
Wenn der Bot erstellt wurde, erhalten Sie einen Überblick über Ihren benutzerdefinierten Bot. Schauen Sie sich den Abschnitt Token
an. Kopieren Sie dieses Autorisierungs -Token und schreiben Sie sie irgendwo auf, da wir sie später benötigen, um eine Verbindung zu unserem Bot -Benutzer herzustellen.
Schritt 3: Berechtigungen definieren und Bot zu Server
hinzufügenDrittens möchten wir die Berechtigungen für den Bot definieren und zu unserem Discord -Server hinzufügen.
Navigieren Sie zum Abschnitt oAuth2 im Menü Einstellungen . Hier können wir den Umfang für unseren Bot definieren. Da wir nur einen einfachen Bot aktivieren möchten, wählen wir die Option bot
.Sie können feststellen, dass sich die unten stehende Autorisierungs -URL jetzt geändert hat. Der Abschnitt der Berechtigungen = 0 zeigt jedoch an, dass wir noch keine Berechtigungen festgelegt haben.
Wenn wir weiter nach unten scrollen, finden Sie den Abschnitt Bot -Berechtigungen
. Wir möchten, dass der Bot Nachrichten senden und den Nachrichtenverlauf lesen kann. Wir brauchen die Erlaubnis, den Nachrichtenverlauf zu lesen, damit wir die Anfragen der Benutzer erkennen können.Wenn Sie beide Optionen auswählen, beachten Sie, dass sich die Nummer für den Parameter des Berechtigten in der Autorisierungs -URL geändert hat.
Zuletzt kopieren Sie diese URL und fügen Sie sie in Ihren bevorzugten Webbrowser ein. Sie finden einen Überblick, in dem Sie aufgefragt werden, zu welchem Server Sie den Bot hinzufügen möchten. Wählen wir unseren neu erstellten Discord_playground.
klicken
Wenn Sie den Bot erfolgreich zu Ihrem Server hinzufügen können, sollten Sie den folgenden Erfolgsbildschirm sehen.
Wenn Sie den Hinzufügen Ihres Bots überprüfen möchten, gehen Sie zum allgemeinen Kanal. Sie sollten eine ähnliche Nachricht sehen, die angibt, dass der Bot dem Kanal beigetreten ist.
Erfolg!
Schritt 4: Projekt -Setup
Lassen Sie uns schließlich das Projekt einrichten. Sie finden das Basisprojekt auf GitHub. Bitte klonen Sie das Repository lokal auf Ihrem Computer mit Git Clone https://github.com/sitepoint-editors/discord-bot-Sitepoint.
Das Projekt hängt von zwei Abhängigkeiten ab, Dotenv und Discord.js. Die erste Abhängigkeit ermöglicht es uns, eine .Env -Datei zu verwenden, in der das von uns geschriebene Bot -Token enthält. Es ist offensichtlich, dass wir die zweite Abhängigkeit, Discord.js, für die Entwicklung des Discord Bot.
brauchenUm beide Abhängigkeiten zu installieren, führen Sie bitte die NPM -Installation im Projektordner aus.
Erstellen Sie zum Abschluss der Installation eine .env -Datei im Stamm des Projekts. Fügen Sie der Datei wie folgt eine Umgebungsvariable hinzu, die als Token bezeichnet wird:
<span>TOKEN=my-unique-bot-token </span>
Schritt 5: Erkundung von diskord.js
Schauen wir uns die im Stamm des Projekts befindliche Index.js -Datei an:
<span>require('dotenv').config(); </span><span>const Discord = require('discord.js'); </span><span>const bot = new Discord<span>.Client</span>(); </span> <span>const TOKEN = process.env.TOKEN; </span> bot<span>.login(TOKEN); </span>
Wir laden zuerst die Umgebungsvariablen, die wir definiert haben, indem wir die Konfiguration aus der Umgebung. Dies ermöglicht es uns, die Token -Variable zu verwenden, die wir durch Process.Env.Token definiert haben. Die letzte Zeile des oben genannten Snippets zeigt, wie wir das Token an die Anmeldefunktion übergeben, um Zugriff auf den von uns erstellten Bot zu erhalten.
Die Bot -Variable ist tatsächlich unser Discord -Client, über den wir interagieren.
Hören Sie auf "Ready" Ereignis
Als nächstes können wir auf Ereignisse hören. Zunächst hören wir uns ein fertiges Ereignis an. Das fertige Ereignis wird abgefeuert, sobald wir mit dem Bot verbunden sind:
bot<span>.on('ready', () => { </span> <span>console.info(<span>`Logged in as <span>${bot.user.tag}</span>!`</span>); </span><span>}); </span>
Wenn Sie das Rechts -Token verwendet haben, sich beim Bot anzumelden, sollte Ihr Terminal den Namen Ihres Bots.Users.tags.
Sie können den Bot starten, indem Sie einfach Node Index.js in Ihrem Terminal ausführen. Stellen Sie sicher, dass Sie diesen Befehl in der Stammwurzel Ihres Projekts ausführen.Wenn der Bot erfolgreich angeschlossen ist, sollten Sie sehen, dass der Name Ihres Bots im Terminal gedruckt wird.
Neben dem Ereignis
Ready können Sie mit dem Discord -Client ein -Stwegungsereignis anhören. Dies bedeutet, dass der Bot jede Nachricht lesen kann, die an einen Kanal gesendet wird. Um an den Abschnitt "Berechtigungen" zu binden, ist dies der genaue Grund, warum wir dem Bot die Erlaubnis geben müssen, den Nachrichtenhistorie zu lesen. Wenn wir den Code etwas weiter untersuchen, sehen Sie, dass wir nach einer Nachricht mit Inhaltsping suchen. Wenn wir eine Nachricht erhalten, die nur Ping enthält, antwortet der Bot mit Pong. Danach verwenden wir msg.channel.send, um erneut Pong an den Kanal zu senden. Beachten Sie den Unterschied zwischen beiden Befehlen: Versuchen Sie, den Bot mit Node Index.js auszuführen und einen Nachrichten -Ping an den allgemeinen Kanal zu senden. Überprüfen Sie, ob Sie dasselbe Ergebnis sehen. Um einen neuen Befehl hinzuzufügen, müssen wir die IF -Klausel mit einem anderen erweitern… wenn: Nehmen wir an, wir möchten jemanden treten, indem wir eine Nachricht wie! Kick @USERNAME senden. Also, zuerst suchen wir nach! Kick in den Inhalt der Nachricht. Wenn wir eine Nachricht finden, die mit! Kick beginnt, können wir überprüfen, ob Benutzer in der Nachricht mit der Eigenschaft msg.mentions.users markiert wurden. Wenn Benutzer markiert sind, können wir den ersten erwähnten Benutzer mit msg.mentions.users.first () auswählen. Als nächstes antworten wir mit dem Benutzernamen des Benutzers in der Nachricht auf den Kanal. Als nächstes diskutieren wir das Problem mit all diesen anderen… wenn Aussagen. Wenn Sie nur wenige Befehle definiert haben, die Sie im Nachrichtenereignis anhören können, ist der Code ziemlich lesbar. Wenn wir uns jedoch entscheiden, ein umfangreiches Projekt auf diese Weise zu erstellen, haben wir eine andere Kette ... wenn Aussagen. Hier ist eine kleine Liste von Gründen, warum Sie sonst nichts verwenden sollten ... wenn Ketten für etwas, das kein kleines Projekt ist: Schauen wir uns also das Befehlsmuster an, das wir verwenden können. Ein Befehlshandler ist ein Ansatz, der vom Discord.js -Paket unterstützt wird. Bevor wir fortfahren, lesen Sie die fortgeschrittene Filiale mit Git Checkout Advanced. Dieser Zweig enthält die Implementierung des Befehlshandlers. Erforschen wir zuerst den Befehlsordner. Dieser Ordner enthält eine Index.js -Datei, in der alle Befehle exportiert werden, die wir definieren. Um die Dinge einfach zu halten, definieren wir nur einen Befehl, Ping: Schauen wir uns als nächstes die Implementierung des Ping -Befehls an, das im Grunde genommen ein Objekt exportiert, das Folgendes enthält: Fortsetzung, importieren wir die Befehle in die Index.js -Datei. Beachten Sie, dass wir eine Befehlssammlung auf dem Discord Bot definieren. Wir schleifen alle Befehle über und fügen sie einzeln zur Befehlssammlung hinzu. Die Funktion bot.commands.set akzeptiert den Namen des Befehls und das gesamte Befehlsobjekt: Danach müssen wir unsere sonst entfernen… wenn Kette durch einen dynamischen Code ersetzen, um den richtigen Befehl zu finden, den wir aufrufen möchten: Wir versuchen zunächst, den Inhalt der Nachricht durch Whitespaces mit .Split ( / /) zu teilen. Wir gehen davon aus, dass das erste Element in diesem Args -Array unser Befehl ist. Um zu überprüfen, ob der Befehl in unserer Sammlung vorhanden ist, enthält die Sammlung eine Funktion von (), die einfach wahr oder falsch zurückgibt. Wenn der Befehl nicht vorhanden ist, geben wir eine leere Antwort zurück. Wenn der Befehl vorhanden ist, verwenden wir jedoch die Funktion Get (), um den richtigen Befehl abzurufen und mit den Eingabeparametern MSG und den Argumenten auszuführen. Es handelt sich um eine leicht zu lesende, dynamische Art, Befehle zu rufen, ohne Spaghetti-Code zu schreiben. Auf diese Weise können Sie Ihr Projekt bei Bedarf auf viele hundert Befehle skalieren. Wenn Sie die neue Version unseres Codes testen möchten, sollten Sie sich die erweiterte Filiale mit Git Checkout Advanced ansehen. Installieren Sie als Nächst
Übrigens können Sie mit diesem Link die Discord -Community von SitePoint anschließen. Komm tech mit uns.
Wie kann ich meinen Discord Bot mit anderen APIs interagieren? Wie kann ich meinen Discord Bot reagieren lassen zu Nachrichten? Sie können ein Emoji an diese Methode übergeben, und der Bot reagiert mit diesem Emoji auf die Nachricht. Sie können benutzerdefinierte Emojis verwenden, indem Sie ihre ID übergeben oder Standard -Emojis verwenden, indem Sie ihr Unicode -Zeichen übergeben. Wie kann ich meinen Discord Bot eine Datenbank verwenden? Verwenden einer Datenbankbibliothek wie "Mongoose" für MongoDB oder "Folgen" für SQL -Datenbanken. Sie können diese Bibliotheken verwenden, um eine Verbindung zu einer Datenbank herzustellen, Modelle zu definieren und dann Daten zu erstellen, zu lesen, zu aktualisieren und zu löschen. <span>TOKEN=my-unique-bot-token
</span>
Suchen Sie nach markierten Benutzern
<span>require('dotenv').config();
</span><span>const Discord = require('discord.js');
</span><span>const bot = new Discord<span>.Client</span>();
</span>
<span>const TOKEN = process.env.TOKEN;
</span>
bot<span>.login(TOKEN);
</span>
Schritt 6: Das Problem mit dem sonst… wenn Kette
Implementieren eines Befehlshandlers
Befehlsbefehl
bot<span>.on('ready', () => {
</span> <span>console.info(<span>`Logged in as <span>${bot.user.tag}</span>!`</span>);
</span><span>});
</span>
<span>TOKEN=my-unique-bot-token
</span>
importieren Befehle
<span>require('dotenv').config();
</span><span>const Discord = require('discord.js');
</span><span>const bot = new Discord<span>.Client</span>();
</span>
<span>const TOKEN = process.env.TOKEN;
</span>
bot<span>.login(TOKEN);
</span>
bot<span>.on('ready', () => {
</span> <span>console.info(<span>`Logged in as <span>${bot.user.tag}</span>!`</span>);
</span><span>});
</span>
einpacken
installieren und einrichten eines neuen Discord Bot könnte sich zunächst überwältigend anfühlen. Die vom Discord.js -Paket angebotene API ist jedoch unkompliziert, und die Discord -Website bietet großartige Beispiele.
Wie kann ich meinem Discord Bot mehr Funktionen hinzufügen? Sie können Funktionen wie das Senden von Nachrichten, das Beantworten von Nachrichten, das Verbinden eines Sprachkanals, das Abspielen von Audio und vieles mehr hinzufügen. Um diese hinzuzufügen, müssen Sie sich Ereignisse anhören und dann Aktionen basierend auf diesen Ereignissen ausführen. Um Ihren Bot beispielsweise eine Nachricht zu senden, können Sie das Ereignis "Nachrichten" und die Methode "message.channel.send" verwenden.
Wie kann ich meinen Discord Bot debuggen? Sie können auch Node.JS-Debugging-Tools wie den integrierten Debugger oder externe Tools wie Debugger von Visual Studio Code verwenden. Darüber hinaus bietet die Discord.js -Bibliothek Veranstaltungen wie 'Debug' und 'warnen', die Sie anhören können, um weitere Informationen darüber zu erhalten, was der Bot tut.
Wenn Sie Ihren Discord -Bot mit anderen APIs interagieren, werden die Bibliotheken "Fetch" oder "Axios" verwendet, um HTTP -Anforderungen zu senden. Sie können diese Bibliotheken verwenden, um Daten von anderen APIs zu erhalten und diese Daten dann in Ihrem Bot zu verwenden. Zum Beispiel könnten Sie einen Bot erstellen, der Wetterdaten abreibt und sie als Nachricht in einem Discord -Kanal sendet. auf einem Server anstelle Ihrer lokalen Maschine. Dafür können Sie Cloud -Hosting -Anbieter wie Heroku, AWS oder Google Cloud verwenden. Diese Anbieter ermöglichen es Ihnen, Ihren Bot rund um die Uhr auszuführen, und sie bieten häufig Datenbanken und andere Dienste an, die Sie mit Ihrem Bot verwenden können. 🎜> Wenn Sie Ihren Discord Bot auf bestimmte Befehle beantworten lassen, werden Sie das Ereignis "Nachricht" anhören und dann überprüfen, ob der Nachrichteninhalt mit einem bestimmten Befehl startet. Dafür können Sie die Methode "Startswith" verwenden. Wenn die Nachricht mit einem Befehl beginnt, können Sie eine bestimmte Aktion ausführen. Der Sprachkanal beinhaltet die Verwendung des "Voice" -Teils der Discord.js -Bibliothek. Sie können die Methode "JoinVoicechannel" verwenden, um den Bot zu einem Sprachkanal zu machen, und dann die "Play" -Methode zum Abspielen von Audio verwenden. Das Audio kann eine lokale Datei, ein Stream oder eine URL sein. 'MessageMbed' -Klasse in der Discord.js -Bibliothek. Sie können eine neue Einbettung erstellen, seinen Titel, seine Beschreibung, Farbe, Bild und andere Eigenschaften festlegen und dann mit der Methode 'message.channel.send' senden.
Wie kann ich meinen Discord -Bot zu Fehlern umgehen lassen? Wenn ein Fehler in einem Try -Block auftritt, wird der Fangblock ausgeführt. Das 'Fehler' Ereignis wird emittiert, wenn in der Discord.js -Bibliothek ein Fehler auftritt.
Das obige ist der detaillierte Inhalt vonSo bauen Sie Ihren ersten Discord Bot mit node.js auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Einführung Ich weiß, dass Sie es vielleicht seltsam finden. Was genau muss JavaScript, C und Browser tun? Sie scheinen nicht miteinander verbunden zu sein, aber tatsächlich spielen sie eine sehr wichtige Rolle in der modernen Webentwicklung. Heute werden wir die enge Verbindung zwischen diesen drei diskutieren. In diesem Artikel erfahren Sie, wie JavaScript im Browser ausgeführt wird, die Rolle von C in der Browser -Engine und wie sie zusammenarbeiten, um das Rendern und die Interaktion von Webseiten voranzutreiben. Wir alle kennen die Beziehung zwischen JavaScript und Browser. JavaScript ist die Kernsprache der Front-End-Entwicklung. Es läuft direkt im Browser und macht Webseiten lebhaft und interessant. Haben Sie sich jemals gefragt, warum Javascr

Node.js zeichnet sich bei effizienten E/A aus, vor allem bei Streams. Streams verarbeiten Daten inkrementell und vermeiden Speicherüberladung-ideal für große Dateien, Netzwerkaufgaben und Echtzeitanwendungen. Die Kombination von Streams mit der TypeScript -Sicherheit erzeugt eine POWE

Die Unterschiede in der Leistung und der Effizienz zwischen Python und JavaScript spiegeln sich hauptsächlich in: 1 wider: 1) Als interpretierter Sprache läuft Python langsam, weist jedoch eine hohe Entwicklungseffizienz auf und ist für eine schnelle Prototypentwicklung geeignet. 2) JavaScript ist auf einen einzelnen Thread im Browser beschränkt, aber Multi-Threading- und Asynchronen-E/A können verwendet werden, um die Leistung in Node.js zu verbessern, und beide haben Vorteile in tatsächlichen Projekten.

JavaScript stammt aus dem Jahr 1995 und wurde von Brandon Ike erstellt und realisierte die Sprache in C. 1.C-Sprache bietet Programmierfunktionen auf hoher Leistung und Systemebene für JavaScript. 2. Die Speicherverwaltung und die Leistungsoptimierung von JavaScript basieren auf C -Sprache. 3. Die plattformübergreifende Funktion der C-Sprache hilft JavaScript, auf verschiedenen Betriebssystemen effizient zu laufen.

JavaScript wird in Browsern und Node.js -Umgebungen ausgeführt und stützt sich auf die JavaScript -Engine, um Code zu analysieren und auszuführen. 1) abstrakter Syntaxbaum (AST) in der Parsenstufe erzeugen; 2) AST in die Kompilierungsphase in Bytecode oder Maschinencode umwandeln; 3) Führen Sie den kompilierten Code in der Ausführungsstufe aus.

Zu den zukünftigen Trends von Python und JavaScript gehören: 1. Python wird seine Position in den Bereichen wissenschaftlicher Computer und KI konsolidieren. JavaScript wird die Entwicklung der Web-Technologie fördern. Beide werden die Anwendungsszenarien in ihren jeweiligen Bereichen weiter erweitern und mehr Durchbrüche in der Leistung erzielen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver CS6
Visuelle Webentwicklungstools

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft
