#java
#java
Вопрос:
try {
final JDABuilder jdaBuilder = JDABuilder.createDefault(TOKEN_ID);
jdaBuilder.addEventListeners(new DiscordListener());
_jdaBuild = jdaBuilder.build();
} catch(final LoginException e) {
}
Я попытался использовать
_jdaBuild.getUserById(userId);
Но он всегда возвращает null. Я также попытался сделать для всей гильдии, затем для всех текстовых каналов, а затем для всех участников, но в журнале отображается только идентификатор бота из всех текстовых каналов. Не другие пользователи.
Как я могу получить базу пользователей по его идентификатору или имени из Гильдии и отправить ему личное?
Ответ №1:
Вам нужно использовать JDA#retrieveUserById(long)
, потому JDA#getUserById(long)
что работает только в том случае, если пользователь кэширован:
try {
final JDABuilder jdaBuilder = JDABuilder.createDefault(TOKEN_ID);
jdaBuilder.addEventListeners(new DiscordListener());
_jdaBuild = jdaBuilder.build();
} catch(final LoginException e) {
//...
}
//...
User user = _jdaBuild.retrieveUserById("...").complete();