Erstellung und Verwaltung eines Discord-Bots

0 Aktien
0
0
0
0

Einführung

Dieses Tutorial erklärt, wie man einen Discord-Bot auf einem Linux-Server betreibt. Ein Discord-Bot ist eine tolle Möglichkeit, die Grundlagen der Web- und Backend-Entwicklung zu erlernen und gleichzeitig mit Freunden Spaß zu haben. Da Discord seit Kurzem auch öffentlich zugänglich ist, kann das Erstellen und Betreiben von Discord-Bots auch ein interessantes Nebeneinkommen generieren. Das Erstellen eines Discord-Bots ist nicht schwierig, erfordert aber einige spezifische Schritte, die befolgt werden müssen, um die Sicherheit und den reibungslosen Betrieb des Bots zu gewährleisten.

Da Discord-Bots Code ausführen und sehr komplexe Interaktionen mit Discord-Servern durchführen können, müssen sie auf Servern gehostet werden. Auch wenn es kostenpflichtige Dienste gibt, die Ihren Discord-Bot im Internet hosten, ist es nach den hier vorgestellten Tutorials deutlich einfacher, Ihren eigenen Discord-Bot zu hosten.

Dieses Tutorial verwendet Python mit der Bibliothek discord.py. Discord-Bots werden hauptsächlich in Python (Bibliothek discord.py) oder JavaScript (Bibliothek discord.js) geschrieben. Beide bieten hervorragende Ökosysteme und sind mit allen anderen in dieser Sprache geschriebenen Bibliotheken kompatibel. Daher sind die meisten Schritte für beide Sprachen identisch (abgesehen von sprachspezifischen Schritten). Der Einstieg mit der Python-Bibliothek ist jedoch einfacher, weshalb sie für dieses Tutorial gewählt wurde.

Das Discord-Bot-Beispiel in dieser Bibliothek ist ein einfacher Rechtschreibkorrektur-Bot, der Ihnen einige der wichtigsten Befehle der Bibliothek discord.py zeigt.

Voraussetzungen

  • Ein VPS oder virtueller privater Server

Wenn Sie nicht viele Benutzer haben oder Ihr Bot eine einfache Aufgabe erledigt, gibt es praktisch keine Hardwareanforderungen und Sie müssen lediglich Python ausführen können.

  • Beliebiges 64-Bit-Linux-Betriebssystem (x86-64 oder Arm64)

Dieses Tutorial setzt voraus, dass Sie Ubuntu verwenden, aber die gleichen Schritte funktionieren mit geringfügigen Anpassungen auch auf anderen Linux-Distributionen und Windows.

  • Ein Discord-Konto mit einem Discord-Server, auf dem Sie Administratorrechte besitzen.
Grundlegende oder fortgeschrittene Python-Kenntnisse

Schritt 1 – Eine virtuelle Umgebung einrichten

Bevor Sie beginnen, empfiehlt es sich, eine virtuelle Python-Umgebung namens `virtualenv` zu verwenden. Dadurch kann jedes Projekt spezifische Bibliotheksversionen nutzen, um Inkompatibilitäten zwischen Projekten zu vermeiden, die möglicherweise bestimmte Bibliotheksversionen benötigen. Dies ist besonders für Discord-Bots, die mit Python laufen, empfehlenswert, da Sie so sicherstellen können, dass Ihr Bot immer funktioniert und Sie ihn problemlos auf einen anderen Server übertragen können.

Öffnen Sie das Terminal auf Ihrem Linux-System oder verbinden Sie sich über SSH (Secure Shell) mit Ihrem Server und führen Sie die folgenden Befehle aus:

apt update && apt install python3.10-venv mkdir discord-bot && cd discord-bot/ python3 -m venv discord-bot-env source discord-bot-env/bin/activate

Dadurch wird das für die Erstellung virtueller Umgebungen benötigte Python-Paket installiert, ein Verzeichnis für den Discord-Bot erstellt und die virtuelle Python-Umgebung aktiviert. Ihr Terminal sollte nun wie folgt aussehen: (discord-bot-env)  Bevor Ihr Benutzername angezeigt wird, installieren Sie als Nächstes die discord.py-Bibliothek.

python3 -m pip install --upgrade discord.py

Schritt 2 – Registriere deinen Bot bei Discord

Bevor Sie Skripte ausführen, müssen Sie Ihren Discord-Bot bei Discord registrieren und ein Token erhalten, mit dem sich Ihr Bot bei Discord authentifiziert. Dies ist ein einfacher, wenn auch etwas längerer Prozess. Folgen Sie einfach diesen Schritten:

1. Öffnen Sie einen Webbrowser.

2. Melde dich auf der Discord-Seite an.

3_Betrete das Discord-Entwicklerportal.

4. Klicken Sie auf „Neue Anwendung“.

5_Geben Sie im Abschnitt "Anwendung erstellen" Ihrem Bot einen Namen.

6_Klicken Sie auf den Bot und gehen Sie zum Bot-Bereich.

7. Stellen Sie sicher, dass “Öffentlicher Bot” ausgewählt ist und “OAuth2-Code-Grant erforderlich” nicht ausgewählt ist.

8. Klicken Sie auf “Token zurücksetzen” und notieren Sie sich Ihren Token. Bewahren Sie diesen Token gut auf. Sollten Sie ihn verlieren, müssen Sie erneut auf die Schaltfläche klicken, einen neuen Token anfordern und diesen in Ihrem Code aktualisieren.

9_Scrollen Sie nach unten und lesen Sie den gesamten Abschnitt "«Privilegierte Gateway-Intents» Aktivieren. Dadurch kann der Bot funktionieren. Da Ihr Bot noch keinen Code enthält, gelten die Bedingungen für mehr als 100 Server nicht.

