将角色添加到文本 Channels discord.py discord bot

我正在尝试创建一个创建 Channels 的discord bot,然后将其权限添加到特定角色 .

这是添加 Channels 的代码:

server = message.server
    everyone = discord.PermissionOverwrite(read_messages=False, send_messages=False)
    mine = discord.PermissionOverwrite(read_messages=True)
    await client.create_channel(server, 'secret', (server.default_role, everyone), (server.me, mine))
    overwrite = discord.PermissionOverwrite(read_messages=True, send_messages=True)
    await client.edit_channel_permissions(message.channel,  discord.utils.get(server.roles, name="InFight"), overwrite)

因此机器人添加了通道,但没有赋予角色“InFight”指定的权限 . 知道问题是什么吗?我认为这是我提到这个角色的方式 .

回答(1)

2 years ago

我对discord.py不是很熟悉,但考虑到你正在搜索角色,它可能会返回一个列表 . 你应该尝试获得第一个结果

rolesearch = discord.utils.get(server.roles, 
 name="InFight")
await client.edit_channel_permissions(message.channel, 
 rolesearch[0], overwrite)

编辑:还要确保您的机器人具有适当的权限