AttributeError: 'PermissionOverwrite' object has no attribute 'items' when editing a VoiceChannel

AttributeError: 'PermissionOverwrite' object has no attribute 'items' when editing a VoiceChannel

这行代码

await channel.edit(user_limit=0, name="|Dormant", overwrites=discord.PermissionOverwrite(read_messages = False))

采购自

elif before.channel is not None and after.channel is None: # User left a channel
        channel = before.channel
        if len(channel.members) == 0:
            print("debug 3")
            if str(channel.name).startswith("Currently"):
                print("debug 4")
                await channel.edit(user_limit=0, name=":zzz:|Dormant", overwrites=discord.PermissionOverwrite(read_messages = False))
                await asyncio.sleep(600)
                await channel.edit(name="Waiting for game to be played...", roles=None, reason="The voice channel was empty")
                await channel.set_permissions(role=discord.Role.name())

Returns

AttributeError: 'PermissionOverwrite' object has no attribute 'items'

采购自

Ignoring exception in on_voice_state_update
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "z:\Programming\Python\Discord Bots\Channel name changer\main.py", line 37, in on_voice_state_update
    await channel.edit(user_limit=0, name="|Dormant", overwrites=discord.PermissionOverwrite(read_messages = False))
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\channel.py", line 733, in edit
    await self._edit(options, reason=reason)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\abc.py", line 289, in _edit
    for target, perm in overwrites.items():
AttributeError: 'PermissionOverwrite' object has no attribute 'items'

为什么会 return 那个错误,需要解决代码中的哪些问题才能使其正常运行?

如果您希望覆盖适用于所有人,您需要使用 @everyone role for set_permissions

await channel.set_permissions(
  ctx.guild.default_role,  # applies it to @everyone of the guild
  overwrite=discord.PermissionOverwrite(read_messages=False)
)