discord-player-youtubei
Advanced tools
Comparing version 1.3.6-beta.2 to 1.3.6
@@ -5,3 +5,3 @@ import Innertube from 'youtubei.js'; | ||
import { Track } from 'discord-player'; | ||
import { Y as YoutubeiExtractor } from '../Youtube-Chsd4sLw.js'; | ||
import { Y as YoutubeiExtractor } from '../Youtube-Bv5_7O44.js'; | ||
import { PassThrough } from 'stream'; | ||
@@ -8,0 +8,0 @@ import 'undici'; |
@@ -1,3 +0,3 @@ | ||
import { Y as YoutubeiExtractor } from './Youtube-Chsd4sLw.js'; | ||
export { A as AsyncTrackingContext, P as PeerInfo, Q as QueryBridgeModes, R as RefreshInnertubeOptions, S as StreamOptions, T as TrustedTokenConfig, a as YoutubeiOptions } from './Youtube-Chsd4sLw.js'; | ||
import { Y as YoutubeiExtractor } from './Youtube-Bv5_7O44.js'; | ||
export { A as AsyncTrackingContext, P as PeerInfo, Q as QueryBridgeModes, R as RefreshInnertubeOptions, S as StreamOptions, T as TrustedTokenConfig, a as YoutubeiOptions } from './Youtube-Bv5_7O44.js'; | ||
import Innertube, { OAuth2Tokens } from 'youtubei.js'; | ||
@@ -4,0 +4,0 @@ import * as youtubei_js_agnostic from 'youtubei.js/agnostic'; |
@@ -88,3 +88,2 @@ "use strict"; | ||
var import_youtubei6 = __toESM(require("youtubei.js")); | ||
var import_extractor = require("@discord-player/extractor"); | ||
@@ -456,2 +455,11 @@ // lib/common/generateYTStream.ts | ||
// lib/Extractor/Youtube.ts | ||
var validPathDomains = /^https?:\/\/(youtu\.be\/|(www\.)?youtube\.com\/(embed|v|shorts)\/)/; | ||
var validQueryDomains = /* @__PURE__ */ new Set([ | ||
"youtube.com", | ||
"www.youtube.com", | ||
"m.youtube.com", | ||
"music.youtube.com", | ||
"gaming.youtube.com" | ||
]); | ||
var idRegex = /^[a-zA-Z0-9-_]{11}$/; | ||
var YoutubeiExtractor = class _YoutubeiExtractor extends import_discord_player.BaseExtractor { | ||
@@ -658,3 +666,3 @@ static identifier = "com.retrouser955.discord-player.discord-player-youtubei"; | ||
query = query.includes("youtube.com") ? query.replace(/(m(usic)?|gaming)\./, "") : query; | ||
if (!query.includes("list=RD") && import_extractor.YouTubeExtractor.validateURL(query)) | ||
if (!query.includes("list=RD") && _YoutubeiExtractor.validateURL(query)) | ||
context.type = import_discord_player.QueryType.YOUTUBE_VIDEO; | ||
@@ -890,2 +898,34 @@ if (context.type === import_discord_player.QueryType.YOUTUBE_PLAYLIST) { | ||
} | ||
static validateURL(link) { | ||
try { | ||
_YoutubeiExtractor.parseURL(link); | ||
return true; | ||
} catch { | ||
return false; | ||
} | ||
} | ||
// stolen from YoutubeExtractor | ||
static parseURL(link) { | ||
const parsed = new URL(link.trim()); | ||
let id = parsed.searchParams.get("v"); | ||
if (validPathDomains.test(link.trim()) && !id) { | ||
const paths = parsed.pathname.split("/"); | ||
id = parsed.host === "youtu.be" ? paths[1] : paths[2]; | ||
} else if (parsed.hostname && !validQueryDomains.has(parsed.hostname)) { | ||
throw Error("Not a YouTube domain"); | ||
} | ||
if (!id) { | ||
throw Error(`No video id found: "${link}"`); | ||
} | ||
id = id.substring(0, 11); | ||
if (!this.validateId(id)) { | ||
throw TypeError( | ||
`Video id (${id}) does not match expected format (${idRegex.toString()})` | ||
); | ||
} | ||
return id; | ||
} | ||
static validateId(id) { | ||
return idRegex.test(id.trim()); | ||
} | ||
}; | ||
@@ -892,0 +932,0 @@ |
{ | ||
"name": "discord-player-youtubei", | ||
"version": "1.3.6-beta.2", | ||
"version": "1.3.6", | ||
"description": "An unofficial package to test the use of youtubei in discord-player v6.", | ||
@@ -19,3 +19,3 @@ "main": "dist/index.js", | ||
"googlevideo": "^2.0.0", | ||
"happy-dom": "^15.7.4", | ||
"happy-dom": "^15.11.7", | ||
"prettier": "^3.3.3", | ||
@@ -27,4 +27,4 @@ "tsup": "^8.2.4", | ||
"tiny-typed-emitter": "^2.1.0", | ||
"undici": "^7.0.0", | ||
"youtubei.js": "^11.0.1" | ||
"undici": "^7.1.0", | ||
"youtubei.js": "^12.0.0" | ||
}, | ||
@@ -31,0 +31,0 @@ "scripts": { |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
72809
12
1547
1
+ Addedyoutubei.js@12.2.0(transitive)
- Removedyoutubei.js@11.0.1(transitive)
Updatedundici@^7.1.0
Updatedyoutubei.js@^12.0.0