Python discord NonType Error?

2 Antworten

Der Fehler, den du bekommst, weil der Kanal, den du mit

main.bot.get_channel(1309925591146958933)
abzurufen versuchst, nicht existiert oder der Bot nicht die Berechtigung hat, darauf zuzugreifen. Wenn der Kanal vorhanden ist und die ID korrekt ist, könnte es am Caching des Bots liegen.

Du kannst die ID des Kanals in den Devtools überprüfen oder den Bot auf einen Kanal an der passenden Stelle in der Hierarchie ziehen.

Die spezifische Fehlermeldung, die du erhältst, besagt, dass kein Objekt vorhanden ist, auf dem die

send
-Methode aufgerufen werden kann. Das aufrufbare Objekt ist in diesem Fall
channel
.

Stelle sicher, dass der Bot die richtige Kanal-ID abruft und er die erforderlichen Berechtigungen für diesen Kanal hat.


Timo231 
Beitragsersteller
 23.11.2024, 19:47

Ich habe es bereits mit einer anderen ChannelID probiert und es funktioniert trotzdem nicht. Der Bot hat Administrator also sollte es an den Brechtigungen auch nicht liegen. Könntest du mir genauer erklären was du mit "Caching des Bots" meinst?

Dein Entwurfsfehler besteht darin, daß Du eine Rückgabe nutzt, ohne sie zuvor zu prüfen.

channel = main.bot.get_channel(1309925591146958933)
    await channel.send("make a recaptcha, registration from user : " + str(interaction2.user.name) + " with id: " + str(interaction2.user.id))

channel wird auf die Rückgabe von get_channel() gesetzt, die offenbar None ist. Und wenn man die Dokumentation liest, dann steht da eindeutig drin, daß die Rückgabe None ist, wenn nicht auffindbar.


Timo231 
Beitragsersteller
 23.11.2024, 19:48

Ja, der bot findet diesen channel nicht. Aber wie behebe ich das?

KarlRanseierIII  23.11.2024, 19:56
@Timo231

Dann schau doch mal in die Logs, ob sich daraus Informationen über das Problem ergeben.