Erstellen eines Discord-Bots in Python. Teil 1

Autorenversionen

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,   


Vollständiger Code
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.




All Articles