@@ -177,13 +177,13 @@ public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent even
177177 final long guildId = guild .getIdLong ();
178178 final Link link = this .client .getLink (guildId );
179179
180- link .loadItem (identifier ).subscribe (new AbstractAudioLoadResultHandler () {
181- @ Override
182- public void ontrackLoaded ( @ NotNull TrackLoaded result ) {
183- final Track track = result .getTrack ();
180+ link .loadItem (identifier ).subscribe (new FunctionalLoadResultHandler (
181+ // Track loaded
182+ ( trackLoad ) -> {
183+ final Track track = trackLoad .getTrack ();
184184
185185 // Inner class at the end of this file
186- var userData = new MyUserData (event .getUser ().getIdLong ());
186+ final var userData = new MyUserData (event .getUser ().getIdLong ());
187187
188188 track .setUserData (userData );
189189
@@ -212,19 +212,11 @@ public void ontrackLoaded(@NotNull TrackLoaded result) {
212212 event .getHook ().sendMessage ("Now playing: " + trackTitle + "\n Requested by: <@" + customData .requester () + '>' ).queue ();
213213 });
214214 }
215- }
216-
217- @ Override
218- public void onPlaylistLoaded (@ NotNull PlaylistLoaded result ) {
219- final int trackCount = result .getTracks ().size ();
220- event .getHook ()
221- .sendMessage ("This playlist has " + trackCount + " tracks!" )
222- .queue ();
223- }
224-
225- @ Override
226- public void onSearchResultLoaded (@ NotNull SearchResult result ) {
227- final List <Track > tracks = result .getTracks ();
215+ },
216+ null , // playlist loaded
217+ // search result loaded
218+ (search ) -> {
219+ final List <Track > tracks = search .getTracks ();
228220
229221 if (tracks .isEmpty ()) {
230222 event .getHook ().sendMessage ("No tracks found!" ).queue ();
@@ -239,18 +231,10 @@ public void onSearchResultLoaded(@NotNull SearchResult result) {
239231 .subscribe ((ignored ) -> {
240232 event .getHook ().sendMessage ("Now playing: " + firstTrack .getInfo ().getTitle ()).queue ();
241233 });
242- }
243-
244- @ Override
245- public void noMatches () {
246- event .getHook ().sendMessage ("No matches found for your input!" ).queue ();
247- }
248-
249- @ Override
250- public void loadFailed (@ NotNull LoadFailed result ) {
251- event .getHook ().sendMessage ("Failed to load track! " + result .getException ().getMessage ()).queue ();
252- }
253- });
234+ },
235+ null , // no matches
236+ null // load failed
237+ ));
254238
255239 break ;
256240 }
0 commit comments