更改用户的昵称——Discord.py

2022-01-15 00:00:00 python discord discord.py

问题描述

当用户的角色更新时,我希望机器人在 Admin 之后以他们的名字附加他们的用户名,例如.管理员 |用户名 但它不起作用.这是我的代码:

When a user's role gets updated, I would like the bot to append their username after Admin in their name Eg. Admin | username But it doesn't work. Here's my code:

@client.event
async def on_member_update(before, after):
    role = discord.utils.get(before.guild.roles, name="Admin")
    if after in role.members:
          await after.edit(nick="Admin | " + discord.user, reason=None)


解决方案

discord.user 是一个类,我们想要一个字符串,它是用户的昵称,user_name.

discord.user is a class, we want a string that is the nick, user_name of the user.

@client.event
async def on_member_update(before, after):
    role = discord.utils.get(before.guild.roles, name="Admin")
    if after.nick is not None and after.nick.startswith("Admin |"):
        return
    if after in role.members:
          await after.edit(nick="Admin | " + after.display_name, reason=None) #discord.user is a class, we want the member's new display name.

相关文章