首页 > 解决方案 > 构造函数 DefaultShardManagerBuilder() 已弃用(DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();)

问题描述

我做错了什么? 它说我:构造函数 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.");

标签: javadiscord-jda

解决方案


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

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


推荐阅读