Python: 3.8.2
discord.py: 1.3.3
Grüße, Chabrowiten und andere Internetnutzer. Heute werde ich eine Reihe von Artikeln starten, die sich mit der Erstellung eines Discord-Bots mithilfe der discord.py-Bibliothek befassen. Wir werden in Betracht ziehen, sowohl einen primitiven Bot als auch einen "fortgeschrittenen" Bot mit Modulen zu erstellen. In diesem Artikel werden wir einen Standardbefehl und einen weiteren kleinen Befehl erstellen. Lass uns anfangen!
Einen Bot erstellen und einen Token erhalten
Um dem Server einen Bot hinzuzufügen, müssen Sie eine eigene Anwendung erstellen und die Client-ID auf die Registerkarte Allgemeine Informationen kopieren.
Hier ersetzen wir CLID durch die zuvor kopierte Client-ID.
https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8
Erstellen Sie auf der Registerkarte Bot einen Bot und kopieren Sie das Token.
Codierung
Installieren Sie die Bibliothek selbst.
pip install discord
Erstellen Sie eine config.py-Datei (dies ist bequemer) und erstellen Sie dort ein Wörterbuch.
settings = {
'token': ' ',
'bot': ' ',
'id': Client ID , ,
'prefix': ' '
}
Wir erstellen eine Hauptdatei, der Name kann alles sein.
Wir importieren Bibliotheken und unsere Konfigurationsdatei:
import discord
from discord.ext import commands
from config import settings
Erstellen Sie einen Bot "Körper", der Name kann beliebig sein:
bot = commands.Bot(command_prefix = settings['prefix']) # settings, prefix.
Beginnen wir mit dem Schreiben des Hauptcodes.
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
Starten Sie den Bot am Ende mit:
bot.run(settings['token']) # settings token,
import discord
from discord.ext import commands
from config import settings
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
bot.run(settings['token']) # settings token,
Es sollte so aussehen:
Bonus-Tutorial!
Lassen Sie uns aus zufälligen Bildern mit Füchsen eine Schlussfolgerung ziehen.
Dazu importieren wir ein paar weitere Bibliotheken:
import json
import requests
Beginnen wir mit dem Schreiben des Befehls.
@bot.command()
async def fox(ctx):
response = requests.get('https://some-random-api.ml/img/fox') # Get-
json_data = json.loads(response.text) # JSON
embed = discord.Embed(color = 0xff9900, title = 'Random Fox') # Embed'a
embed.set_image(url = json_data['link']) # Embed'a
await ctx.send(embed = embed) # Embed
Es sollte so aussehen:
das Ende
Damit ist Teil 1 abgeschlossen. Teil 2 kommt bald.