我们如何设置特定频道的权限 (discord.py)

How can we set permissions to a specific channel (discord.py)

我尝试在特定频道(之前定义)上设置权限,但它不起作用。我希望频道是特定频道,而不是基于 await ctx.channel.set_permissions(role, send_messages=False)

的频道

这是我用来设置无效权限的行。频道是特定频道的ID:

await channel.set_permissions(role, overwrite = None, send_messages=False)

在尝试调用 set_permissions 之前,您需要获取具有 id 的频道对象。此外,您不能将 overwrite 与其他权限 kwargs 混合使用。

channel 是频道的 id:

channel_obj = bot.get_channel(channel)
await channel_obj.set_permissions(role, send_messages=False)

代替overwrite=None, send_messages=False你可以这样做:

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
await channel_obj.set_permissions(role, overwrite=overwrite)