现在这是我正在使用的当前代码:
@client.command(pass_context=True)
async def nname(ctx, member: discord.Member, nick):
name = member.display_name
await member.edit(nick= name + ' (' + nick + ')')
await ctx.send(f'Nickname was changed for {member.mention} ')
因此,当有人输入.name用户名昵称时,它会更新他们的昵称,将他们选择的昵称放在括号中。有没有一种方法可以让调用.name((函数的人获得用户名,并编辑他们在服务器上的昵称,而不需要他们先输入自己的用户名?所以最终结果他们可以只做.name昵称,它只会更新为用户名(昵称(
您可以将member
定义为消息的作者,因此执行以下操作:
@client.command(pass_context=True)
async def nname(ctx, nick):
member = ctx.message.author # Member is now the author of the message
name = member.display_name
await member.edit(nick= name + ' (' + nick + ')')
await ctx.send(f'Nickname was changed for {member.mention} ')