@anubis465

Как найти канал в категории?

Я пытаюсь сделать проверку, есть ли уже такой канал в категории, но у меня не получается, код:
let categoryID = interaction.guild.channels.cache.find(c => c.name == "ИМЯ" && c.type == "GUILD_CATEGORY").children.find(c => c.name == `|${interaction.user.username}`) /
            if (!categoryID) {}
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
const { ChannelType } = require("discord.js")

// ... //

let channel = interaction.guild.channels.cache
    .find(channel => channel.name === "название_категории" && channel.type === ChannelType.GuildCategory)
    ?.children.cache
    .find(channel => channel.name === "название_канала")

здесь лучше будет использовать оператор опциональной цепочки, т.к в случае, если категория не будет найдена, метод .find() вернёт undefined, в связи с чем получится выражение undefined.children.cache.find(), что приведёт к ошибке Cannot read properties of undefined (reading 'children').

также обратите внимание, что в отличии от каналов, категории могут иметь названия с использованием верхнего и нижнего регистров, поэтому в коде это нужно учитывать.

63f0ebc3e6925995214467.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы