Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commands dont Work #129

Open
xXFlyingBananaXx opened this issue Jun 5, 2021 · 9 comments
Open

Commands dont Work #129

xXFlyingBananaXx opened this issue Jun 5, 2021 · 9 comments

Comments

@xXFlyingBananaXx
Copy link

xXFlyingBananaXx commented Jun 5, 2021

Hello,
I tried to make Commands, but it didnt Work.
I didnt found any issue Report that has kind of the same Problem, this is not an JDA Issue its an JDA-Utilities Issue.
I hvae the latest Version of both, the Bot is running on a BungeeCord Plugin but that worked fine with just JDA.

So the Real Problem i guess is that the Command doesnt get registered because even on the help command it doesnt show the Command, i tried to Debug with a simple sout but it didnt Print.

Here are my 2 Classes:
Main Class:


    public static void start(){



        try {
            JDABuilder bot = JDABuilder.createDefault("");
            CommandClientBuilder builder = new CommandClientBuilder();
            builder.setPrefix("f.");
            builder.setHelpWord("help");
            builder.setAlternativePrefix("f1.");
            builder.setOwnerId("847627635324354631");
            builder.addCommand(new ServerCommand());
            builder.setActivity(Activity.playing("Joine jetzt 'Tsukimi.de'"));
            builder.setStatus(OnlineStatus.ONLINE);

            CommandClient client = builder.build();
            bot.addEventListeners(client);
            bot.build();




            BCSystems.plugin.getProxy().getConsole().sendMessage(TextComponent.fromLegacyText("§9The Discord Bot has been successfully started"));
        }catch (LoginException e){
            e.printStackTrace();
        }

    }


}```

My Command Class:

public class ServerCommand extends Command {
public ServerCommand(){
this.name = "server";
this.aliases = new String[]{"s","ip"};
this.help = "Dieser Command gibt Informationen über den Server aus";

}
@Override
protected void execute(CommandEvent event) {
    List<String> list = new ArrayList<>();

    EmbedBuilder embedBuilder = new EmbedBuilder();
    embedBuilder.setTitle("Tsukimi.de");
    embedBuilder.setDescription("Joine Jetzt mit der 1.8.8 - 1.16.5");
    BCSystems.plugin.getProxy().getPlayers().forEach(proxiedPlayer -> {
        list.add(proxiedPlayer.getDisplayName());
    });
    if (list.isEmpty()){
        return;
    }else {
        embedBuilder.addField("Online Spieler",list.toString(),true);
    }

    System.out.println("Command geht eig?");
    event.getMessage().reply(embedBuilder.build()).queue();
}

}

I hope you can help me, thanks!

@Xirado
Copy link

Xirado commented Jun 5, 2021

While i can't tell you what's wrong with your code, all i can say is that this is certainly not a JDA-Utilities issue. You should ask for help on the JDA Discord in the jda-utilities channel.

@xXFlyingBananaXx
Copy link
Author

Well i did ask and they said its probably a Bug and i should do my own Command thing so :/

@Destitution-SC
Copy link

Destitution-SC commented Jun 5, 2021

Hey there,

I'm not sure if that's the actual problem but you're checking here "JDABuilder" it should be "JDA"
JDABuilder bot = JDABuilder.createDefault("");

JDA bot = JDABuilder.createDefault("");

@Xirado
Copy link

Xirado commented Jun 5, 2021

Hey there,

I'm not sure if that's the actual problem but you're checking here "JDABuilder" it should be "JDA"
JDABuilder bot = JDABuilder.createDefault("");

JDA bot = JDABuilder.createDefault("");

Nope, he is building the JDABuilder in the code

@Destitution-SC
Copy link

Oh yea right, i see. Then I'm not sure what's the problem.

@Andre601
Copy link
Contributor

Andre601 commented Jun 5, 2021

You should fix the formatting of your issue. Parts of the code blocks are messed up

@DManstrator
Copy link

JDA bot = JDABuilder.createDefault("");

That wouldn't even compile. It is just a bad naming.

@Bluedragonplayz2
Copy link

Your command should work. The only issue is there there is a return block in

 if (list.isEmpty()){
        return;
    }else {

soo if the BCSystem returned an empty list your bot wouldn't respond at all. There it may not be that your bot is not working it might be due to the return statement that stops the command from proceeding.
If not there shouldn't be any other issue, if the above is not your problem try checking your bots intends maybe something is messed up there

@Sanduhr32
Copy link

If the returned players is empty for some reason your list will also stay empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants