discord.py 在特定类别中创建文本频道

discord.py creating text channel in a specific category

我想在某个类别中创建一个文本频道,但是我得到了这个错误: A​​ttributeError: 'int' 对象没有属性 'id' 这是代码:

overwrites = {
        guild.default_role: discord.PermissionOverwrite(read_messages=False),
        guild.me: discord.PermissionOverwrite(read_messages=True)  
    }
    category = ctx.guild.categories[2].id
    await guild.create_text_channel(name='test', category=category, overwrites=overwrites)

我查看了 API 参考资料,但没有找到任何内容。我不知道该怎么办。

您需要将 CategoryChannel 对象直接传递给 create_text_channel,而不是它的 ID。您可以使用 CategoryChannel.create_text_channel 方法作为快捷方式:

overwrites = {
    guild.default_role: discord.PermissionOverwrite(read_messages=False),
    guild.me: discord.PermissionOverwrite(read_messages=True)  
}
await ctx.guild.categories[2].create_text_channel(name='test', category=category, overwrites=overwrites)