#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);