NameError: name 'guild' is not defined
NameError: name 'guild' is not defined
我想做一些事情,比如当成员加入和机器人加入公会时,我会得到关于公会成员的信息,比如:id,公会 id。警告和理由。
@commands.Cog.listener()
async def on_member_join(self,member):
values = {
"_id":member.id,
"guild_id": guild.id,
"warns": 0 ,
"reasons": []
}
if collusers.count_documents({"_id": member.id, "guild_id": self.bot.guild.id}) == 0:
collusers.insert_one(values)
@commands.Cog.listener()
async def on_guild_join(guild):
server_values = {
"_id": guild.id,
"case": 0,
}
if collservers.count_documents ({"_id": guild.id}) == 0:
collservers.insert_one(server_values)
我有这样的错误
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 39, in on_member_join
"guild_id": guild.id,
NameError: name 'guild' is not defined
您没有在第一个侦听器 on_member_join
中定义 guild
。您可以通过传递的成员参数轻松获得公会。
我注意到的另一件事是你传递的是 self.bot.guild.id
这不会起作用,因为机器人可以在多个公会中(并且没有 guild
属性 的 self.bot
。只需在此处再次使用 member.guild.id
。
@commands.Cog.listener()
async def on_member_join(self,member):
guild = member.guild
values = {
"_id":member.id,
"guild_id": guild.id,
"warns": 0 ,
"reasons": []
}
if collusers.count_documents({"_id": member.id, "guild_id": guild.id}) == 0:
collusers.insert_one(values)
我想做一些事情,比如当成员加入和机器人加入公会时,我会得到关于公会成员的信息,比如:id,公会 id。警告和理由。
@commands.Cog.listener()
async def on_member_join(self,member):
values = {
"_id":member.id,
"guild_id": guild.id,
"warns": 0 ,
"reasons": []
}
if collusers.count_documents({"_id": member.id, "guild_id": self.bot.guild.id}) == 0:
collusers.insert_one(values)
@commands.Cog.listener()
async def on_guild_join(guild):
server_values = {
"_id": guild.id,
"case": 0,
}
if collservers.count_documents ({"_id": guild.id}) == 0:
collservers.insert_one(server_values)
我有这样的错误
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 39, in on_member_join
"guild_id": guild.id,
NameError: name 'guild' is not defined
您没有在第一个侦听器 on_member_join
中定义 guild
。您可以通过传递的成员参数轻松获得公会。
我注意到的另一件事是你传递的是 self.bot.guild.id
这不会起作用,因为机器人可以在多个公会中(并且没有 guild
属性 的 self.bot
。只需在此处再次使用 member.guild.id
。
@commands.Cog.listener()
async def on_member_join(self,member):
guild = member.guild
values = {
"_id":member.id,
"guild_id": guild.id,
"warns": 0 ,
"reasons": []
}
if collusers.count_documents({"_id": member.id, "guild_id": guild.id}) == 0:
collusers.insert_one(values)