更改某个角色的频道权限 discord.py

时间:2021-04-07 17:31:36

标签: python python-3.x discord.py

我正在制作一个登录到另一个频道的临时命令,我拥有它,以便当没有名为“modlog”的频道时,它会创建一个,但到目前为止我拥有它,因此每个人都无法输入它,包括我。怎样才能让名为“Member”的角色不能只输入?

代码:

  `except:
  await ctx.send("No channel called 'modlog', creating one. (Note: Setup the permissions to allow 
  everyone to see the channel but cannot type in it")
  await asyncio.sleep(3)
  await ctx.send(":white_check_mark: Channel Created! :thumbsup:") 
  perms = ctx.channel.overwrites_for(ctx.guild.default_role)
  perms.send_messages=False
  await ctx.guild.create_text_channel(name='modlog', permissions=perms)
  logs = discord.utils.get(guild.text_channels, name="modlog")
  await logs.set_permissions(ctx.guild.default_role, send_messages=False)
  guild = ctx.guild
  modlog = discord.utils.get(guild.text_channels, name="modlog")
  await modlog.send(embed=kickEmbed)
  await modlog.send(embed=unmutelog)
  await ctx.send(embed=embed)`

1 个答案:

答案 0 :(得分:0)

这样做

modlog = discord.utils.get(guild.text_channels, name="modlog")
logs = discord.utils.get(guild.text_channels, name="modlog")
await logs.set_permissions(modlog , send_messages=False)

因此,您首先获得角色,然后更新频道权限。 ctx.guild.default_role 属于 everyone。 让我知道这是否适合您。