Discord.py |未定义的变量 'user' 错误
Discord.py | Undefined variable 'user' Error
@commands.command()
async def test(self, ctx, user_id : int):
test= discord.Embed(title=f'A moderation action has been performed!', description='', color=0x90fd05)
test.add_field(name='User Affected:', value={user.name}, inline=True)
test.add_field(name='User ID:', value=f'`{user_id}`', inline=True)
test.add_field(name='Moderator Name:', value=f'`{ctx.author}`', inline=True)
test.add_field(name='Moderator ID:', value=f'`{ctx.author.id}`', inline=True)
test.add_field(name='Action Performed:', value='`UnBan`', inline=True)\
#test.timestamp = datetime.datetime.utcnow()
test.set_author(name=f'{ctx.guild}', icon_url=ctx.guild.icon_url)
test.set_thumbnail(url=user.avatar_url)
await ctx.channel.send(embed=test)
我不断收到以下行的错误:
test.add_field(name='User ID:', value=f'`{user_id}`', inline=True)
和
test.set_thumbnail(url=user.avatar_url)
这是为什么呢?我是否需要在第二行添加任何内容?我在 google 上搜索,发现它的使用就像我做的一样,但它不起作用...
您还没有定义 user
变量。为了定义它,您可以使用 guild.get_member(id)
获取 discord.Member
对象。然后你可以使用 user
变量。
@commands.command()
async def test(self, ctx, user_id : int):
user = ctx.guild.get_member(user_id)
test= discord.Embed(title=f'A moderation action has been performed!', description='', color=0x90fd05)
...
user_id
与 user
不同,你也没有定义 user
,如果你想得到一个 discord.Member
实例,你可以使用MemberConverter
或 Guild.get_member
使用MemberConverter
async def test(self, ctx, user: discord.Member): # This will work with mentions, names, ID's, nicknames..
print(type(user)) # <class 'discord.member.Member`>
# ...
使用Guild.get_member
async def test(self, ctx, user_id: int):
user = ctx.guild.get_member(user_id)
print(type(user)) # <class 'discord.member.Member`>
# ...
参考:
@commands.command()
async def test(self, ctx, user_id : int):
test= discord.Embed(title=f'A moderation action has been performed!', description='', color=0x90fd05)
test.add_field(name='User Affected:', value={user.name}, inline=True)
test.add_field(name='User ID:', value=f'`{user_id}`', inline=True)
test.add_field(name='Moderator Name:', value=f'`{ctx.author}`', inline=True)
test.add_field(name='Moderator ID:', value=f'`{ctx.author.id}`', inline=True)
test.add_field(name='Action Performed:', value='`UnBan`', inline=True)\
#test.timestamp = datetime.datetime.utcnow()
test.set_author(name=f'{ctx.guild}', icon_url=ctx.guild.icon_url)
test.set_thumbnail(url=user.avatar_url)
await ctx.channel.send(embed=test)
我不断收到以下行的错误:
test.add_field(name='User ID:', value=f'`{user_id}`', inline=True)
和
test.set_thumbnail(url=user.avatar_url)
这是为什么呢?我是否需要在第二行添加任何内容?我在 google 上搜索,发现它的使用就像我做的一样,但它不起作用...
您还没有定义 user
变量。为了定义它,您可以使用 guild.get_member(id)
获取 discord.Member
对象。然后你可以使用 user
变量。
@commands.command()
async def test(self, ctx, user_id : int):
user = ctx.guild.get_member(user_id)
test= discord.Embed(title=f'A moderation action has been performed!', description='', color=0x90fd05)
...
user_id
与 user
不同,你也没有定义 user
,如果你想得到一个 discord.Member
实例,你可以使用MemberConverter
或 Guild.get_member
使用MemberConverter
async def test(self, ctx, user: discord.Member): # This will work with mentions, names, ID's, nicknames..
print(type(user)) # <class 'discord.member.Member`>
# ...
使用Guild.get_member
async def test(self, ctx, user_id: int):
user = ctx.guild.get_member(user_id)
print(type(user)) # <class 'discord.member.Member`>
# ...