如何查看文本通道的权限值? [discord.py]
How to check a permission value of a text channel? [discord.py]
我想检查文本频道是否已将权限设置为特定值,特别是 send_messages 权限。基本上我想要这样的东西:
@bot.command()
async def perm(ctx, channel : discord.TextChannel = None)
if (send_messages = False):
# If permission is set to false, print error message
ctx.send("Permission is already set to false.")
else:
# Else, set permission to false
await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False)
有什么建议吗?
您可以使用 overwrites_for
获得角色的 PermissionOverwrite
。
@bot.command()
async def perm(ctx, channel : discord.TextChannel):
overwrite = channel.overwrites_for(ctx.guild.default_role)
if overwrite.send_messages == False:
ctx.send("Permission is already set to false.")
else:
await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False)
我想检查文本频道是否已将权限设置为特定值,特别是 send_messages 权限。基本上我想要这样的东西:
@bot.command()
async def perm(ctx, channel : discord.TextChannel = None)
if (send_messages = False):
# If permission is set to false, print error message
ctx.send("Permission is already set to false.")
else:
# Else, set permission to false
await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False)
有什么建议吗?
您可以使用 overwrites_for
获得角色的 PermissionOverwrite
。
@bot.command()
async def perm(ctx, channel : discord.TextChannel):
overwrite = channel.overwrites_for(ctx.guild.default_role)
if overwrite.send_messages == False:
ctx.send("Permission is already set to false.")
else:
await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False)