mirror of
https://github.com/kirameki-cafe/Yumi.git
synced 2026-09-13 18:59:19 +00:00
Fix music player crash if resource can't be stream
This commit is contained in:
@@ -61,6 +61,21 @@ const EMBEDS = {
|
|||||||
user: (data instanceof Interaction) ? data.user : data.author
|
user: (data instanceof Interaction) ? data.user : data.author
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
LOOKUP_ERROR: (data: Message | Interaction, error: Error) => {
|
||||||
|
|
||||||
|
let errorMessage = "";
|
||||||
|
|
||||||
|
if(error.message === "While getting info from url\nPrivate video")
|
||||||
|
errorMessage = "This is a private video";
|
||||||
|
else
|
||||||
|
errorMessage = error.message.replace("While getting info from url\n", "").replace("While getting info from url", "");
|
||||||
|
|
||||||
|
return makeErrorEmbed({
|
||||||
|
title: `Error while looking up the song`,
|
||||||
|
description: `${errorMessage}`,
|
||||||
|
user: (data instanceof Interaction) ? data.user : data.author
|
||||||
|
});
|
||||||
|
},
|
||||||
}
|
}
|
||||||
export default class Play extends DiscordModule {
|
export default class Play extends DiscordModule {
|
||||||
|
|
||||||
@@ -201,7 +216,10 @@ export default class Play extends DiscordModule {
|
|||||||
|
|
||||||
if (!instance) return;
|
if (!instance) return;
|
||||||
|
|
||||||
let result = await DiscordMusicPlayer.searchYouTubeByYouTubeLink(DiscordMusicPlayer.parseYouTubeLink(interaction.values[0]));
|
let result = await DiscordMusicPlayer.searchYouTubeByYouTubeLink(DiscordMusicPlayer.parseYouTubeLink(interaction.values[0])).catch((err) => {
|
||||||
|
sendHybridInteractionMessageResponse(hybridData, { embeds: [EMBEDS.LOOKUP_ERROR(hybridData.getRaw(), err)] }, true);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
if (!result) return;
|
if (!result) return;
|
||||||
|
|
||||||
instance.addTrackToQueue(result);
|
instance.addTrackToQueue(result);
|
||||||
@@ -263,7 +281,10 @@ export default class Play extends DiscordModule {
|
|||||||
return await sendHybridInteractionMessageResponse(data, { embeds: [EMBEDS.ADDED_SONGS_QUEUE(data.getRaw(), songs)] }, true);
|
return await sendHybridInteractionMessageResponse(data, { embeds: [EMBEDS.ADDED_SONGS_QUEUE(data.getRaw(), songs)] }, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = await DiscordMusicPlayer.searchYouTubeByYouTubeLink(linkData);
|
let result = await DiscordMusicPlayer.searchYouTubeByYouTubeLink(linkData).catch((err) => {
|
||||||
|
sendHybridInteractionMessageResponse(data, { embeds: [EMBEDS.LOOKUP_ERROR(data.getRaw(), err)] }, true);
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
if (!result) return;
|
if (!result) return;
|
||||||
|
|
||||||
|
|||||||
@@ -168,13 +168,19 @@ export class DiscordMusicPlayerInstance {
|
|||||||
|
|
||||||
if (!this.voiceConnection) throw new Error("No voice connection");
|
if (!this.voiceConnection) throw new Error("No voice connection");
|
||||||
|
|
||||||
const stream = await playdl.stream(track.url);
|
try {
|
||||||
const resource = createAudioResource(stream.stream, {
|
const stream = await playdl.stream(track.url);
|
||||||
inputType: stream.type
|
const resource = createAudioResource(stream.stream, {
|
||||||
});
|
inputType: stream.type
|
||||||
|
});
|
||||||
|
|
||||||
|
this.player.play(resource)
|
||||||
|
this.voiceConnection.subscribe(this.player)
|
||||||
|
} catch (error: any) {
|
||||||
|
this.events.emit('error', new PlayerErrorEvent(this, error));
|
||||||
|
this.skipTrack();
|
||||||
|
}
|
||||||
|
|
||||||
this.player.play(resource)
|
|
||||||
this.voiceConnection.subscribe(this.player)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async skipTrack() {
|
public async skipTrack() {
|
||||||
|
|||||||
Reference in New Issue
Block a user