Как проверить, является ли канал каналом сообщества внутри гильдии? Примеры канала сообщества: announcements
roles
rules
. Есть ли способ определить, используется ли канал администраторами для какой-либо специальной цели, кроме общего обсуждения? Этот вопрос относится к каналам внутри сервера, а не к самим серверам.
Отвечает ли это на ваш вопрос? Определите, является ли сервер сообществом в discord.js v12 Если нет, не могли бы вы уточнить вопрос? Проблемы с вашей терминологией.
Прямого способа сделать это нет, поскольку эти каналы определяются пользователями неофициально. Вместо этого вы можете проверить разрешения канала и сделать предположения на основе этих настроек. Проблема в том, что серверы могут иметь совершенно разные способы использования разрешений ролей, что делает это менее эффективным. Также нет прямого способа проверить, но вот один из способов сделать это:
let isThisACommunityChannel = null;
let {id} = message.guild.defaultRole, // get the ID of defaultRole
let overwrites = message.channel.permissionOverwrites.get(id); // get the permissionOverwrites for that role
// If the overwrites exist and SEND_MESSAGES is set to false, then it's already locked
if (overwrites && overwrites.SEND_MESSAGES === false) {
// The default role can't message here, so there's a good chance it's a special channel
communityChannel = true;
} else {
communityChannel = false;
}
Да, это немного похоже на это, но я просто хочу определить, является ли канал каналом сообщества, таким как канал объявлений или канал правил...
Ах, я понимаю, что вы имеете в виду. Поскольку эти типы каналов на самом деле не определяются разногласиями, я уверен, что прямого способа сделать это нет. Возможно, вы могли бы фильтровать по разрешениям канала. Например, проверьте разрешения на публикацию.
Нашел способ сделать это. Проверьте мой ответ :)
Хорошо, я понимаю, что ты имеешь в виду, и это неплохая идея. Поэтому мой бот будет проверять разные разрешения, чтобы проверить это. Спасибо !
Прошу прощения, а что такое канал сообщества?? Вы имеете в виду, как в канале объявлений? Или форумный канал? Пожалуйста, подумайте о том, чтобы быть более точным в своем вопросе, включив изображения, или подумайте о том, чтобы прочитать, как задать панель вопросов при публикации вопроса.