【问题标题】:The constructor DefaultShardManagerBuilder() is deprecated (DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();)构造函数 DefaultShardManagerBuilder() 已弃用(DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();)
【发布时间】:2020-12-29 20:54:24
【问题描述】:

我做错了什么? 它告诉我:构造函数 DefaultShardManagerBuilder() 已弃用但是为什么以及如何修复它(这是我的第一个代码)

public class DonaldBot {
    
    public ShardManager shardMan;

    public static void main(String[] args)  {
        try {
            new DonaldBot();
        } catch (LoginException | IllegalArgumentException e) {
            e.printStackTrace();
        }
        
    }
    
    public DonaldBot() throws LoginException, IllegalArgumentException {
        DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
        builder.setToken("NzUzNjI0NzU0MDI3NjI2NTg2.X1o5vw.1oT_Hhn6FVaZf8ewIHOkrTcEU-M");
        
        builder.setActivity(Activity.watching("Chil Ecke"));
        builder.setStatus(OnlineStatus.ONLINE);
        
        builder.addEventListeners(new CommandListener());
        
        
        this.shardMan = builder.build();
        System.out.println("[Donald] Bot Online.");

【问题讨论】:

  • 来自 DefaultShardManagerBuilder 类的 javadoc由于对 discord api 网关的重大更改,您现在需要明确说明您的机器人需要哪些事件。出于这个原因,我们已更改为需要设置网关意图的新工厂方法。请改用create(Collection)

标签: java discord-jda


【解决方案1】:

根据documentation,“由于对 discord api 网关的重大更改,您现在需要明确说明您的机器人需要哪些事件。”。这回答了您问题的“为什么”部分。

关于“我该如何解决”,我会尝试DefaultShardManagerBuilder builder = DefaultShardManagerBuilder.create(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 2013-10-28
    • 2021-09-10
    • 2017-12-04
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多