2 Python/PyCharm files für einen Discord Bot?
Hallo zusammen,
Erklärung: Programmiere zur Zeit einen Discord Bot mit Python (Version3.9.2) in PyCharm. Ich will ein paar client.events haben und aber auch commands. Ich habe gehört dass das zu Problemen führen kann, wenn man beides in einem file benutzt.
Frage: Wie kann ich 2 files so verknüpfen, dass sie beide zum Bot gehören und beides ausgeführt werden kann?
Bin für jede Antwort dankbar ;)
1 Antwort
Hey!
Also das Problem was mir mit Discord.py bekannst ist, ist dass wenn du das Event "OnMessage" hinzufügst es wichtig ist, dass du auch ein
await client.process_commands(message)
in dem Event stehen hast. Sonst werden die Commands ignoriert. Bei anderen Events wie einem "OnReactionAdd" zum Beispiel musst du das nicht hinzufügen, das gillt lediglich für das "OnMessage"-Event.
Wenn du zwei Datein miteinander verknüpfen willst, ist es etwas komplizierter. Allgemein sind Cogs(So heißen externe Files) ein recht kompliziertes Thema, zudem funktionieren sie anders als die herkömmlichen "Bot.py" files. Aber hier ist eine Step-by-Step Anweisung:
- In deinem Ordner, wo du dein Mainfile hast erstellst du eine weitere Datei und nennst sie am besten passend zu dem Inhalt, der sie befüllen soll. In dem Beispiel einfach mal "help.py".
- in diesem File fügst du dann erstmal diesen Code ein:
import discord
from discord.ext import commands
class Help(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command(name="help") # Hier ist es wichtig, dass du in deinem Mainfile "client.remove_command("help") eingibst, da es sonst einen Error geben wird
async def help_command(self, ctx):
await ctx.send("This is a help command")
def setup(bot):
bot.add_cog(Help(bot))
- Im Mainfile fügst du dann folgendes ein:
client.load_extension("help")
Das ist zwar nicht die beste Methode einen Cog einzubauen, sollte aber für's Erste funktionieren.
Falls du noch Fragen hast oder weitere Hilfe brauchst, melde dich doch gerne bei mir!
LG™
Kein Ding! Wie gesagt, wenn du Fragen hast oder Hilfe brauchst (auch allgemein zu Python und/oder Discord.py) melde dich doch gerne :)
Vielen vielen Dank, das hatte mir gefehlt. Sitze schon sooo lange daran, super!! VIELEN DANK