当用户担任特定角色时,如何让我的机器人向我发送私人消息?

时间:2020-06-09 17:12:52

标签: discord discord.py discord.py-rewrite

我正在进行测验,当一个人回答了最后一个问题时,他们将扮演“完成”角色。当他们获得该角色时,我希望我的机器人向我发送一条私人消息。有可能这样做吗? 谢谢

1 个答案:

答案 0 :(得分:1)

每添加一个角色,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")