【发布时间】:2020-07-02 20:30:37
【问题描述】:
@client.event
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 728213540858757152:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == "loud_sound":
role = discord.utils.get(message_id.guild.roles, name="DUYURU")
elif payload.emoji.name == "bee":
role = discord.utils.get(guild.roles, name="REKLAM")
else:
role = discord.utils.get(guild.roles, name=payload.emoji.name)
if role is not None:
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
if member is not None:
await member.add_roles(role)
print(f"{member} {role} aldı!")
else:
print("Member not found")
else:
print("Role not found")
@client.event
async def on_raw_reaction_remove(payload):
message_id = payload.message_id
if message_id == 728213540858757152:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == "loud_sound":
role = discord.utils.get(guild.roles, name="DUYURU")
elif payload.emoji.name == "bee":
role = discord.utils.get(guild.roles, name="REKLAM")
else:
role = discord.utils.get(guild.roles, name=payload.emoji.name)
if role is not None:
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
if member is not None:
await member.remove_roles(role)
print(f"{member} {role} aldı!")
else:
print("Member not found")
else:
print("Role not found")
我正在尝试在我的 discord.py 机器人中添加反应角色,但它不起作用。它给了我错误:Role not found。但是我的角色列表中已经有了这个角色。我尝试使用我制作的另一个与角色相关的代码,它可以完美运行,但这也不起作用。我尝试将message_id 更改为channel,但这也不起作用
【问题讨论】:
-
很明显,您的
discord.utils.get之一失败了,您得到“找不到角色”
标签: python discord.py