NameError: name 'guild' is not defined?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

musst noch vor `guild.create_text_channel('Python 3.9')` guild definieren, also zB duch `guild = message.guild`

und btw why ist diese ganze funktion in einer while True funktion? dadurch wird dein bot immer wieder die nachrichten senden und den channel erstellen ... Würde dir da dringend von abraten dass in einer while True schleife zu haben ;P


Pilzsupe 
Beitragsersteller
 07.10.2022, 20:35

Hey

Danke für die Antwort

Ich habs absichtlich in der while schleife. daher ich einen Bot wollte der

halt Channel spammed.

Keine Ahnung warum xd

Dein Fehler liegt daran, dass er nicht weiß, in welcher DIscord-Server er den Text-Channel kreieren soll. Also wenn du den Kanal in den gleichen Server machen möchtest, dann musst du noch message angeben:

await message.guild.create_text_channel('Python 3.9')

Wenn du auf einen bestimmten Server den Kanal hinzufügen möchtest, dann kann du es auch direkt definieren.

client.get_guild(ID)

Mir ist mir ein paar Problem bei deinem Code aufgefallen. Wenn du while 5 > 1: machst und kein Abbruchmechanismus einbaust, dann wird es eine Endlosschleife.

Ein weiterer Fehler ist, dass du mit time.sleep die Zeit abwartest. Aber da es eine Asynkrone Funktion ist, kann in dieser Zeit kein weiterer Befehl ausgeführt werden. Ich würde dir bei deinem Code eher

import asyncio

await asyncio.sleep(1)

empfehlen.

Ich hoffe ich konnte dir weiterhelfen und wenn du noch Fragen hast dann kannst du mich natürlich fragen.

LG

Woher ich das weiß:Hobby

Pilzsupe 
Beitragsersteller
 07.10.2022, 20:37

okk Danke für die Antwort!