Мне нужно получить категорию в discord.py

Мне нужно чтобы новый канал создавался в той же категории, где происходит bot.event. У меня create_text_channel категорию по какой то причине указывает none и мне нужно как то получить категорию, в документации я не нашел,уже очень долго не могу решить эту проблему.

Мой код:

ticket_channel = await payload.member.guild.create_text_channel('cool-channel')

Что выводит: введите сюда описание изображения

Если что вот фулл bot.event:

@bot.event
async def on_raw_reaction_add(payload):
    print(discord.CategoryChannel.category)
    if payload.message_id == 784376584824029245:
        if payload.emoji.id == 699160204205621299:
            ticket_channel = await payload.member.guild.create_text_channel(name='cool-channel)

Ответы (1 шт):

Автор решения: denisnumb

Примерно месяц назад шлюз дискорда был обновлен и теперь для того чтобы работать с объектами пользователей, а также с объектами серверов нужно выдавать намерения (intents). У вас проблема как раз таки в том, что скорее всего вы не выдали боту необходимые намерения. Чтобы их выдать, вам нужно при инициализации бота, помимо префикса указать также намерения.

Выдаем боту намерения при объявлении:

# если у вас discord.Client()
bot = discord.Client(intents = discord.Intents.all())

# если у вас commands.Bot()
bot = commands.Bot(command_prefix='/', intents = discord.Intents.all())

Если проблема осталась, то попробуйте включить два пункта на странице вашего бота. Для этого зайдите в раздел приложений и выберите вашего бота. Затем, слева, на вкладке "Bot"

Бот

Включите параметры PRESENCE INTENT и SERVER MEMBERS INTENT

введите сюда описание изображения

→ Ссылка