我正在使用discord.py开发Discord机器人,但我遇到了一个似乎无法解决的重复错误。该错误发生在多个实例中,并且与不具有某些属性的“NoneType”对象有关。
错误详细信息: 我在代码的不同部分不断得到
AttributeError: 'NoneType' object has no attribute 'send'
、'get_role'
和 'members'
。这是错误输出的示例:
_ClientEventTask exception was never retrieved
future: <ClientEventTask state=finished event=on_ready coro=<bound method ...> exception=AttributeError("'NoneType' object has no attribute 'send'")>
...
背景: 这些错误似乎与我的机器人类中的
self.guild
和 self.stdout
属性有关,访问时它们似乎是 None
。当我尝试在这些对象上调用 AttributeError
或 get_role
等方法时,这会导致 send
。
尝试解决:
尽管做出了这些努力,我还是无法弄清楚为什么这些属性为 None 以及如何正确初始化它们。
问题:
任何理解和解决这些错误的帮助将不胜感激。
您将
self.guild
定义为 None
,这就是您收到 NoneType
错误的原因。我认为 self.guild 应该是一个公会对象,但事实并非如此。 None 没有像 get_role()
这样的属性,因为它是空的,而不是不和谐公会。
我读了你的代码,但在任何地方都找不到它。因为它不在您的代码中,所以您不能将其用作变量,您需要定义它。