首页 > 解决方案 > Discord.py 默认角色权限

问题描述

如何检查特定频道中的默认角色具有哪些权限?

我试过了:

if member.default_role.permission_in(channel).send_message:

但如果没有错误消息,它就无法工作。我尝试过的所有其他方法也没有奏效。

这是我的代码:

@commands.command()
async def unmute(self, ctx, member: discord.Member):
    if ctx.author.guild_permissions.kick_members:
        for channel in ctx.guild.text_channels:
            role = discord.utils.get(member.guild.roles, name="@everyone")
            if role.permission_in(channel).send_message and member.permissions_in(channel).read_messages:
                    await channel.set_permissions(member, send_messages=True)

标签: pythondiscordbotsdiscord.py

解决方案


@client.event
async def on_member_join(member):
    guild = member.guild
    role = discord.utils.get(guild.roles, name="@everyone")
    if role is not None:
        perms = role.permissions
        print(perms)

使用它打印角色权限整数。您可以使用权限计算器找出权限是什么


推荐阅读