【发布时间】:2020-12-17 20:22:19
【问题描述】:
所以我有一个可以正常工作的 whois 命令,但是当我说 .whois me 时,我正在尝试实现它,它会显示我的信息。但是我尝试了一个 if 语句它不起作用
代码:
@client.command(pass_context=True)
async def whois(ctx, member : discord.Member):
with open('main code\mbot json storage\pp.json', 'r') as f:
prefixes = json.load(f)
if member == "me":
member = ctx.message.author #I tried doing this
prefix = prefixes[str(ctx.guild.id)]
roles = [role for role in member.roles]
embed = discord.Embed(colour=member.color, timestamp=ctx.message.created_at)
embed.set_author(name=f'User Info - {member}')
embed.set_thumbnail(url=member.avatar_url)
embed.set_footer(text=f"Asked by {ctx.author}", icon_url=ctx.author.avatar_url)
embed.add_field(name='ID:', value=member.id)
embed.add_field(name='Guild name:', value=member.display_name)
embed.add_field(name='Created At:', value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p "))
embed.add_field(name='Joined At:', value=member.joined_at.strftime("%a, %#d %B %Y, %I:%M %p "))
embed.add_field(name=f'Roles ({len(roles)})', value=" ".join([role.mention for role in roles]))
embed.add_field(name='Top role:', value=member.top_role.mention)
embed.add_field(name="Platform", value=f"{'Mobile' if member.is_on_mobile() else 'PC'}", inline=False)
embed.add_field(name="Admin?", value=f"{member.guild_permissions.administrator}", inline=True)
embed.add_field(name='Bot?', value=f"{'Bot' if member.bot else 'Human'}", inline=True)
await ctx.send(embed=embed)
【问题讨论】:
标签: python python-3.x discord discord.py discord.py-rewrite