Как получить список членов гильдии с помощью Discord4J?

#java #discord4j

Вопрос:

Я использую Discord4J для доступа к сообщениям или каналам Discord. Это работает идеально.

Мне нужно получить список членов гильдии, чтобы знать, кто находится онлайн/оффлайн. Я думал, что с guild.GetMembers() у меня будет эта информация, но я не знаю почему, у меня вернулся только 1 участник, и статус отключен, когда на самом деле он онлайн.

Если я использую guild.getMemberCount(), у меня будет 10 участников.

Почему с:

 final List<Member> discordMembers = guild.getMembers().collectList().block(TIMEOUT);
 

У меня только 1 участник ?

В чем моя ошибка ?

Обновление : моя версия Discord4J-3.1.5

Ответ №1:

Я забыл включить переключатели «Намерение присутствия» и «Намерение участников сервера» на странице конфигурации бота (раздел Намерения привилегированного шлюза) портала разработчиков Discord.

Теперь это работает идеально.