Skip to content

Commit 4e62f3e

Browse files
Get rid of deferReply for music commands
1 parent 0aee300 commit 4e62f3e

9 files changed

Lines changed: 31 additions & 41 deletions

File tree

src/main/java/technobot/commands/music/PauseCommand.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,16 @@ public PauseCommand(TechnoBot bot) {
2323

2424
@Override
2525
public void execute(SlashCommandInteractionEvent event) {
26-
event.deferReply().queue();
2726
MusicHandler music = bot.musicListener.getMusic(event, false);
2827
if (music == null) return;
2928

3029
if (music.isPaused()) {
3130
String text = "The player is already paused!";
32-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
31+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
3332
} else {
34-
String text = ":pause_button: Paused the music player!";
33+
String text = ":pause_button: Paused the music player.";
3534
music.pause();
36-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
35+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
3736
}
3837
}
3938
}

src/main/java/technobot/commands/music/PlayCommand.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,22 @@ public PlayCommand(TechnoBot bot) {
2929
}
3030

3131
public void execute(SlashCommandInteractionEvent event) {
32-
event.deferReply().queue();
3332
String song = event.getOption("song").getAsString();
34-
3533
MusicHandler music = bot.musicListener.getMusic(event, true);
3634
if (music == null) return;
3735

3836
// Check if member is in the right voice channel
3937
AudioChannel channel = event.getMember().getVoiceState().getChannel();
4038
if (music.getPlayChannel() != channel) {
4139
String text = "You are not in the same voice channel as TechnoBot!";
42-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
40+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
4341
return;
4442
}
4543

4644
// Cannot have more than 100 songs in the queue
4745
if (music.getQueue().size() >= 100) {
4846
String text = "You cannot queue more than 100 songs!";
49-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
47+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
5048
return;
5149
}
5250

@@ -73,7 +71,7 @@ public void execute(SlashCommandInteractionEvent event) {
7371
bot.musicListener.addTrack(event, url);
7472
} catch (IndexOutOfBoundsException e) {
7573
String text = "Please specify a song a to play.";
76-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
74+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
7775
}
7876
}
7977
}

src/main/java/technobot/commands/music/RepeatCommand.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,16 @@ public RepeatCommand(TechnoBot bot) {
2323

2424
@Override
2525
public void execute(SlashCommandInteractionEvent event) {
26-
event.deferReply().queue();
2726
MusicHandler music = bot.musicListener.getMusic(event, false);
2827
if (music == null) return;
2928

3029
music.loop();
3130
String text;
3231
if (music.isLoop()) {
33-
text = ":repeat_one: Loop Enabled!";
32+
text = ":repeat: Repeat has been enabled.";
3433
} else {
35-
text = ":repeat_one: Loop Disabled!";
34+
text = ":repeat: Repeat has been disabled.";
3635
}
37-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
36+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
3837
}
3938
}

src/main/java/technobot/commands/music/ResumeCommand.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,16 @@ public ResumeCommand(TechnoBot bot) {
2323

2424
@Override
2525
public void execute(SlashCommandInteractionEvent event) {
26-
event.deferReply().queue();
2726
MusicHandler music = bot.musicListener.getMusic(event, false);
2827
if (music == null) return;
2928

3029
if (music.isPaused()) {
3130
music.unpause();
32-
String text = ":play_pause: Resuming the music player!";
33-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
31+
String text = ":play_pause: Resuming the music player.";
32+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
3433
} else {
3534
String text = "The player is not paused!";
36-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
35+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
3736
}
3837
}
3938
}

src/main/java/technobot/commands/music/SeekCommand.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public SeekCommand(TechnoBot bot) {
2727

2828
@Override
2929
public void execute(SlashCommandInteractionEvent event) {
30-
event.deferReply().queue();
3130
MusicHandler music = bot.musicListener.getMusic(event, false);
3231
if (music == null) return;
3332

@@ -51,20 +50,20 @@ public void execute(SlashCommandInteractionEvent event) {
5150

5251
// Make sure pos is not longer than track
5352
if (pos >= music.getQueue().getFirst().getDuration()) {
54-
String text = "Time cannot be longer than the song!";
55-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
53+
String text = "The timestamp cannot be longer than the song!";
54+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
5655
return;
5756
}
5857

5958
// Set position and send message
6059
music.seek(pos);
6160
String text = ":fast_forward: Set position to `" + MusicListener.formatTrackLength(pos) + "`";
62-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
61+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
6362

6463
} catch ( NumberFormatException | ArrayIndexOutOfBoundsException e) {
6564
// Invalid timestamps
6665
String text = "That is not a valid timestamp!";
67-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
66+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
6867
}
6968
}
7069
}

src/main/java/technobot/commands/music/SkipCommand.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package technobot.commands.music;
22

3-
import net.dv8tion.jda.api.entities.Message;
43
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
5-
import net.dv8tion.jda.api.requests.restaction.WebhookMessageAction;
4+
import net.dv8tion.jda.api.requests.restaction.interactions.ReplyCallbackAction;
65
import technobot.TechnoBot;
76
import technobot.commands.Category;
87
import technobot.commands.Command;
@@ -24,12 +23,11 @@ public SkipCommand(TechnoBot bot) {
2423
}
2524

