如何解决按名称查找角色ID不和谐重写
现在,我正在为Discord机器人编写命令,在该命令中,我创建了一个以用户命名的角色,然后自动将其分配给该用户。我遇到的唯一问题是尝试在不知道其ID的情况下分配角色 给所提到的人。 到目前为止,我的命令:
@client.command(aliases = ["cmr","CMR"])
@commands.has_permissions(manage_roles=True)
async def creatememberrole(ctx,*,member:discord.Member):
author = ctx.message.author
guild = ctx.guild
print(author.display_name)
await guild.create_role(name=str(member.display_name))
await member.add_roles()
#need help here ^
解决方法
您可以浏览所有角色的列表,找到您创建的角色并分配此角色。这是一个示例:
for role in message.channel.guild.roles:
if role.name == str(member.display_name):
await member.add_roles(role)
,
interface Name {
name: string;
info: string;
}
可以轻松完成,无需for循环
utils.get
在您的情况下,不需要任何for loop / utils.get,只需将role = discord.utils.get(ctx.guild.roles,name=member.display_name)
await member.add_roles(role)
方法分配给变量并使用该变量
create_role()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。