如何使用 discord.py 更改所有文本频道的权限?

how to change permissions for all text channels with discord.py?

我正在尝试发出命令来更改所有文本频道的权限 但它不起作用

@bot.command()
async def close_all(ctx):
  overwrite = discord.PermissionOverwrite()
  overwrite.send_messages = False
  overwrite.read_messages = False
  ctx.get_channel = ctx.message.server
  await ctx.channel.set_permissions(ctx.guild.default_role, overwrite=overwrite)

我也试过输入 guild 但它说 AttributeError: 'Guild' object has no attribute 'channel'

@bot.command()
async def close_all(ctx):
  await ctx.guild.channel.set_permissions(ctx.guild.default_role, send_messages=False)

Guild 没有属性 channel,但它确实有 channels,它是您可以循环访问的公会中所有频道的列表:

for chan in guild.channels:
    await chan.set_permissions(cts.guild.default_role, send_messages=False)