Merge branch 'dev' into 'main'

Dev

See merge request illegitimate/illegitimate-bot!218
This commit is contained in:
2024-02-09 19:13:53 +00:00
9 changed files with 822 additions and 9 deletions

Binary file not shown.

View File

@@ -25,15 +25,19 @@
"author": "Taken",
"license": "GPL-3.0-only",
"dependencies": {
"@discord-player/extractor": "^4.4.6",
"axios": "^1.6.7",
"chalk": "^4.1.2",
"cron": "^3.1.6",
"discord-player": "^6.6.7",
"discord.js": "^14.14.1",
"dotenv": "^16.4.1",
"ioredis": "^5.3.2",
"mediaplex": "^0.0.9",
"mongoose": "^8.1.1",
"ms": "^2.1.3",
"pretty-ms": "^8.0.0"
"pretty-ms": "^8.0.0",
"youtube-ext": "^1.1.16"
},
"devDependencies": {
"@types/ms": "^0.7.34",

56
src/commands/music.ts Normal file
View File

@@ -0,0 +1,56 @@
import { PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
import { Command } from "interfaces"
import play from "./music/play"
import leave from "./music/leave"
import queue from "./music/queue"
export = {
name: "music",
description: "Subcommands for music commands",
dev: true,
public: false,
subcommands: true,
data: new SlashCommandBuilder()
.setName("music")
.setDescription("Subcommands for music commands")
.addSubcommand(subcommand =>
subcommand
.setName("play")
.setDescription("Play a song")
.addStringOption(option =>
option
.setName("query")
.setDescription("The song to play")
.setAutocomplete(true)
.setRequired(true)))
.addSubcommand(subcommand =>
subcommand
.setName("queue")
.setDescription("Show the queue"))
.addSubcommand(subcommand =>
subcommand
.setName("leave")
.setDescription("Leave the voice channel"))
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
async execute(interaction) {
const subcommand = interaction.options.getSubcommand()
if (subcommand === "play") {
play(interaction)
return
}
if (subcommand === "queue") {
queue(interaction)
return
}
if (subcommand === "leave") {
leave(interaction)
return
}
}
} as Command

View File

@@ -0,0 +1,26 @@
import { embedColor } from "config/options"
import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js"
export default async function leave(interaction: ChatInputCommandInteraction) {
const player = useMainPlayer()
const queue = player.queues.get(interaction.guildId!)
if (!queue) {
await interaction.reply({
embeds: [{
description: "There is no music playing",
color: embedColor
}]
})
return
}
queue.delete()
await interaction.reply({
embeds: [{
description: "Left the voice channel",
color: embedColor
}]
})
}

View File

@@ -0,0 +1,41 @@
import { embedColor } from "config/options"
import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction, GuildMember } from "discord.js"
export default async function play(interaction: ChatInputCommandInteraction) {
await interaction.deferReply()
const query = interaction.options.getString("query")!
const channel = (interaction.member as GuildMember).voice.channel
const player = useMainPlayer()
if (!channel) {
await interaction.editReply({
embeds: [{
description: "You need to be in a voice channel to play music",
color: embedColor
}]
})
return
}
const { track } = await player.play(channel, query, {
requestedBy: interaction.user,
nodeOptions: {
volume: 50,
}
})
await interaction.editReply({
embeds: [{
description: `Playing [${track.title}](${track.url})`,
thumbnail: {
url: track.thumbnail
},
color: embedColor,
footer: {
text: track.duration + " minutes",
icon_url: interaction.user.avatarURL()!
}
}]
})
}

View File

@@ -0,0 +1,30 @@
import { embedColor } from "config/options"
import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js"
export default async function queue(interaction: ChatInputCommandInteraction) {
await interaction.deferReply()
const player = useMainPlayer()
const queue = player.queues.get(interaction.guildId!)
if (!queue) {
await interaction.editReply("There is nothing playing")
return
}
const currentSong = queue.currentTrack
const nowPlaying = `Now playing: [${currentSong?.title}](${currentSong?.url})`
const tracks = queue.tracks.map((track, index) => {
return `${index + 1}. [${track.title}](${track.url})`
})
await interaction.editReply({
embeds: [{
description: nowPlaying + "\n\n" + tracks.join("\n"),
color: embedColor
}]
})
}

View File

@@ -0,0 +1,32 @@
import { QueryType, useMainPlayer } from "discord-player"
import { Autocomplete } from "interfaces"
export = {
name: "music",
description: "Music",
async execute(interaction) {
const focusedOption = interaction.options.getFocused(true)
if (interaction.options.getSubcommand() !== "play" && focusedOption.name !== "query") return
if (focusedOption.value === "") {
await interaction.respond([{
name: "Please start typing a song to play",
value: "none"
}])
return
}
const player = useMainPlayer()
const { tracks } = await player.search(focusedOption.value, {
searchEngine: QueryType.YOUTUBE_SEARCH
})
const results = tracks.map(track => ({
name: track.title,
value: track.url
}))
await interaction.respond(results.slice(0, 25)).catch()
}
} as Autocomplete

View File

@@ -4,8 +4,12 @@ import { Redis } from "ioredis"
import env from "utils/Env"
import { connect } from "mongoose"
import loadAllEvents from "./Events"
import { Player } from "discord-player"
const client = new Client()
const redis = new Redis(env.prod.redisURI!)
const player = new Player(client)
let ft: "js" | "ts"
if (process.env.NODE_ENV === "dev" && process.env.TYPESCRIPT === "true") {
ft = "ts"
@@ -15,10 +19,11 @@ if (process.env.NODE_ENV === "dev" && process.env.TYPESCRIPT === "true") {
class Illegitimate {
async start() {
this.init()
await this.init()
loadAllEvents(client, ft)
client.start()
this.databases()
await player.extractors.loadDefault()
await client.start()
await this.databases()
}
private async databases() {

629
yarn.lock
View File

@@ -30,6 +30,52 @@ __metadata:
languageName: node
linkType: hard
"@discord-player/equalizer@npm:^0.2.3":
version: 0.2.3
resolution: "@discord-player/equalizer@npm:0.2.3"
checksum: cee4625e5ae1e472350cfbdc67e31b7fd6a48ca7a98f237d0012db7e500f647b85574b36034a01e15b9ddf7a343cf5a1cb683525edc38b55fb8716ea846ce0f4
languageName: node
linkType: hard
"@discord-player/extractor@npm:^4.4.6":
version: 4.4.6
resolution: "@discord-player/extractor@npm:4.4.6"
dependencies:
file-type: "npm:^16.5.4"
genius-lyrics: "npm:^4.4.6"
isomorphic-unfetch: "npm:^4.0.2"
node-html-parser: "npm:^6.1.4"
reverbnation-scraper: "npm:^2.0.0"
soundcloud.ts: "npm:^0.5.2"
spotify-url-info: "npm:^3.2.6"
youtube-sr: "npm:^4.3.9"
checksum: e79e375ae41a9c0a21386e3f63f44d9703f21649c69b8e59a7833b8018bb69abfd833c95c42bbb045ba9e00b66e13ac2970210e252d7253871130725a59697ae
languageName: node
linkType: hard
"@discord-player/ffmpeg@npm:^0.1.0":
version: 0.1.0
resolution: "@discord-player/ffmpeg@npm:0.1.0"
checksum: e6fc79340227df15cfd6c3d8f5a732d247a9c05beb3d1187247d2d62374d0de6768092611462be8c43e05d71f3d26c672a54c0a1af20b06659d27cc4031e13e9
languageName: node
linkType: hard
"@discord-player/opus@npm:^0.1.2":
version: 0.1.2
resolution: "@discord-player/opus@npm:0.1.2"
checksum: 3f1fc5950a045a3691a11d002a2bc3a6d69bca7b9a2f0d13ecf7e10beaab80426306d653d704a678d306781fd854e268bb54ecaf56d0a17806060b1a7c969c4d
languageName: node
linkType: hard
"@discord-player/utils@npm:^0.2.2":
version: 0.2.2
resolution: "@discord-player/utils@npm:0.2.2"
dependencies:
"@discordjs/collection": "npm:^1.1.0"
checksum: 02a41b91229d4ed22a2e3b5301a0c101c266ec4a800f092a084edfb8ef8b9db047c8947d4dcdd496e33040b6bf328837a0111fa70dd58e34f016adb6b94b0f61
languageName: node
linkType: hard
"@discordjs/builders@npm:^1.7.0":
version: 1.7.0
resolution: "@discordjs/builders@npm:1.7.0"
@@ -45,7 +91,7 @@ __metadata:
languageName: node
linkType: hard
"@discordjs/collection@npm:1.5.3":
"@discordjs/collection@npm:1.5.3, @discordjs/collection@npm:^1.1.0":
version: 1.5.3
resolution: "@discordjs/collection@npm:1.5.3"
checksum: 54338e005e9a1c6a5c91464cbcc378a5bf74410ad5b8bba1961b80d0ec8f1eb1b768ea737ad03bcb62430ea84aa5561523318b739538b334115ed775630ca42c
@@ -281,6 +327,13 @@ __metadata:
languageName: node
linkType: hard
"@tokenizer/token@npm:^0.3.0":
version: 0.3.0
resolution: "@tokenizer/token@npm:0.3.0"
checksum: 7ab9a822d4b5ff3f5bca7f7d14d46bdd8432528e028db4a52be7fbf90c7f495cc1af1324691dda2813c6af8dc4b8eb29de3107d4508165f9aa5b53e7d501f155
languageName: node
linkType: hard
"@tsconfig/node10@npm:^1.0.7":
version: 1.0.9
resolution: "@tsconfig/node10@npm:1.0.9"
@@ -380,7 +433,7 @@ __metadata:
languageName: node
linkType: hard
"@types/ws@npm:^8.5.9":
"@types/ws@npm:^8.5.5, @types/ws@npm:^8.5.9":
version: 8.5.10
resolution: "@types/ws@npm:8.5.10"
dependencies:
@@ -625,6 +678,13 @@ __metadata:
languageName: node
linkType: hard
"boolbase@npm:^1.0.0":
version: 1.0.0
resolution: "boolbase@npm:1.0.0"
checksum: e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf
languageName: node
linkType: hard
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -775,6 +835,33 @@ __metadata:
languageName: node
linkType: hard
"css-select@npm:^5.1.0":
version: 5.1.0
resolution: "css-select@npm:5.1.0"
dependencies:
boolbase: "npm:^1.0.0"
css-what: "npm:^6.1.0"
domhandler: "npm:^5.0.2"
domutils: "npm:^3.0.1"
nth-check: "npm:^2.0.1"
checksum: 551c60dba5b54054741032c1793b5734f6ba45e23ae9e82761a3c0ed1acbb8cfedfa443aaba3a3c1a54cac12b456d2012a09d2cd5f0e82e430454c1b9d84d500
languageName: node
linkType: hard
"css-what@npm:^6.1.0":
version: 6.1.0
resolution: "css-what@npm:6.1.0"
checksum: a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746
languageName: node
linkType: hard
"data-uri-to-buffer@npm:^4.0.0":
version: 4.0.1
resolution: "data-uri-to-buffer@npm:4.0.1"
checksum: 20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b
languageName: node
linkType: hard
"date-fns@npm:^2.30.0":
version: 2.30.0
resolution: "date-fns@npm:2.30.0"
@@ -840,6 +927,44 @@ __metadata:
languageName: node
linkType: hard
"discord-api-types@npm:^0.37.50":
version: 0.37.69
resolution: "discord-api-types@npm:0.37.69"
checksum: 9a8b7f6808c5c9996b29d4b6fc2a58c1e9a4406a2d52bd87157d04ae4161a56595861e3826dd1845aa49cf422c8f0baa8b2052aafdd90349ca179e359c8f0040
languageName: node
linkType: hard
"discord-player@npm:^6.6.7":
version: 6.6.7
resolution: "discord-player@npm:6.6.7"
dependencies:
"@discord-player/equalizer": "npm:^0.2.3"
"@discord-player/ffmpeg": "npm:^0.1.0"
"@discord-player/utils": "npm:^0.2.2"
discord-voip: "npm:^0.1.3"
ip: "npm:^1.1.8"
libsodium-wrappers: "npm:^0.7.10"
peerDependencies:
"@discord-player/extractor": ^4.4.6
checksum: 9a9dd222bdd0c0f66c0409150e5713b0e5a5a722bbe2ce4778a6e4a8c7d06438d1155573b8d7a3dd3929a6eb78d85f168e108d859d35600c0eda9e485d8aaad2
languageName: node
linkType: hard
"discord-voip@npm:^0.1.3":
version: 0.1.3
resolution: "discord-voip@npm:0.1.3"
dependencies:
"@discord-player/ffmpeg": "npm:^0.1.0"
"@discord-player/opus": "npm:^0.1.2"
"@types/ws": "npm:^8.5.5"
discord-api-types: "npm:^0.37.50"
prism-media: "npm:^1.3.5"
tslib: "npm:^2.6.1"
ws: "npm:^8.13.0"
checksum: f62a52e6356e4aa639d79b0bac1e1b72a62efe4eade252097266750dc13abfe6b543f556e1851fff47fd37c270dc1078f5144025a868af49501fa9e75eb41348
languageName: node
linkType: hard
"discord.js@npm:^14.14.1":
version: 14.14.1
resolution: "discord.js@npm:14.14.1"
@@ -871,6 +996,44 @@ __metadata:
languageName: node
linkType: hard
"dom-serializer@npm:^2.0.0":
version: 2.0.0
resolution: "dom-serializer@npm:2.0.0"
dependencies:
domelementtype: "npm:^2.3.0"
domhandler: "npm:^5.0.2"
entities: "npm:^4.2.0"
checksum: d5ae2b7110ca3746b3643d3ef60ef823f5f078667baf530cec096433f1627ec4b6fa8c072f09d079d7cda915fd2c7bc1b7b935681e9b09e591e1e15f4040b8e2
languageName: node
linkType: hard
"domelementtype@npm:^2.3.0":
version: 2.3.0
resolution: "domelementtype@npm:2.3.0"
checksum: 686f5a9ef0fff078c1412c05db73a0dce096190036f33e400a07e2a4518e9f56b1e324f5c576a0a747ef0e75b5d985c040b0d51945ce780c0dd3c625a18cd8c9
languageName: node
linkType: hard
"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3":
version: 5.0.3
resolution: "domhandler@npm:5.0.3"
dependencies:
domelementtype: "npm:^2.3.0"
checksum: bba1e5932b3e196ad6862286d76adc89a0dbf0c773e5ced1eb01f9af930c50093a084eff14b8de5ea60b895c56a04d5de8bbc4930c5543d029091916770b2d2a
languageName: node
linkType: hard
"domutils@npm:^3.0.1":
version: 3.1.0
resolution: "domutils@npm:3.1.0"
dependencies:
dom-serializer: "npm:^2.0.0"
domelementtype: "npm:^2.3.0"
domhandler: "npm:^5.0.3"
checksum: 342d64cf4d07b8a0573fb51e0a6312a88fb520c7fefd751870bf72fa5fc0f2e0cb9a3958a573610b1d608c6e2a69b8e9b4b40f0bfb8f87a71bce4f180cca1887
languageName: node
linkType: hard
"dotenv@npm:^16.4.1":
version: 16.4.1
resolution: "dotenv@npm:16.4.1"
@@ -885,6 +1048,13 @@ __metadata:
languageName: node
linkType: hard
"entities@npm:^4.2.0":
version: 4.5.0
resolution: "entities@npm:4.5.0"
checksum: 5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250
languageName: node
linkType: hard
"escalade@npm:^3.1.1":
version: 3.1.1
resolution: "escalade@npm:3.1.1"
@@ -1050,6 +1220,16 @@ __metadata:
languageName: node
linkType: hard
"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
version: 3.2.0
resolution: "fetch-blob@npm:3.2.0"
dependencies:
node-domexception: "npm:^1.0.0"
web-streams-polyfill: "npm:^3.0.3"
checksum: 60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69
languageName: node
linkType: hard
"file-entry-cache@npm:^6.0.1":
version: 6.0.1
resolution: "file-entry-cache@npm:6.0.1"
@@ -1059,6 +1239,17 @@ __metadata:
languageName: node
linkType: hard
"file-type@npm:^16.5.4":
version: 16.5.4
resolution: "file-type@npm:16.5.4"
dependencies:
readable-web-to-node-stream: "npm:^3.0.0"
strtok3: "npm:^6.2.4"
token-types: "npm:^4.1.1"
checksum: a6c9ab8bc05bc9c212bec239fb0d5bf59ddc9b3912f00c4ef44622e67ae4e553a1cc8372e9e595e14859035188eb305d05d488fa3c5c2a2ad90bb7745b3004ef
languageName: node
linkType: hard
"fill-range@npm:^7.0.1":
version: 7.0.1
resolution: "fill-range@npm:7.0.1"
@@ -1117,6 +1308,15 @@ __metadata:
languageName: node
linkType: hard
"formdata-polyfill@npm:^4.0.10":
version: 4.0.10
resolution: "formdata-polyfill@npm:4.0.10"
dependencies:
fetch-blob: "npm:^3.1.2"
checksum: 5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6
languageName: node
linkType: hard
"fs.realpath@npm:^1.0.0":
version: 1.0.0
resolution: "fs.realpath@npm:1.0.0"
@@ -1124,6 +1324,16 @@ __metadata:
languageName: node
linkType: hard
"genius-lyrics@npm:^4.4.6":
version: 4.4.6
resolution: "genius-lyrics@npm:4.4.6"
dependencies:
node-html-parser: "npm:^6.1.9"
undici: "npm:^5.24.0"
checksum: ffbe44230c210ac60f67c8167ea2dac4eb3dddd2bde99d00382e9f29169207f058d58953ff296e917c8a88d14d77bb048dc9685ef45d0222f9bac58b14ab8f63
languageName: node
linkType: hard
"get-caller-file@npm:^2.0.5":
version: 2.0.5
resolution: "get-caller-file@npm:2.0.5"
@@ -1200,6 +1410,29 @@ __metadata:
languageName: node
linkType: hard
"he@npm:1.2.0":
version: 1.2.0
resolution: "he@npm:1.2.0"
bin:
he: bin/he
checksum: a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17
languageName: node
linkType: hard
"himalaya@npm:~1.1.0":
version: 1.1.0
resolution: "himalaya@npm:1.1.0"
checksum: 11df87d82125eba8016f9af55310aaeced9a32e597d448b6383212886c0221107335c0694e9cc94ab7bad4e831386c2f0ee178b3bdd34b291a5410514dc775b9
languageName: node
linkType: hard
"ieee754@npm:^1.2.1":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
checksum: b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
languageName: node
linkType: hard
"ignore@npm:^5.2.0, ignore@npm:^5.2.4":
version: 5.3.0
resolution: "ignore@npm:5.3.0"
@@ -1211,6 +1444,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "illegitimate-bot@workspace:."
dependencies:
"@discord-player/extractor": "npm:^4.4.6"
"@types/ms": "npm:^0.7.34"
"@types/node": "npm:^20.11.16"
"@typescript-eslint/eslint-plugin": "npm:^6.21.0"
@@ -1219,15 +1453,18 @@ __metadata:
chalk: "npm:^4.1.2"
concurrently: "npm:^8.2.2"
cron: "npm:^3.1.6"
discord-player: "npm:^6.6.7"
discord.js: "npm:^14.14.1"
dotenv: "npm:^16.4.1"
eslint: "npm:^8.56.0"
ioredis: "npm:^5.3.2"
mediaplex: "npm:^0.0.9"
mongoose: "npm:^8.1.1"
ms: "npm:^2.1.3"
pretty-ms: "npm:^8.0.0"
ts-node: "npm:^10.9.2"
typescript: "npm:^5.3.3"
youtube-ext: "npm:^1.1.16"
languageName: unknown
linkType: soft
@@ -1258,7 +1495,7 @@ __metadata:
languageName: node
linkType: hard
"inherits@npm:2":
"inherits@npm:2, inherits@npm:^2.0.3":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
@@ -1282,6 +1519,13 @@ __metadata:
languageName: node
linkType: hard
"ip@npm:^1.1.8":
version: 1.1.8
resolution: "ip@npm:1.1.8"
checksum: ab32a5ecfa678d4c158c1381c4c6744fce89a1d793e1b6635ba79d0753c069030b672d765887b6fff55670c711dfa47475895e5d6013efbbcf04687c51cb8db9
languageName: node
linkType: hard
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
@@ -1326,6 +1570,16 @@ __metadata:
languageName: node
linkType: hard
"isomorphic-unfetch@npm:^4.0.2":
version: 4.0.2
resolution: "isomorphic-unfetch@npm:4.0.2"
dependencies:
node-fetch: "npm:^3.2.0"
unfetch: "npm:^5.0.0"
checksum: 1727d85344818eaf798b569904f70313e8eafbc192d84400a3e646bb0b893a2e405727ee45ccac0fc3d41ee48561eaa5cdd55813131613d7f8a55031ed49103d
languageName: node
linkType: hard
"js-yaml@npm:^4.1.0":
version: 4.1.0
resolution: "js-yaml@npm:4.1.0"
@@ -1384,6 +1638,22 @@ __metadata:
languageName: node
linkType: hard
"libsodium-wrappers@npm:^0.7.10":
version: 0.7.13
resolution: "libsodium-wrappers@npm:0.7.13"
dependencies:
libsodium: "npm:^0.7.13"
checksum: 3de2c09a41991832333b379f4eefadd3113abb216c5be8d141eb053bbe904a4d529c01a4bbb8f46c1e2a987c3de1fb9adbb0cf7980155822e06504a38dc16cbb
languageName: node
linkType: hard
"libsodium@npm:^0.7.13":
version: 0.7.13
resolution: "libsodium@npm:0.7.13"
checksum: 91a65df81e123d8374b1dcfc1214970203139b4ac75c8032cc2ca390c6173f456d15dbdbf8b79115337086fc2f5a3faa8f96625d909a788125b6ead5894cd5f5
languageName: node
linkType: hard
"locate-path@npm:^6.0.0":
version: 6.0.0
resolution: "locate-path@npm:6.0.0"
@@ -1458,6 +1728,115 @@ __metadata:
languageName: node
linkType: hard
"mediaplex-android-arm64@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-android-arm64@npm:0.0.9"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"mediaplex-darwin-arm64@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-darwin-arm64@npm:0.0.9"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"mediaplex-darwin-universal@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-darwin-universal@npm:0.0.9"
conditions: os=darwin
languageName: node
linkType: hard
"mediaplex-darwin-x64@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-darwin-x64@npm:0.0.9"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"mediaplex-freebsd-x64@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-freebsd-x64@npm:0.0.9"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"mediaplex-linux-arm-gnueabihf@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-linux-arm-gnueabihf@npm:0.0.9"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"mediaplex-linux-x64-gnu@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-linux-x64-gnu@npm:0.0.9"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"mediaplex-win32-arm64-msvc@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-win32-arm64-msvc@npm:0.0.9"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"mediaplex-win32-ia32-msvc@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-win32-ia32-msvc@npm:0.0.9"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"mediaplex-win32-x64-msvc@npm:0.0.9":
version: 0.0.9
resolution: "mediaplex-win32-x64-msvc@npm:0.0.9"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"mediaplex@npm:^0.0.9":
version: 0.0.9
resolution: "mediaplex@npm:0.0.9"
dependencies:
mediaplex-android-arm64: "npm:0.0.9"
mediaplex-darwin-arm64: "npm:0.0.9"
mediaplex-darwin-universal: "npm:0.0.9"
mediaplex-darwin-x64: "npm:0.0.9"
mediaplex-freebsd-x64: "npm:0.0.9"
mediaplex-linux-arm-gnueabihf: "npm:0.0.9"
mediaplex-linux-x64-gnu: "npm:0.0.9"
mediaplex-win32-arm64-msvc: "npm:0.0.9"
mediaplex-win32-ia32-msvc: "npm:0.0.9"
mediaplex-win32-x64-msvc: "npm:0.0.9"
dependenciesMeta:
mediaplex-android-arm64:
optional: true
mediaplex-darwin-arm64:
optional: true
mediaplex-darwin-universal:
optional: true
mediaplex-darwin-x64:
optional: true
mediaplex-freebsd-x64:
optional: true
mediaplex-linux-arm-gnueabihf:
optional: true
mediaplex-linux-x64-gnu:
optional: true
mediaplex-win32-arm64-msvc:
optional: true
mediaplex-win32-ia32-msvc:
optional: true
mediaplex-win32-x64-msvc:
optional: true
checksum: ec79c6592260333a13440543813768b58d6532d3e505fe39bf87e42c525249d6fb95b9e5d97fafe1a4e2d0fccc0be0ed981c021e2e8459f7373b9e9b6bd1ef39
languageName: node
linkType: hard
"memory-pager@npm:^1.0.2":
version: 1.5.0
resolution: "memory-pager@npm:1.5.0"
@@ -1612,6 +1991,57 @@ __metadata:
languageName: node
linkType: hard
"node-domexception@npm:^1.0.0":
version: 1.0.0
resolution: "node-domexception@npm:1.0.0"
checksum: 5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b
languageName: node
linkType: hard
"node-fetch@npm:^2.6.0":
version: 2.7.0
resolution: "node-fetch@npm:2.7.0"
dependencies:
whatwg-url: "npm:^5.0.0"
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
checksum: b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8
languageName: node
linkType: hard
"node-fetch@npm:^3.2.0":
version: 3.3.2
resolution: "node-fetch@npm:3.3.2"
dependencies:
data-uri-to-buffer: "npm:^4.0.0"
fetch-blob: "npm:^3.1.4"
formdata-polyfill: "npm:^4.0.10"
checksum: f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538
languageName: node
linkType: hard
"node-html-parser@npm:^6.1.4, node-html-parser@npm:^6.1.9":
version: 6.1.12
resolution: "node-html-parser@npm:6.1.12"
dependencies:
css-select: "npm:^5.1.0"
he: "npm:1.2.0"
checksum: dfd75756b55642b37f8df91e79c35f38f2e6a48b01a309998e4b017c5cf3c98ab3c1edc54b707dfa32d36aff9b21076cd87bb1a93f97da4d0f0fe5e4e599daa5
languageName: node
linkType: hard
"nth-check@npm:^2.0.1":
version: 2.1.1
resolution: "nth-check@npm:2.1.1"
dependencies:
boolbase: "npm:^1.0.0"
checksum: 5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479
languageName: node
linkType: hard
"once@npm:^1.3.0":
version: 1.4.0
resolution: "once@npm:1.4.0"
@@ -1697,6 +2127,13 @@ __metadata:
languageName: node
linkType: hard
"peek-readable@npm:^4.1.0":
version: 4.1.0
resolution: "peek-readable@npm:4.1.0"
checksum: f9b81ce3eed185cc9ebbf7dff0b6e130dd6da7b05f1802bbf726a78e4d84990b0a65f8e701959c50eb1124cc2ad352205147954bf39793faba29bb00ce742a44
languageName: node
linkType: hard
"picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
@@ -1720,6 +2157,27 @@ __metadata:
languageName: node
linkType: hard
"prism-media@npm:^1.3.5":
version: 1.3.5
resolution: "prism-media@npm:1.3.5"
peerDependencies:
"@discordjs/opus": ">=0.8.0 <1.0.0"
ffmpeg-static: ^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0
node-opus: ^0.3.3
opusscript: ^0.0.8
peerDependenciesMeta:
"@discordjs/opus":
optional: true
ffmpeg-static:
optional: true
node-opus:
optional: true
opusscript:
optional: true
checksum: 3bd9f3b246c8ac7aa744d87d502f65280f5c5635555a08d8ff548da99f29ee2bf92c4696dab1e22c2e773f71f95a24ec4f06d82dea39f07c1d7b90956c56d173
languageName: node
linkType: hard
"proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
@@ -1741,6 +2199,26 @@ __metadata:
languageName: node
linkType: hard
"readable-stream@npm:^3.6.0":
version: 3.6.2
resolution: "readable-stream@npm:3.6.2"
dependencies:
inherits: "npm:^2.0.3"
string_decoder: "npm:^1.1.1"
util-deprecate: "npm:^1.0.1"
checksum: e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7
languageName: node
linkType: hard
"readable-web-to-node-stream@npm:^3.0.0":
version: 3.0.2
resolution: "readable-web-to-node-stream@npm:3.0.2"
dependencies:
readable-stream: "npm:^3.6.0"
checksum: 533d5cd1580232a2c753e52a245be13fc552e6f82c5053a8a8da7ea1063d73a34f936a86b3d4433cdb4a13dd683835cfc87f230936cb96d329a1e28b6040f42e
languageName: node
linkType: hard
"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0":
version: 1.2.0
resolution: "redis-errors@npm:1.2.0"
@@ -1785,6 +2263,15 @@ __metadata:
languageName: node
linkType: hard
"reverbnation-scraper@npm:^2.0.0":
version: 2.0.0
resolution: "reverbnation-scraper@npm:2.0.0"
dependencies:
node-fetch: "npm:^2.6.0"
checksum: 7fb44afc2e799f866c52d66198a48a4b25499e3325889b44c9a78ee3e42e234fc4ce6ea427c602aa0e25190b6396af5fd164658a765a949d637549e79b1c2556
languageName: node
linkType: hard
"rimraf@npm:^3.0.2":
version: 3.0.2
resolution: "rimraf@npm:3.0.2"
@@ -1814,6 +2301,13 @@ __metadata:
languageName: node
linkType: hard
"safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1"
checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
languageName: node
linkType: hard
"semver@npm:^7.5.4":
version: 7.5.4
resolution: "semver@npm:7.5.4"
@@ -1862,6 +2356,15 @@ __metadata:
languageName: node
linkType: hard
"soundcloud.ts@npm:^0.5.2":
version: 0.5.2
resolution: "soundcloud.ts@npm:0.5.2"
dependencies:
undici: "npm:^5.22.1"
checksum: 29b98a2c6b74352243eb2401778dbb6038a4d6049a2595c3a2ebb249511d2ed208395b317f1b07ca6032857b9b77921c6f95d673827af6736435915431426079
languageName: node
linkType: hard
"sparse-bitfield@npm:^3.0.3":
version: 3.0.3
resolution: "sparse-bitfield@npm:3.0.3"
@@ -1878,6 +2381,23 @@ __metadata:
languageName: node
linkType: hard
"spotify-uri@npm:~4.0.0":
version: 4.0.1
resolution: "spotify-uri@npm:4.0.1"
checksum: 215840c11b08ed505ee0e6eead9c39bf9dd110c56f555cce3a7fc2be635281cf6f8801d1e28dd1bd4f161139cc8b034ddb30ea9f6eee28b5e56b069f621b3943
languageName: node
linkType: hard
"spotify-url-info@npm:^3.2.6":
version: 3.2.13
resolution: "spotify-url-info@npm:3.2.13"
dependencies:
himalaya: "npm:~1.1.0"
spotify-uri: "npm:~4.0.0"
checksum: 09daa92f46f6aa0e4deb409db719afb8ecbb75700a88e5854a9bb2d1020c4369d7d4482c3cde76ba94e3467195059da0236407b9deb79d9e8a86a906a92a65fb
languageName: node
linkType: hard
"standard-as-callback@npm:^2.1.0":
version: 2.1.0
resolution: "standard-as-callback@npm:2.1.0"
@@ -1896,6 +2416,15 @@ __metadata:
languageName: node
linkType: hard
"string_decoder@npm:^1.1.1":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0"
dependencies:
safe-buffer: "npm:~5.2.0"
checksum: 810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d
languageName: node
linkType: hard
"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
version: 6.0.1
resolution: "strip-ansi@npm:6.0.1"
@@ -1912,6 +2441,16 @@ __metadata:
languageName: node
linkType: hard
"strtok3@npm:^6.2.4":
version: 6.3.0
resolution: "strtok3@npm:6.3.0"
dependencies:
"@tokenizer/token": "npm:^0.3.0"
peek-readable: "npm:^4.1.0"
checksum: 8f1483a2a6758404502f2fc431586fcf37d747b10b125596ab5ec92319c247dd1195f82ba0bc2eaa582db3d807b5cca4b67ff61411756fec6622d051f8e255c2
languageName: node
linkType: hard
"supports-color@npm:^7.1.0":
version: 7.2.0
resolution: "supports-color@npm:7.2.0"
@@ -1946,6 +2485,16 @@ __metadata:
languageName: node
linkType: hard
"token-types@npm:^4.1.1":
version: 4.2.1
resolution: "token-types@npm:4.2.1"
dependencies:
"@tokenizer/token": "npm:^0.3.0"
ieee754: "npm:^1.2.1"
checksum: e9a4a139deba9515770cd7ac36a8f53f953b9d035d309e88a66d706760dba0df420753f2b8bdee6b9f3cbff8d66b24e69571e8dea27baa7b378229ab1bcca399
languageName: node
linkType: hard
"tr46@npm:^4.1.1":
version: 4.1.1
resolution: "tr46@npm:4.1.1"
@@ -1955,6 +2504,13 @@ __metadata:
languageName: node
linkType: hard
"tr46@npm:~0.0.3":
version: 0.0.3
resolution: "tr46@npm:0.0.3"
checksum: 047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11
languageName: node
linkType: hard
"tree-kill@npm:^1.2.2":
version: 1.2.2
resolution: "tree-kill@npm:1.2.2"
@@ -2018,7 +2574,7 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:2.6.2, tslib@npm:^2.1.0, tslib@npm:^2.6.2":
"tslib@npm:2.6.2, tslib@npm:^2.1.0, tslib@npm:^2.6.1, tslib@npm:^2.6.2":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb
@@ -2077,6 +2633,22 @@ __metadata:
languageName: node
linkType: hard
"undici@npm:^5.22.1, undici@npm:^5.24.0, undici@npm:^5.26.3":
version: 5.28.3
resolution: "undici@npm:5.28.3"
dependencies:
"@fastify/busboy": "npm:^2.0.0"
checksum: 3c559ae50ef3104b7085251445dda6f4de871553b9e290845649d2f80b06c0c9cfcdf741b0029c6b20d36c82e6a74dc815b139fa9a26757d70728074ca6d6f5c
languageName: node
linkType: hard
"unfetch@npm:^5.0.0":
version: 5.0.0
resolution: "unfetch@npm:5.0.0"
checksum: ccbbf648a384d57aeaf3bd4972761327a6cf60c84a3edb8e2f9d18aed0df6214576fc8fcd444ea87672e8e32f4a74590bc5c07756f053f57f492c6d8363045c9
languageName: node
linkType: hard
"uri-js@npm:^4.2.2":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -2086,6 +2658,13 @@ __metadata:
languageName: node
linkType: hard
"util-deprecate@npm:^1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
checksum: 41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942
languageName: node
linkType: hard
"v8-compile-cache-lib@npm:^3.0.1":
version: 3.0.1
resolution: "v8-compile-cache-lib@npm:3.0.1"
@@ -2093,6 +2672,20 @@ __metadata:
languageName: node
linkType: hard
"web-streams-polyfill@npm:^3.0.3":
version: 3.3.2
resolution: "web-streams-polyfill@npm:3.3.2"
checksum: 623c2fced2ef77d5afdbc43acef64b8af609a32125b691eae286d534a36004c8a71030f0e78068516774a97fd90dbfb3726b10fd569a2d158e60c83a539c489e
languageName: node
linkType: hard
"webidl-conversions@npm:^3.0.0":
version: 3.0.1
resolution: "webidl-conversions@npm:3.0.1"
checksum: 5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db
languageName: node
linkType: hard
"webidl-conversions@npm:^7.0.0":
version: 7.0.0
resolution: "webidl-conversions@npm:7.0.0"
@@ -2110,6 +2703,16 @@ __metadata:
languageName: node
linkType: hard
"whatwg-url@npm:^5.0.0":
version: 5.0.0
resolution: "whatwg-url@npm:5.0.0"
dependencies:
tr46: "npm:~0.0.3"
webidl-conversions: "npm:^3.0.0"
checksum: 1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5
languageName: node
linkType: hard
"which@npm:^2.0.1":
version: 2.0.2
resolution: "which@npm:2.0.2"
@@ -2154,7 +2757,7 @@ __metadata:
languageName: node
linkType: hard
"ws@npm:^8.14.2":
"ws@npm:^8.13.0, ws@npm:^8.14.2":
version: 8.16.0
resolution: "ws@npm:8.16.0"
peerDependencies:
@@ -2218,3 +2821,19 @@ __metadata:
checksum: dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
languageName: node
linkType: hard
"youtube-ext@npm:^1.1.16":
version: 1.1.16
resolution: "youtube-ext@npm:1.1.16"
dependencies:
undici: "npm:^5.26.3"
checksum: 03e7c43e9021fcab1eaa2cadfaf0db0da435bd17b3dbba8ee1bb19d5b0454478e29dee9651bffaea18c94b913121e6a2fb1de41546ce3f628f2ac349d0e09d9a
languageName: node
linkType: hard
"youtube-sr@npm:^4.3.9":
version: 4.3.10
resolution: "youtube-sr@npm:4.3.10"
checksum: 3ea9f00e05866847c373c87b744385d0327c5463da2a125054b6aae6f9b79d721c5184c37f0a96482d8587d3932a2fe1bd828d5da7a58f148f4338bbb6f687bf
languageName: node
linkType: hard