gpt4 book ai didi

python - 如何在 discord.py 中调用 on_member_update 时访问成员?

转载 作者:行者123 更新时间:2023-12-05 02:53:27 24 4
gpt4 key购买 nike

我正在尝试创建一个 discord 机器人,一旦成员离线/隐身,它就会为该成员添加特定角色。

这是我的代码。

@ bot.event
async def on_member_update(before, after):
if str(before.status) == "online":
if str(after.status) == "offline":
guild = bot.get_guild(1234567890)
role = discord.utils.find(lambda r: r.name == 'rolename', guild.roles)
await member.add_roles(role)

每次运行它时,我都会收到一条错误消息,提示未定义成员。如何将成员定义为更新状态的人?谢谢。

最佳答案

参数beforeafter 都是成员对象,这意味着您可以只使用其中一个来添加角色:

@bot.event
async def on_member_update(before, after):
if str(before.status) == "online":
if str(after.status) == "offline":
# also would be able to get the guild via after.guild or before.guild
guild = bot.get_guild(1234567890)
role = discord.utils.find(lambda r: r.name == 'rolename', guild.roles)
await after.add_roles(role)

参数很简单;

  • 更新之前的 discord.Member 对象,即 before
  • 更新后的discord.Member对象,即after

引用资料:

关于python - 如何在 discord.py 中调用 on_member_update 时访问成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62242183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com