|
6 | 6 | import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; |
7 | 7 | import com.sedmelluq.discord.lavaplayer.track.AudioTrack; |
8 | 8 | import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; |
9 | | -import com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo; |
10 | 9 | import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame; |
11 | 10 | import net.dv8tion.jda.api.EmbedBuilder; |
12 | 11 | import net.dv8tion.jda.api.audio.AudioSendHandler; |
13 | 12 | import net.dv8tion.jda.api.entities.AudioChannel; |
14 | | -import net.dv8tion.jda.api.entities.Guild; |
| 13 | +import net.dv8tion.jda.api.entities.MessageEmbed; |
15 | 14 | import net.dv8tion.jda.api.entities.TextChannel; |
16 | 15 | import org.jetbrains.annotations.NotNull; |
17 | 16 | import org.jetbrains.annotations.Nullable; |
@@ -233,26 +232,7 @@ public TrackScheduler(MusicHandler handler) { |
233 | 232 | */ |
234 | 233 | @Override |
235 | 234 | public void onTrackStart(AudioPlayer player, @NotNull AudioTrack track) { |
236 | | - //Grab Track Info |
237 | | - String duration = MusicListener.formatTrackLength(track.getInfo().length); |
238 | | - String thumb = getThumbnail(track); |
239 | | - String repeat = (handler.isLoop()) ? "Enabled" : "Disabled"; |
240 | | - |
241 | | - //Create Embed Message |
242 | | - handler.logChannel.sendMessageEmbeds( |
243 | | - new EmbedBuilder() |
244 | | - .setTitle("Now Playing") |
245 | | - .setDescription("[" + track.getInfo().title + "](" + track.getInfo().uri + ")") |
246 | | - .addField("Duration", "`"+duration+"`", true) |
247 | | - .addField("Queue", "`"+(handler.queue.size()-1)+"`", true) |
248 | | - .addField("Volume", "`"+handler.audioPlayer.getVolume()+"%`", true) |
249 | | - .addField("Requester", "<@!979590525428580363>", true) |
250 | | - .addField("Link", "[`Click Here`]("+track.getInfo().uri+")", true) |
251 | | - .addField("Repeat", "`"+repeat+"`", true) |
252 | | - .setColor(EmbedColor.DEFAULT.color) |
253 | | - .setThumbnail(thumb) |
254 | | - .build() |
255 | | - ).queue(); |
| 235 | + handler.logChannel.sendMessageEmbeds(displayTrack(track, handler)).queue(); |
256 | 236 | } |
257 | 237 |
|
258 | 238 | @Override |
@@ -294,11 +274,36 @@ public void onTrackStuck(@NotNull AudioPlayer player, AudioTrack track, long thr |
294 | 274 | * |
295 | 275 | * @return a URL to the song video thumbnail. |
296 | 276 | */ |
297 | | - public static String getThumbnail(AudioTrack track) { |
| 277 | + private static String getThumbnail(AudioTrack track) { |
298 | 278 | String domain = SecurityUtils.getDomain(track.getInfo().uri); |
299 | 279 | if (domain.equalsIgnoreCase("spotify") || domain.equalsIgnoreCase("apple")) { |
300 | 280 | return ((ISRCAudioTrack) track).getArtworkURL(); |
301 | 281 | } |
302 | 282 | return String.format("https://img.youtube.com/vi/%s/0.jpg", track.getInfo().uri.substring(32)); |
303 | 283 | } |
| 284 | + |
| 285 | + /** |
| 286 | + * Creates an embed displaying details about a track. |
| 287 | + * |
| 288 | + * @param track the track to display details about. |
| 289 | + * @param handler the music handler instance. |
| 290 | + * @return a MessageEmbed displaying track details. |
| 291 | + */ |
| 292 | + public static MessageEmbed displayTrack(AudioTrack track, MusicHandler handler) { |
| 293 | + String duration = MusicListener.formatTrackLength(track.getInfo().length); |
| 294 | + String repeat = (handler.isLoop()) ? "Enabled" : "Disabled"; |
| 295 | + String userMention = "<@!"+track.getUserData(String.class)+">"; |
| 296 | + return new EmbedBuilder() |
| 297 | + .setTitle("Now Playing") |
| 298 | + .setDescription("[" + track.getInfo().title + "](" + track.getInfo().uri + ")") |
| 299 | + .addField("Duration", "`"+duration+"`", true) |
| 300 | + .addField("Queue", "`"+(handler.queue.size()-1)+"`", true) |
| 301 | + .addField("Volume", "`"+handler.audioPlayer.getVolume()+"%`", true) |
| 302 | + .addField("Requester", userMention, true) |
| 303 | + .addField("Link", "[`Click Here`]("+track.getInfo().uri+")", true) |
| 304 | + .addField("Repeat", "`"+repeat+"`", true) |
| 305 | + .setColor(EmbedColor.DEFAULT.color) |
| 306 | + .setThumbnail(getThumbnail(track)) |
| 307 | + .build(); |
| 308 | + } |
304 | 309 | } |
0 commit comments