【问题标题】:Set Permissions of created channel Discord.PY设置已创建频道 Discord.PY 的权限
【发布时间】:2021-07-07 02:56:12
【问题描述】:
所以我想向我的机器人添加一个错误报告命令,这是我的代码:
@client.command()
async def bug(ctx):
guild = ctx.message.guild
BugChannel = await guild.create_text_channel(f'bugreport {ctx.author.name}')
await ctx.send(f'{ctx.author.mention} Describe your Bug in <#{BugChannel.id}>')
我希望只有作者和具有特定角色的人才能查看 BugChannel
【问题讨论】:
标签:
python
permissions
discord
【解决方案1】:
您可以创建具有权限字典的文本频道。
您可以在Docs 中了解更多信息。
对于您的示例,它将是:
overwrites = {
guild.default_role: discord.PermissionOverwrite(view_channel=False),
ctx.author: discord.PermissionOverwrite(view_channel=True),
your_role: discord.PermissionOverwrite(view_channel=True)
}
channel = await ctx.guild.create_text_channel(f'bugreport {ctx.author.name}', overwrites=overwrites)
所以字典的键是Role 或User,值是PermissionOverwrite。
你也应该只使用ctx.guild insetad of ctx.message.guild