按名称查找角色 ID discord rewrite
Find role id by name discord rewrite
现在我正在为我的 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)
用utils.get
就可以轻松完成,不需要for循环
role = discord.utils.get(ctx.guild.roles, name=member.display_name)
await member.add_roles(role)
在您的情况下,不需要任何 loop/utils.get,只需将 create_role()
方法分配给一个变量并使用该变量
@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)
role = await guild.create_role(name=str(member.display_name))
await member.add_roles(role)
现在我正在为我的 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)
用utils.get
就可以轻松完成,不需要for循环
role = discord.utils.get(ctx.guild.roles, name=member.display_name)
await member.add_roles(role)
在您的情况下,不需要任何 loop/utils.get,只需将 create_role()
方法分配给一个变量并使用该变量
@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)
role = await guild.create_role(name=str(member.display_name))
await member.add_roles(role)