Не удается разрешить метод buildAsync()

Раньше я разрабатывал бота на JavaScript, но, поскольку я много пишу на C++, я решил перейти на Java. Я нашел учебник, и они сказали мне, чтобы использовать Gradle. Я следовал инструкциям и теперь имею этот код:

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main {
    public static void main(String[] args) throws LoginException {
        JDABuilder builder = new JDABuilder(AccountType.BOT);
        String token = "Not telling";
        builder.setToken(token);
        builder.buildAsync();
    }
}

Но вот сообщение, которое я получаю от компилятора при запуске:

Error:(11, 16) java: cannot find symbol
  symbol:   method buildAsync()
  location: variable builder of type net.dv8tion.jda.api.JDABuilder

PS вот build.gradle, если нужно:

plugins {
    id 'java'
}

group 'com.discord-bot'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    compile 'net.dv8tion:JDA:4.ALPHA.0_67'
}

Любое предложение о том, что с этим делать?

2 ответа

Решение

Метод buildAsync() устарела и удалена в версии 4 net.dv8tion:JDA,

Так как вы используете версию 4.ALPHA.0_67 из net.dv8tion:JDA, вы должны использовать build() метод вместо:

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main {
    public static void main(String[] args) throws LoginException {
        JDABuilder builder = new JDABuilder(AccountType.BOT);
        String token = "Not telling";
        builder.setToken(token);
        builder.build();
    }
}

Кроме того, вы можете понизить версию net.dv8tion:JDA:3.8.3_462, Но тогда вам придется изменить некоторые виды импорта, поскольку они также были изменены.

Проверьте Javadoc для версии. Вы используете 4.0-альфа. Этот метод может быть удален в версии, которую вы использовали.

В настоящее время jda 4.2.0 меняет кучу вещей, поэтому код будет больше похож на

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main {
    public static void main(String[] args) throws LoginException {
        JDABuilder builder = JDABuilder.createDefault("your token");

        builder.build();
    }
}
Другие вопросы по тегам