UnboundLocalError: local variable 'guild' referenced before assignment
UnboundLocalError: local variable 'guild' referenced before assignment
我想做一些事情,以便当脚本启动时,它会获取有关公会成员的信息,例如 id、公会 ID。
我有这个代码:
async def on_ready(self):
for guild in guild:
for member in guild.members:
values = {
"_id":member.id,
"guild_id":guild.id,
"warns": 0 ,
"reasons": []
}
server_values = {
"_id": guild.id,
"case": 0
}
if collusers.count_documents({"_id": member.id, "guild_id": guild.id}) == 0:
collusers.insert_one(values)
if collservers.count_documents ({"_id": guild.id}) == 0:
collservers.insert_one(server_values)
但是我也得到一个错误:
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Users\Andriyko\AppData\Local\Programs\Python\Python310\lib\site-packages\nextcord\client.py", line 351, in _run_event
await coro(*args, **kwargs)
File "c:\Users\Andriyko\Desktop\Ghostbot\modules\warn.py", line 18, in on_ready
for guild in guild:
UnboundLocalError: local variable 'guild' referenced before assignment
您没有为变量 guild
分配任何内容。您可以获得您的机器人所在的所有 guilds
:
for guild in self.client.guilds:
你也可以先获取公会对象(如果你想运行它只为一个公会):
guilds = client.get_guild(id)
for guild in guilds:
...
此外,请记住您必须启用 intents.Members
才能获得 guild.members
。
我想做一些事情,以便当脚本启动时,它会获取有关公会成员的信息,例如 id、公会 ID。
我有这个代码:
async def on_ready(self):
for guild in guild:
for member in guild.members:
values = {
"_id":member.id,
"guild_id":guild.id,
"warns": 0 ,
"reasons": []
}
server_values = {
"_id": guild.id,
"case": 0
}
if collusers.count_documents({"_id": member.id, "guild_id": guild.id}) == 0:
collusers.insert_one(values)
if collservers.count_documents ({"_id": guild.id}) == 0:
collservers.insert_one(server_values)
但是我也得到一个错误:
Ignoring exception in on_ready
Traceback (most recent call last):
File "C:\Users\Andriyko\AppData\Local\Programs\Python\Python310\lib\site-packages\nextcord\client.py", line 351, in _run_event
await coro(*args, **kwargs)
File "c:\Users\Andriyko\Desktop\Ghostbot\modules\warn.py", line 18, in on_ready
for guild in guild:
UnboundLocalError: local variable 'guild' referenced before assignment
您没有为变量 guild
分配任何内容。您可以获得您的机器人所在的所有 guilds
:
for guild in self.client.guilds:
你也可以先获取公会对象(如果你想运行它只为一个公会):
guilds = client.get_guild(id)
for guild in guilds:
...
此外,请记住您必须启用 intents.Members
才能获得 guild.members
。