Discord 当用户获得特定角色时,如何使我的机器人向我发送私人消息?

Discord 当用户获得特定角色时,如何使我的机器人向我发送私人消息?,discord,discord.py,discord.py-rewrite,Discord,Discord.py,Discord.py Rewrite,我在做一个测验,当一个人回答最后一个问题时,他们得到了一个“完成”的角色。当他们得到这个角色时,我希望我的机器人给我发送一条私人消息。有可能吗? 谢谢每当添加角色时,都会触发on_member_update事件。我们可以检查该角色在事件之前不在成员的角色中,并且在更新之后存在: from discord.utils import get @bot.event async def on_member_update(before, after): role_name = "Complete

我在做一个测验,当一个人回答最后一个问题时,他们得到了一个“完成”的角色。当他们得到这个角色时,我希望我的机器人给我发送一条私人消息。有可能吗?
谢谢

每当添加角色时,都会触发
on_member_update
事件。我们可以检查该角色在事件之前不在成员的角色中,并且在更新之后存在:

from discord.utils import get

@bot.event
async def on_member_update(before, after):
    role_name = "Completed"
    if not get(before.roles, name=role_name) and get(after.roles, name=role_name):
        await bot.owner.send(f"{after.name} has finished")