Разрывы Строк В Команде Объявления Не Работают

#java #discord #discord-jda

Вопрос:

В настоящее время я изучаю Java и решил поработать над ботом discord просто для развлечения, но столкнулся с проблемой. Я работал над командой объявления, которая отправляла бы объявление на определенный канал, но проблема в том, что разрывы строк не отображаются на выходе при вводе (Примечание: я использую обычные разрывы строк «shift enter», я не использую «n»). Например, вот данные, которые я ввел в:

 -announce Hello there! Hope you're having a wonderful day!

Hello there again! I hope YOU'RE having a wonderful day!

Test

Test
 

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

Это мой код:

 @Override
    public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
        String[] args = event.getMessage().getContentRaw().split("\s ");
        String msg = event.getMessage().getContentRaw();
        if (args[0].equalsIgnoreCase("-announce")) {
            if (args.length < 2) {

                EmbedBuilder embed = new EmbedBuilder();
                embed
                        .setDescription("Usage: -announce <test>")
                        .setColor(Color.CYAN);
                event.getChannel().sendMessage(embed.build()).queue();
                embed.clear();
            } else {
                try {
                    TextChannel textChannel = event.getJDA().getTextChannelById("CHANNEL-ID");
                    if (textChannel.canTalk()) {
                        EmbedBuilder embed = new EmbedBuilder();
                        String message = "";
                        for (int i = 1; i < args.length; i  ) {
                            message  = args[i]   " ";
                        }
                        embed

                                .setColor(Color.CYAN)
                                .setDescription(message);
                        textChannel.sendMessage(embed.build()).queue();
                        embed.clear();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
 

Ответ №1:

Вы удаляете все новые строки с помощью своего split("\s ") . Вместо этого вам следует использовать substring :

 String message = msg.substring(msg.indexOf(' ')   1);
embed.setDescription(message);