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