我正在尝试创建一个不和谐的机器人,一旦成员离线/不可见,该机器人就会为该成员添加特定的角色。
这是我的代码。
@ 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)
每次运行它时,我都会收到一条错误消息,指出该成员未定义。如何将会员定义为更新其状态的人?谢谢。
参数before
and after
都是成员对象,这意味着您可以使用其中之一来添加角色:
@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)
参数很简单;
- The
discord.Member
更新之前的对象,即before
- The
discord.Member
更新后的对象,即after
参考:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)