10. Gehen Sie zum Abschnitt „OAuth2“ und dann zum Unterabschnitt „URL-Generator“. Mithilfe der URL können Sie und alle anderen, die Ihren Bot nutzen möchten, Ihren Bot einfach und mit den gewünschten Berechtigungen und Funktionen zu Ihrem Server hinzufügen.

11_Klicken Sie im Abschnitt “Scopes” auf “bot”.

12_Im Abschnitt "«Bot-Berechtigungen»Klicken Sie auf alle Berechtigungen, die Sie dem gewünschten Bot erteilen möchten. Dies hängt davon ab, welche Funktionen Ihr Bot haben soll. Für den einfachen Bot in diesem Beispiel sollten die folgenden Berechtigungen ausreichen.

13_Klicken Sie im Abschnitt «Generierte URL» auf «Kopieren».

14. Geben Sie diese URL in die Suchleiste ein und klicken Sie auf den Link.

15. Lesen Sie die bereitgestellten Informationen über die Funktionen des Bots und fügen Sie ihn dem Server hinzu. Sie können den Bot nur einem Server hinzufügen, auf dem Sie über Administratorrechte verfügen.

16_Roy“Weitermachen”"Klicken"

17. Wählen Sie die Berechtigungen, die Ihr Bot auf dem Server haben soll, dem Sie ihn hinzufügen. Versuchen Sie, dem Bot so wenige Berechtigungen wie möglich zu geben, damit er voll funktionsfähig bleibt. Zusätzliche Berechtigungen können ein Sicherheitsrisiko darstellen, falls jemand Ihr Bot-Token erlangt.

Schritt 3 – Schreiben Sie Ihren Bot-Code

Nachdem der Bot bei Discord registriert wurde, muss der zugehörige Code geschrieben werden. Glücklicherweise ist das Erstellen eines einfachen Discord-Bots unkompliziert, und discord.py-Dateien eignen sich hervorragend dafür.

Im selben Ordner, in dem Sie die Befehle in «Schritt 1» ausgeführt haben, befindet sich eine Datei mit dem Namen discord_bot_script.py Erstellen Sie die Datei mit Ihrem bevorzugten Texteditor. In diesem Beispiel verwende ich nano.

nano discord_bot_script.py

Kopieren Sie den folgenden Code und ersetzen Sie das Token in der letzten Zeile durch Ihr eigenes Token:

import discord


intents = discord.Intents.default()
intents.message_content = True


client = discord.Client(intents=intents)


words = [["youre", "you're"], ["im", "i'm"], ["Im", "I'm"], ["hes", "he's"], ["shes", "she's"]]


@client.event
async def on_ready():
    print("Bot successfully logged in as " + client.user)




@client.event
async def on_message(message):
    if message.author == client.user:
        return
    for word in words:
        if word[0] in message.content:
            await message.channel.send(str(message.author) + ", you misspelled " + word[1] + " as " + word[0], reference=message)


client.run('<YOUR-TOKEN-HERE>')

Ich werde nicht jede Zeile einzeln durchgehen, aber dieser einfache Bot demonstriert das meiste, was du wissen musst, um eigene Discord-Bots in Python zu entwickeln. Er beginnt mit der Deklaration von Intents. Das sind im Wesentlichen Filter, anhand derer dein Bot die Ereignisse beurteilt, die er aufzeichnet und auf die er reagiert. Wenn du beispielsweise einen Rechtschreibprüfungs-Bot hast, würdest du nur auf Nachrichtenereignisse reagieren, aber Ereignisse wie Serverbeitritte oder das Spielen bestimmter Spiele ignorieren. Mehr über Intents findest du in der Dokumentation zu discord.py.

Der Code gibt anschließend eine kurze Liste der zu korrigierenden Wörter zurück. Sie können die Liste bearbeiten und jedes Wort durch ein anderes ersetzen.
Anschließend definiert der Code zwei spezifische Ereignistypen, auf die er reagiert:
  • On_Ready , was der Zeitpunkt ist, an dem das Bot-Skript geladen wird und der Bot eine Verbindung zu seinen Servern herstellt.
  • ON_MESSAGE Wenn jemand eine neue Nachricht auf einem beliebigen Server verfasst, mit dem der Bot verbunden ist, wird ein Ereignis ausgelöst. Dieses Ereignis verfügt außerdem über ein Argument, das den Nachrichteninhalt und die Metadaten an die Funktion übergibt.

Für die Funktion on_readyDer Code veranlasst den Bot lediglich dazu, eine Nachricht im Terminal auszugeben. Sie können die print-Funktion verwenden, um Ereignisse während der Entwicklung zu protokollieren.

Für die Funktion on_messageZuerst prüft der Code, ob der Bot selbst der Absender der Nachricht ist. Ist dies der Fall, wird die Funktion beendet. Ohne diese Prüfung könnte der Bot in einer Endlosschleife hängen bleiben und endlos auf seine eigenen Nachrichten antworten. Anschließend prüft der Code, ob eines der Wörter aus der Liste in der empfangenen Nachricht enthalten ist. Ist dies der Fall, antwortet der Bot mit der `send`-Funktion auf die gesendete Nachricht. Dies ist eine der wichtigsten und leistungsstärksten Funktionen in `discord.py`. Wer ihr volles Potenzial ausschöpft, kann interessante und komplexe Bots entwickeln.

Nachdem Sie Ihren Bot geschrieben haben, speichern Sie den Code und führen Sie ihn mit der folgenden Funktion aus:

python3 discord_bot_script.py
[Gesamt: 1   Durchschnitt: 5/5]
Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen