使用discord.py创建角色时,如何单独显示角色成员(与在线成员区分)
使用discord.py实现角色成员与在线成员分离显示
你提到的这个功能是Discord的「角色成员分离显示」,在discord.py中创建或修改角色时,通过指定display_separately参数即可启用。
创建新角色时启用该功能
调用Guild.create_role()方法,将display_separately设为True,就能让新角色的成员在成员列表中单独分组,在线成员会单独显示在组内上方:
@bot.command() async def create_separate_role(ctx, role_name: str): # 创建带分离显示功能的角色 new_role = await ctx.guild.create_role( name=role_name, display_separately=True, # 核心参数,开启分离显示 color=discord.Color.random() # 可选:自定义角色颜色 ) await ctx.send(f"角色 {new_role.mention} 已创建,且已启用成员分离显示")
修改已有角色启用该功能
如果要给已存在的角色开启这个功能,使用Role.edit()方法修改参数即可:
@bot.command() async def enable_separate_display(ctx, target_role: discord.Role): await target_role.edit(display_separately=True) await ctx.send(f"已为角色 {target_role.mention} 启用成员分离显示功能")
开启后,该角色的成员会在服务器成员列表中单独成组,组内会优先展示在线成员,和普通角色的混排模式区分开,和你需要的示例效果一致。
内容的提问来源于stack exchange,提问作者FlamyIce
相关产品推荐
相关产品推荐

