Мне нужно получить категорию в 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 шт):
Примерно месяц назад шлюз дискорда был обновлен и теперь для того чтобы работать с объектами пользователей, а также с объектами серверов нужно выдавать намерения (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


