music: woo! parsing hlswith regex! woo! yeah!
This commit is contained in:
parent
ecaea6b9e2
commit
964dc27308
1 changed files with 13 additions and 3 deletions
|
@ -184,6 +184,7 @@ async function createVoiceConnection(guild_id, voice_id, text_id) {
|
|||
return state;
|
||||
}
|
||||
|
||||
const REGEX_HLS_AUDIO_TRACK = /#EXT-X-MEDIA:URI="(.+?)",TYPE=AUDIO,/;
|
||||
async function enqueue({
|
||||
guild_id,
|
||||
voice_id,
|
||||
|
@ -233,14 +234,23 @@ async function enqueue({
|
|||
thumbnail = info?.thumbnailUrl;
|
||||
|
||||
const hlsUrl = new URL(info.hls);
|
||||
media = Readable.from(
|
||||
await fetch(info.hls)
|
||||
const hlsBase = await fetch(info.hls)
|
||||
.then((res) => res.text())
|
||||
.then((data) =>
|
||||
data.replaceAll(
|
||||
"/api/manifest/",
|
||||
`https://${hlsUrl.hostname}/api/manifest/`
|
||||
)
|
||||
);
|
||||
|
||||
media = Readable.from(
|
||||
await fetch(hlsBase.match(REGEX_HLS_AUDIO_TRACK)[1])
|
||||
.then((res) => res.text())
|
||||
.then((data) =>
|
||||
data.replaceAll(
|
||||
"/videoplayback/",
|
||||
`https://${hlsUrl.hostname}/videoplayback/`
|
||||
)
|
||||
)
|
||||
);
|
||||
} else if (type == "sc") {
|
||||
|
|
Loading…
Reference in a new issue