更改用户的昵称——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.
相关文章