Discord JS Заказ каналов и ролей - PullRequest
0 голосов
/ 24 февраля 2020

Итак, я пытался использовать бота для создания каналов и ролей и упорядочения их. Создать их очень легко, но когда я пытаюсь установить параметр 'Position', то (DiscordAPI или Discord JS) его игнорирует, и порядок странный. Может кто-нибудь объяснить мне, как работает система упорядочения и как я могу позиционировать роли и каналы?

Я использовал объект ChannelData при создании канала для установки позиции; После этого я попытался использовать setPosition () на канале

. Не сработало. Они всегда упорядочены (или расположены) в той же последовательности, в которой они были созданы. В то время как первый, который я создаю, находится в самом низу, а последний вверху. (Как в стеке), а для ролей все наоборот.

message.guild.createChannel('test',{'type':'text'}).then(channel => {
 channel.setPosition(3);
});

1 Ответ

0 голосов
/ 24 февраля 2020

https://discord.js.org/# / docs / main / stable / class / TextChannel

В вашем коде объекты для текстовых и голосовых каналов упорядочены в порядке их создания.
Однако они владеют свойствами calculatedPosition и position, что вы и видите. Используя setPosition, вы перезаписываете значение для position и, таким образом, можете визуально перемещать канал. Объект в коде будет по-прежнему упорядочен по времени их создания, и это предусмотрено проектом.

Роли работают аналогично.

Что касается различия междувычисленным положением и положением. Я предполагаю, что это как-то связано с видимыми и скрытыми каналами.

...