【发布时间】:2021-08-02 22:55:01
【问题描述】:
我想用 bot[1] 记录对用户角色的更改,但我想从更改的角色中排除 @@everyone 角色。
你知道我该怎么做吗?
这是我目前使用的代码:
@Cog.listener()
async def on_member_update(self, before, after):
if before.roles != after.roles:
embed = Embed(
colour = discord.Colour.blue(),
description=f"{after.mention}'s Rollen haben sich aktualisiert:",
timestamp = datetime.utcnow()
)
embed.set_author(name=after.name,
icon_url=after.avatar_url)
embed.set_footer(text=f"User ID: {after.id}")
fields = [("Before:", ", ".join([r.mention for r in before.roles]), False),
("After:", ", ".join([r.mention for r in after.roles]), False)]
for name, value, inline in fields:
embed.add_field(name=name, value=value, inline=inline)
await self.log_channel.send(embed=embed)
【问题讨论】:
-
您的
@Cog.listener()必须是@commands.Cog.listener() -
我不这么认为,因为我导入了这个 [
from discord.ext.commands import Cog] 并且代码本身正在运行 -
我已经在下面发布并编辑了我的答案,现在可以正常使用了
标签: python python-3.x discord discord.py