首页 > 解决方案 > 将角色添加到文本通道 discord.py discord bot

问题描述

我正在尝试制作一个不和谐的机器人来创建一个频道,然后将其权限添加到特定的角色。

这是添加通道的代码:

    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”角色指定的权限。知道问题是什么吗?我想这就是我提到这个角色的方式。

标签: pythonbotsdiscorddiscord.py

解决方案


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

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

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


推荐阅读