discord.py 在特定类别中创建文本频道
discord.py creating text channel in a specific category
我想在某个类别中创建一个文本频道,但是我得到了这个错误:
AttributeError: '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)
我想在某个类别中创建一个文本频道,但是我得到了这个错误: AttributeError: '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)