2625
public void execute(SlashCommandInteractionEvent event) {
27-
event.deferReply().queue();
2826
MusicHandler music = bot.musicListener.getMusic(event, false);
2927
if (music == null) return;
3028

3129
music.skipTrack();
32-
WebhookMessageAction<Message> action = event.getHook().sendMessage(":fast_forward: Skipping...");
30+
ReplyCallbackAction action = event.reply(":fast_forward: Skipping...");
3331
if (music.getQueue().size() == 1) {
3432
action = action.addEmbeds(EmbedUtils.createDefault(":sound: The music queue is now empty!"));
3533
}

src/main/java/technobot/commands/music/StopCommand.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ public void execute(SlashCommandInteractionEvent event) {
2727
MusicHandler musicHandler = GuildData.get(event.getGuild()).musicHandler;
2828
if (musicHandler == null || musicHandler.getQueue().isEmpty()) {
2929
String text = "The music player is already stopped!";
30-
event.replyEmbeds(EmbedUtils.createError(text)).queue();
30+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
3131
} else {
3232
musicHandler.disconnect();
3333
event.getGuild().getAudioManager().closeAudioConnection();
34-
String text = EmbedUtils.BLUE_TICK + " Stopped the music player!";
34+
String text = ":stop_button: Stopped the music player.";
3535
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
3636
}
3737
}

src/main/java/technobot/commands/music/VolumeCommand.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,20 @@ public VolumeCommand(TechnoBot bot) {
2929

3030
@Override
3131
public void execute(SlashCommandInteractionEvent event) {
32-
event.deferReply().queue();
3332
int volume = event.getOption("amount").getAsInt();
34-
35-
MusicHandler music = bot.musicListener.getMusic(event, false);
33+
MusicHandler music = bot.musicListener.getMusic(event, true);
3634
if (music == null) return;
3735
try {
3836
if (volume < 0 || volume > 100) {
3937
throw new NumberFormatException();
4038
}
4139
music.setVolume(volume);
42-
String text = String.format(":loud_sound: Set volume to %s%%", volume);
43-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
40+
String text = String.format(":loud_sound: Set the volume to `%s%%`", volume);
41+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
4442
return;
4543
} catch (@NotNull NumberFormatException | ArrayIndexOutOfBoundsException ignored) {}
4644

4745
String text = "You must specify a volume between 0-100";
48-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
46+
event.replyEmbeds(EmbedUtils.createError(text)).queue();
4947
}
5048
}

src/main/java/technobot/listeners/MusicListener.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public MusicHandler getMusic(@NotNull SlashCommandInteractionEvent event, boolea
9191
// Check if user is in voice channel
9292
if (!inChannel(Objects.requireNonNull(event.getMember()))) {
9393
String text = "Please connect to a voice channel first!";
94-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
94+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
9595
return null;
9696
}
9797
// Bot should join voice channel if not already in one.
@@ -104,13 +104,13 @@ public MusicHandler getMusic(@NotNull SlashCommandInteractionEvent event, boolea
104104
if (!skipQueueCheck) {
105105
if (settings.musicHandler == null || settings.musicHandler.getQueue().isEmpty()) {
106106
String text = ":sound: There are no songs in the queue!";
107-
event.getHook().sendMessageEmbeds(EmbedUtils.createDefault(text)).queue();
107+
event.replyEmbeds(EmbedUtils.createDefault(text)).queue();
108108
return null;
109109
}
110110
// Check if member is in the right voice channel
111111
if (settings.musicHandler.getPlayChannel() != channel) {
112112
String text = "You are not in the same voice channel as TechnoBot!";
113-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(text)).queue();
113+
event.replyEmbeds(EmbedUtils.createError(text)).setEphemeral(true).queue();
114114
return null;
115115
}
116116
}
@@ -167,7 +167,7 @@ public void addTrack(SlashCommandInteractionEvent event, String url) {
167167

168168
@Override
169169
public void trackLoaded(@NotNull AudioTrack audioTrack) {
170-
event.getHook().sendMessage(":notes: | Added **"+audioTrack.getInfo().title+"** to the queue.").queue();
170+
event.reply(":notes: | Added **"+audioTrack.getInfo().title+"** to the queue.").queue();
171171
music.enqueue(audioTrack);
172172
}
173173

@@ -182,7 +182,7 @@ public void playlistLoaded(@NotNull AudioPlaylist audioPlaylist) {
182182
// Otherwise load first 100 tracks from playlist
183183
int total = audioPlaylist.getTracks().size();
184184
if (total > 100) total = 100;
185-
event.getHook().sendMessage(":notes: | Added **"+audioPlaylist.getName()+"** with `"+total+"` songs to the queue.").queue();
185+
event.reply(":notes: | Added **"+audioPlaylist.getName()+"** with `"+total+"` songs to the queue.").queue();
186186

187187
total = music.getQueue().size();
188188
for (AudioTrack track : audioPlaylist.getTracks()) {
@@ -196,13 +196,13 @@ public void playlistLoaded(@NotNull AudioPlaylist audioPlaylist) {
196196
@Override
197197
public void noMatches() {
198198
String msg = "That is not a valid song!";
199-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(msg)).queue();
199+
event.replyEmbeds(EmbedUtils.createError(msg)).setEphemeral(true).queue();
200200
}
201201

202202
@Override
203203
public void loadFailed(FriendlyException e) {
204204
String msg = "That is not a valid link!";
205-
event.getHook().sendMessageEmbeds(EmbedUtils.createError(msg)).queue();
205+
event.replyEmbeds(EmbedUtils.createError(msg)).setEphemeral(true).queue();
206206
}
207207
});
208208
}

0 commit comments

Comments
 (0)