How to find out the id of a category by its name, for example: the category is called «Main» and it is necessary that after the category is created, the id of this channel is recorded in the osnid variable in order to create a chat in it later, I tried to write the id by the name of the category, I created it like this:
await ctx.guild.create_text_channel(f»правила»,overwrites=None, category=»Основеное», reason=None)
But it gave an error that there should be an id attribute, I tried to make OSNid = id (input ( » . «)) after creating a category, the user was required to enter the category id, and in the command for the creation of a text channel was entered instead of the name OSNid, but it did not work out anyway, it was written that atrebut str and id is needed
Источник: over.wiki
Мне нужно получить категорию в discord.py
Мне нужно чтобы новый канал создавался в той же категории, где происходит bot.event. У меня create_text_channel категорию по какой то причине указывает none и мне нужно как то получить категорию, в документации я не нашел,уже очень долго не могу решить эту проблему.
Making a Discord Bot | Part 12: Cooldowns | Discord.py 2.0
ticket_channel = await payload.member.guild.create_text_channel(‘cool-channel’)
Что выводит:
Если что вот фулл bot.event:
Ответы (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
Источник: husl.ru
Как получить дискорд КАТЕГОРИИ?
у меня create_text_channel категорию по какой то причине указывает none и мне нужно как то получить категорию, в документации я не нашел.
ticket_channel = await payload.member.guild.create_text_channel(‘cool-channel’)
- Вопрос задан более двух лет назад
- 421 просмотр
Решения вопроса 1
Create a Music Discord bot using Python
Категория — всего лишь другой тип канала. Получить объект категории можно также как и любого другого канала:
await guild.create_text_channel(«channel_name», category=guild.get_channel(732068815788336617)) # или await guild.create_text_channel(«channel_name», category=discord.utils.get(guild.channels, name=»Category»)) # или await guild.get_channel(732068815788336617).create_text_channel(«channel_name») # или await discord.utils.get(guild.channels, name=»Category»).create_text_channel(«channel_name»)
Ответ написан более двух лет назад
Нравится Комментировать
Источник: qna.habr.com