【问题标题】:Add role in discord.py在 discord.py 中添加角色
【发布时间】:2021-09-21 16:39:04
【问题描述】:

我尝试了许多不同的方法,并在 youtube 上进行了搜索,但我尝试的所有方法都不起作用(已过时或不相关),我如何为提到的用户添加角色?

这是我的代码,看,最后我在()中写的。

@client.command()
@commands.has_permissions(kick_members=True)  
async def mute(ctx, member:discord.Member,*,reason=None):
    Embed = discord.Embed(title = f'✅{member} was muted by {ctx.author.name}!',color = 0x00ff00)
    Embed.add_field(name=f'Reason', value=f'{reason}')
    Embed.set_image(url='https://ak.picdn.net/shutterstock/videos/1014234401/thumb/1.jpg')
    await ctx.message.channel.send(embed=Embed)
    await (The command that should add the role "Muted" to the mentioned user)

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    你可以使用:

    role = discord.utils.get(member.guild.roles, name="Test")
    await member.add_roles(role)
    

    所以您的代码将如下所示:

    @client.command()
    @commands.has_permissions(kick_members=True)  
    async def mute(ctx, member:discord.Member,*,reason=None):
        Embed = discord.Embed(title = f'✅{member} was muted by {ctx.author.name}!',color = 0x00ff00)
        Embed.add_field(name=f'Reason', value=f'{reason}')
        Embed.set_image(url='https://ak.picdn.net/shutterstock/videos/1014234401/thumb/1.jpg')
        await ctx.message.channel.send(embed=Embed)
        role = discord.utils.get(member.server.roles, name="Muted") # Change name to the muted role name!
        await member.add_roles(role)
    
    

    【讨论】:

      【解决方案2】:

      首先你需要从公会的角色中获取角色。

      role = ctx.guild.get_role(role_id)
      

      role = discord.utils.get(ctx.guild.roles, name="Muted")
      

      现在您可以将角色添加到目标成员

      await member.add_roles(role)
      

      你也不需要写

      await ctx.message.channel.send()
      

      你可以这样做

      await ctx.send()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-06
        • 2021-07-20
        • 2021-06-05
        • 2019-08-11
        • 1970-01-01
        • 2018-06-21
        • 1970-01-01
        • 2021-06-12
        相关资源
        最近更新 更多