mirror of
https://github.com/Alee14/DLAP.git
synced 2025-01-22 10:52:03 -05:00
New feature (embed thumbnails); Docker; Package update
This commit is contained in:
parent
8c81aaddde
commit
3d4f5061d4
11 changed files with 199 additions and 120 deletions
4
.dockerignore
Normal file
4
.dockerignore
Normal file
|
@ -0,0 +1,4 @@
|
|||
music
|
||||
.git
|
||||
node_modules
|
||||
config.json
|
|
@ -21,7 +21,7 @@
|
|||
import { createAudioResource } from '@discordjs/voice';
|
||||
import { parseFile } from 'music-metadata';
|
||||
import { readdirSync, readFileSync, writeFile } from 'node:fs';
|
||||
import { EmbedBuilder } from 'discord.js';
|
||||
import { EmbedBuilder, AttachmentBuilder } from 'discord.js';
|
||||
import { player } from './VoiceInitialization.js';
|
||||
import { audioState, files } from './AudioControl.js';
|
||||
import { integer } from '../Commands/play.js';
|
||||
|
@ -38,6 +38,7 @@ export let audioTitle;
|
|||
export let audioArtist;
|
||||
export let audioYear;
|
||||
export let audioAlbum;
|
||||
export let audioPicture;
|
||||
export let duration;
|
||||
|
||||
const inputFiles = readdirSync('music');
|
||||
|
@ -59,6 +60,7 @@ export async function playAudio(bot) {
|
|||
audioArtist = common.artist;
|
||||
audioYear = common.year;
|
||||
audioAlbum = common.album;
|
||||
if (common.picture) audioPicture = new AttachmentBuilder(common.picture[0].data, { name: 'albumArt.png', description: 'Album Art' });
|
||||
} else {
|
||||
metadataEmpty = true;
|
||||
}
|
||||
|
@ -77,6 +79,7 @@ export async function playAudio(bot) {
|
|||
}
|
||||
|
||||
const statusEmbed = new EmbedBuilder();
|
||||
|
||||
if (metadataEmpty) {
|
||||
statusEmbed.setTitle('Now Playing');
|
||||
statusEmbed.addFields(
|
||||
|
@ -92,12 +95,17 @@ export async function playAudio(bot) {
|
|||
{ name: 'Year', value: `${audioYear}` },
|
||||
{ name: 'Duration', value: `${duration}` }
|
||||
);
|
||||
|
||||
// console.log(audioPicture);
|
||||
if (audioPicture) {
|
||||
// statusEmbed.setThumbnail({ url: 'attachment://albumArt.png' });
|
||||
}
|
||||
statusEmbed.setFooter({ text: `Album: ${audioAlbum}\nFilename: ${audioFile}` });
|
||||
statusEmbed.setColor('#0066ff');
|
||||
}
|
||||
const channel = bot.channels.cache.get(statusChannel);
|
||||
if (!channel) return console.error('The status channel does not exist! Skipping.');
|
||||
return await channel.send({ embeds: [statusEmbed] });
|
||||
return await channel.send({ embeds: [statusEmbed], files: [audioPicture] });
|
||||
}
|
||||
|
||||
export function updatePlaylist(option) {
|
||||
|
|
|
@ -31,7 +31,7 @@ export default {
|
|||
.setDescription('Joins voice chat'),
|
||||
async execute(interaction, bot) {
|
||||
if (!interaction.member.voice.channel) return await interaction.reply({ content: 'You need to be in a voice channel to use this command.', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
|
||||
await interaction.reply({ content: 'Joining voice channel', ephemeral: true });
|
||||
return await voiceInit(bot);
|
||||
|
|
|
@ -31,7 +31,7 @@ export default {
|
|||
.setDescription('Leaves the voice chat'),
|
||||
async execute(interaction, bot) {
|
||||
if (!interaction.member.voice.channel) return await interaction.reply({ content: 'You need to be in a voice channel to use this command.', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
|
||||
console.log('Leaving voice channel...');
|
||||
await destroyAudio(interaction);
|
||||
|
|
|
@ -30,7 +30,7 @@ export default {
|
|||
.setDescription('Pauses music'),
|
||||
async execute(interaction, bot) {
|
||||
if (!interaction.member.voice.channel) return await interaction.reply({ content: 'You need to be in a voice channel to use this command.', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
|
||||
if (!isAudioStatePaused) {
|
||||
toggleAudioState();
|
||||
|
|
|
@ -42,7 +42,7 @@ export default {
|
|||
|
||||
async execute(interaction, bot) {
|
||||
if (!interaction.member.voice.channel) return await interaction.reply({ content: 'You need to be in a voice channel to use this command.', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
|
||||
integer = interaction.options.getInteger('int');
|
||||
if (integer) {
|
||||
|
|
|
@ -33,7 +33,7 @@ export default {
|
|||
.setDescription('Reshuffles the playlist'),
|
||||
async execute(interaction, bot) {
|
||||
if (!interaction.member.voice.channel) return await interaction.reply({ content: 'You need to be in a voice channel to use this command.', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
|
||||
async function shuffleDetected(bot) {
|
||||
await interaction.reply({ content: 'Reshuffling the playlist...', ephemeral: true });
|
||||
|
|
23
Dockerfile
Normal file
23
Dockerfile
Normal file
|
@ -0,0 +1,23 @@
|
|||
FROM node:alpine AS build
|
||||
|
||||
WORKDIR /usr/src/bot
|
||||
|
||||
RUN apk add --update alpine-sdk libtool autoconf automake python3
|
||||
|
||||
COPY package.json ./
|
||||
|
||||
COPY yarn.lock ./
|
||||
|
||||
RUN yarn global add node-gyp
|
||||
|
||||
RUN yarn install
|
||||
|
||||
FROM node:alpine
|
||||
|
||||
WORKDIR /usr/src/bot
|
||||
|
||||
COPY --from=build /usr/src/bot/node_modules ./node_modules
|
||||
|
||||
COPY . ./
|
||||
|
||||
CMD ["node", "bot.js"]
|
|
@ -85,7 +85,7 @@ export async function voteSkip(interaction, bot) {
|
|||
}
|
||||
|
||||
if (interaction.options.getSubcommand() === 'force') {
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.member.permission.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
if (!interaction.member.roles.cache.has(djRole) && interaction.user.id !== ownerID && !interaction.memberPermissions.has(PermissionFlagsBits.ManageGuild)) return interaction.reply({ content: 'You need a specific role to execute this command', ephemeral: true });
|
||||
console.log('Force skipping this audio track...');
|
||||
if (playerState === 'Playing' || playerState === 'Paused') {
|
||||
votes.clear();
|
||||
|
|
16
package.json
16
package.json
|
@ -10,14 +10,14 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@discordjs/opus": "^0.9.0",
|
||||
"@discordjs/rest": "^1.6.0",
|
||||
"@discordjs/voice": "^0.15.0",
|
||||
"discord-api-types": "^0.37.35",
|
||||
"discord.js": "^14.8.0",
|
||||
"ffmpeg-static": "^5.1.0",
|
||||
"i18next": "^22.4.5",
|
||||
"i18next-fs-backend": "^2.1.0",
|
||||
"music-metadata": "^8.1.0",
|
||||
"@discordjs/rest": "^2.0.1",
|
||||
"@discordjs/voice": "^0.16.0",
|
||||
"discord-api-types": "^0.37.60",
|
||||
"discord.js": "^14.13.0",
|
||||
"ffmpeg-static": "^5.2.0",
|
||||
"i18next": "^23.5.1",
|
||||
"i18next-fs-backend": "^2.2.0",
|
||||
"music-metadata": "^8.1.4",
|
||||
"sodium": "^3.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
252
yarn.lock
252
yarn.lock
|
@ -2,12 +2,12 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@babel/runtime@^7.20.6":
|
||||
version "7.21.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
|
||||
integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
|
||||
"@babel/runtime@^7.22.5":
|
||||
version "7.23.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
|
||||
integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.11"
|
||||
regenerator-runtime "^0.14.0"
|
||||
|
||||
"@derhuerst/http-basic@^8.2.0":
|
||||
version "8.2.4"
|
||||
|
@ -19,30 +19,30 @@
|
|||
http-response-object "^3.0.1"
|
||||
parse-cache-control "^1.0.1"
|
||||
|
||||
"@discordjs/builders@^1.5.0":
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.5.0.tgz#f6dd4684e46707eb600eabdfdacd3b44c9e924cd"
|
||||
integrity sha512-7XxT78mnNBPigHn2y6KAXkicxIBFtZREGWaRZ249EC1l6gBUEP8IyVY5JTciIjJArxkF+tg675aZvsTNTKBpmA==
|
||||
"@discordjs/builders@^1.6.5":
|
||||
version "1.6.5"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.6.5.tgz#3e23912eaab1d542b61ca0fa7202e5aaef2b7200"
|
||||
integrity sha512-SdweyCs/+mHj+PNhGLLle7RrRFX9ZAhzynHahMCLqp5Zeq7np7XC6/mgzHc79QoVlQ1zZtOkTTiJpOZu5V8Ufg==
|
||||
dependencies:
|
||||
"@discordjs/formatters" "^0.2.0"
|
||||
"@discordjs/util" "^0.2.0"
|
||||
"@sapphire/shapeshift" "^3.8.1"
|
||||
discord-api-types "^0.37.35"
|
||||
"@discordjs/formatters" "^0.3.2"
|
||||
"@discordjs/util" "^1.0.1"
|
||||
"@sapphire/shapeshift" "^3.9.2"
|
||||
discord-api-types "0.37.50"
|
||||
fast-deep-equal "^3.1.3"
|
||||
ts-mixer "^6.0.3"
|
||||
tslib "^2.5.0"
|
||||
tslib "^2.6.1"
|
||||
|
||||
"@discordjs/collection@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.4.0.tgz#6b5d5429db0691a3f5a962c21f6bc7859eef3333"
|
||||
integrity sha512-hiOJyk2CPFf1+FL3a4VKCuu1f448LlROVuu8nLz1+jCOAPokUcdFAV+l4pd3B3h6uJlJQSASoZzrdyNdjdtfzQ==
|
||||
"@discordjs/collection@^1.5.3":
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.5.3.tgz#5a1250159ebfff9efa4f963cfa7e97f1b291be18"
|
||||
integrity sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==
|
||||
|
||||
"@discordjs/formatters@^0.2.0":
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.2.0.tgz#a861d9c385dfc6c7294e44c5441beee933820a4f"
|
||||
integrity sha512-vn4oMSXuMZUm8ITqVOtvE7/fMMISj4cI5oLsR09PEQXHKeKDAMLltG/DWeeIs7Idfy6V8Fk3rn1e69h7NfzuNA==
|
||||
"@discordjs/formatters@^0.3.2":
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.3.2.tgz#3ae054f7b3097cc0dc7645fade37a3f20fa1fb4b"
|
||||
integrity sha512-lE++JZK8LSSDRM5nLjhuvWhGuKiXqu+JZ/DsOR89DVVia3z9fdCJVcHF2W/1Zxgq0re7kCzmAJlCMMX3tetKpA==
|
||||
dependencies:
|
||||
discord-api-types "^0.37.35"
|
||||
discord-api-types "0.37.50"
|
||||
|
||||
"@discordjs/node-pre-gyp@^0.4.5":
|
||||
version "0.4.5"
|
||||
|
@ -67,35 +67,51 @@
|
|||
"@discordjs/node-pre-gyp" "^0.4.5"
|
||||
node-addon-api "^5.0.0"
|
||||
|
||||
"@discordjs/rest@^1.6.0":
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.6.0.tgz#d77c9b5533f6d2079468d4fd497d3fabeb529c20"
|
||||
integrity sha512-HGvqNCZ5Z5j0tQHjmT1lFvE5ETO4hvomJ1r0cbnpC1zM23XhCpZ9wgTCiEmaxKz05cyf2CI9p39+9LL+6Yz1bA==
|
||||
"@discordjs/rest@^2.0.1":
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-2.0.1.tgz#100c208a964e54b8d7cd418bbaed279c816b8ec5"
|
||||
integrity sha512-/eWAdDRvwX/rIE2tuQUmKaxmWeHmGealttIzGzlYfI4+a7y9b6ZoMp8BG/jaohs8D8iEnCNYaZiOFLVFLQb8Zg==
|
||||
dependencies:
|
||||
"@discordjs/collection" "^1.4.0"
|
||||
"@discordjs/util" "^0.2.0"
|
||||
"@discordjs/collection" "^1.5.3"
|
||||
"@discordjs/util" "^1.0.1"
|
||||
"@sapphire/async-queue" "^1.5.0"
|
||||
"@sapphire/snowflake" "^3.4.0"
|
||||
discord-api-types "^0.37.35"
|
||||
file-type "^18.2.1"
|
||||
tslib "^2.5.0"
|
||||
undici "^5.20.0"
|
||||
"@sapphire/snowflake" "^3.5.1"
|
||||
"@vladfrangu/async_event_emitter" "^2.2.2"
|
||||
discord-api-types "0.37.50"
|
||||
magic-bytes.js "^1.0.15"
|
||||
tslib "^2.6.1"
|
||||
undici "5.22.1"
|
||||
|
||||
"@discordjs/util@^0.2.0":
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-0.2.0.tgz#91b590dae3934ffa5fe34530afc5212c569d6751"
|
||||
integrity sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg==
|
||||
"@discordjs/util@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-1.0.1.tgz#7d6f97b65425d3a8b46ea1180150dee6991a88cf"
|
||||
integrity sha512-d0N2yCxB8r4bn00/hvFZwM7goDcUhtViC5un4hPj73Ba4yrChLSJD8fy7Ps5jpTLg1fE9n4K0xBLc1y9WGwSsA==
|
||||
|
||||
"@discordjs/voice@^0.15.0":
|
||||
version "0.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/voice/-/voice-0.15.0.tgz#774febb2a1623b23e234744fefb60544858db77d"
|
||||
integrity sha512-YEvrRchDhjB0QbI9QYOF/qgDwvGb9sNGUyks5d3Srl+VRoMoKkMzWY+wcEfVbAgdMIAdLi5vyrTKP/gLND26jA==
|
||||
"@discordjs/voice@^0.16.0":
|
||||
version "0.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/voice/-/voice-0.16.0.tgz#9df1e492c8fea95113236a3de3ac52702c587729"
|
||||
integrity sha512-ToGCvHD1cBscuW3p+C7zOF5+L7MJmU4GjdOARfNk9mkHyFFZq4grK+Sxr3QXKbp27DtfDBc9uqD4GUOYgxngfA==
|
||||
dependencies:
|
||||
"@types/ws" "^8.5.4"
|
||||
discord-api-types "^0.37.35"
|
||||
discord-api-types "^0.37.37"
|
||||
prism-media "^1.3.5"
|
||||
tslib "^2.5.0"
|
||||
ws "^8.12.1"
|
||||
ws "^8.13.0"
|
||||
|
||||
"@discordjs/ws@^1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@discordjs/ws/-/ws-1.0.1.tgz#fab8aa4c1667040a95b5268a2875add27353d323"
|
||||
integrity sha512-avvAolBqN3yrSvdBPcJ/0j2g42ABzrv3PEL76e3YTp2WYMGH7cuspkjfSyNWaqYl1J+669dlLp+YFMxSVQyS5g==
|
||||
dependencies:
|
||||
"@discordjs/collection" "^1.5.3"
|
||||
"@discordjs/rest" "^2.0.1"
|
||||
"@discordjs/util" "^1.0.1"
|
||||
"@sapphire/async-queue" "^1.5.0"
|
||||
"@types/ws" "^8.5.5"
|
||||
"@vladfrangu/async_event_emitter" "^2.2.2"
|
||||
discord-api-types "0.37.50"
|
||||
tslib "^2.6.1"
|
||||
ws "^8.13.0"
|
||||
|
||||
"@eslint-community/eslint-utils@^4.2.0":
|
||||
version "4.2.0"
|
||||
|
@ -174,18 +190,18 @@
|
|||
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.0.tgz#2f255a3f186635c4fb5a2381e375d3dfbc5312d8"
|
||||
integrity sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==
|
||||
|
||||
"@sapphire/shapeshift@^3.8.1":
|
||||
version "3.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.8.1.tgz#b98dc6a7180f9b38219267917b2e6fa33f9ec656"
|
||||
integrity sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==
|
||||
"@sapphire/shapeshift@^3.9.2":
|
||||
version "3.9.3"
|
||||
resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.9.3.tgz#89d26713044bc21cc5e0845e61a8a328ca3c1a84"
|
||||
integrity sha512-WzKJSwDYloSkHoBbE8rkRW8UNKJiSRJ/P8NqJ5iVq7U2Yr/kriIBx2hW+wj2Z5e5EnXL1hgYomgaFsdK6b+zqQ==
|
||||
dependencies:
|
||||
fast-deep-equal "^3.1.3"
|
||||
lodash "^4.17.21"
|
||||
|
||||
"@sapphire/snowflake@^3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.4.0.tgz#25c012158a9feea2256c718985dbd6c1859a5022"
|
||||
integrity sha512-zZxymtVO6zeXVMPds+6d7gv/OfnCc25M1Z+7ZLB0oPmeMTPeRWVPQSS16oDJy5ZsyCOLj7M6mbZml5gWXcVRNw==
|
||||
"@sapphire/snowflake@^3.5.1":
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.1.tgz#254521c188b49e8b2d4cc048b475fb2b38737fec"
|
||||
integrity sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==
|
||||
|
||||
"@tokenizer/token@^0.3.0":
|
||||
version "0.3.0"
|
||||
|
@ -214,6 +230,18 @@
|
|||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/ws@^8.5.5":
|
||||
version "8.5.7"
|
||||
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.7.tgz#1ca585074fe5d2c81dec7a3d451f244a2a6d83cb"
|
||||
integrity sha512-6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@vladfrangu/async_event_emitter@^2.2.2":
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.2.tgz#84c5a3f8d648842cec5cc649b88df599af32ed88"
|
||||
integrity sha512-HIzRG7sy88UZjBJamssEczH5q7t5+axva19UbZLO6u0ySbYPrwzWiXBcC0WuHyhKKoeCyneH+FvYzKQq/zTtkQ==
|
||||
|
||||
abbrev@1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
|
@ -447,7 +475,7 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0:
|
|||
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
|
||||
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
|
||||
|
||||
content-type@^1.0.4:
|
||||
content-type@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
|
||||
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
|
||||
|
@ -498,29 +526,35 @@ detect-libc@^2.0.0:
|
|||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
|
||||
integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
|
||||
|
||||
discord-api-types@^0.37.35:
|
||||
version "0.37.35"
|
||||
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.35.tgz#d0dad0bce7ce5bffc633030f17464e45148d9f28"
|
||||
integrity sha512-iyKZ/82k7FX3lcmHiAvvWu5TmyfVo78RtghBV/YsehK6CID83k5SI03DKKopBcln+TiEIYw5MGgq7SJXSpNzMg==
|
||||
discord-api-types@0.37.50:
|
||||
version "0.37.50"
|
||||
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.50.tgz#6059eb8c0b784ad8194655a8b8b7f540fcfac428"
|
||||
integrity sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==
|
||||
|
||||
discord.js@^14.8.0:
|
||||
version "14.8.0"
|
||||
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.8.0.tgz#0e5def8a95a22018844cdfc0f63b9806392da79b"
|
||||
integrity sha512-UOxYtc/YnV7jAJ2gISluJyYeBw4e+j8gWn+IoqG8unaHAVuvZ13DdYN0M1f9fbUgUvSarV798inIrYFtDNDjwQ==
|
||||
discord-api-types@^0.37.37, discord-api-types@^0.37.60:
|
||||
version "0.37.60"
|
||||
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.60.tgz#435855217afcf867e6ea20d0a750b23550b734ed"
|
||||
integrity sha512-5BELXTsv7becqVHrD81nZrqT4oEyXXWBwbsO/kwDDu6X3u19VV1tYDB5I5vaVAK+c1chcDeheI9zACBLm41LiQ==
|
||||
|
||||
discord.js@^14.13.0:
|
||||
version "14.13.0"
|
||||
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.13.0.tgz#e7a00bdba70adb9e266a06884ca1acaf9a0b5c20"
|
||||
integrity sha512-Kufdvg7fpyTEwANGy9x7i4od4yu5c6gVddGi5CKm4Y5a6sF0VBODObI3o0Bh7TGCj0LfNT8Qp8z04wnLFzgnbA==
|
||||
dependencies:
|
||||
"@discordjs/builders" "^1.5.0"
|
||||
"@discordjs/collection" "^1.4.0"
|
||||
"@discordjs/formatters" "^0.2.0"
|
||||
"@discordjs/rest" "^1.6.0"
|
||||
"@discordjs/util" "^0.2.0"
|
||||
"@sapphire/snowflake" "^3.4.0"
|
||||
"@types/ws" "^8.5.4"
|
||||
discord-api-types "^0.37.35"
|
||||
"@discordjs/builders" "^1.6.5"
|
||||
"@discordjs/collection" "^1.5.3"
|
||||
"@discordjs/formatters" "^0.3.2"
|
||||
"@discordjs/rest" "^2.0.1"
|
||||
"@discordjs/util" "^1.0.1"
|
||||
"@discordjs/ws" "^1.0.1"
|
||||
"@sapphire/snowflake" "^3.5.1"
|
||||
"@types/ws" "^8.5.5"
|
||||
discord-api-types "0.37.50"
|
||||
fast-deep-equal "^3.1.3"
|
||||
lodash.snakecase "^4.1.1"
|
||||
tslib "^2.5.0"
|
||||
undici "^5.20.0"
|
||||
ws "^8.12.1"
|
||||
tslib "^2.6.1"
|
||||
undici "5.22.1"
|
||||
ws "^8.13.0"
|
||||
|
||||
doctrine@^2.1.0:
|
||||
version "2.1.0"
|
||||
|
@ -822,10 +856,10 @@ fastq@^1.6.0:
|
|||
dependencies:
|
||||
reusify "^1.0.4"
|
||||
|
||||
ffmpeg-static@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ffmpeg-static/-/ffmpeg-static-5.1.0.tgz#133500f4566570c5a0e96795152b0526d8c936ad"
|
||||
integrity sha512-eEWOiGdbf7HKPeJI5PoJ0oCwkL0hckL2JdS4JOuB/gUETppwkEpq8nF0+e6VEQnDCo/iuoipbTUsn9QJmtpNkg==
|
||||
ffmpeg-static@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ffmpeg-static/-/ffmpeg-static-5.2.0.tgz#6ca64a5ed6e69ec4896d175c1f69dd575db7c5ef"
|
||||
integrity sha512-WrM7kLW+do9HLr+H6tk7LzQ7kPqbAgLjdzNE32+u3Ff11gXt9Kkkd2nusGFrlWMIe+XaA97t+I8JS7sZIrvRgA==
|
||||
dependencies:
|
||||
"@derhuerst/http-basic" "^8.2.0"
|
||||
env-paths "^2.2.0"
|
||||
|
@ -839,7 +873,7 @@ file-entry-cache@^6.0.1:
|
|||
dependencies:
|
||||
flat-cache "^3.0.4"
|
||||
|
||||
file-type@^18.0.0, file-type@^18.2.1:
|
||||
file-type@^18.2.1:
|
||||
version "18.2.1"
|
||||
resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.2.1.tgz#6d8f1fa3b079606f6ecf89483346f55fcd2c671b"
|
||||
integrity sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==
|
||||
|
@ -1070,17 +1104,17 @@ https-proxy-agent@^5.0.0:
|
|||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
i18next-fs-backend@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-2.1.1.tgz#07c6393be856c5a398e3dfc1257bf8439841cd89"
|
||||
integrity sha512-FTnj+UmNgT3YRml5ruRv0jMZDG7odOL/OP5PF5mOqvXud2vHrPOOs68Zdk6iqzL47cnnM0ZVkK2BAvpFeDJToA==
|
||||
i18next-fs-backend@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-2.2.0.tgz#016c865344632a666ea80653deae466fbfa6042c"
|
||||
integrity sha512-VOPHhdDX0M/csRqEw+9Ectpf6wvTIg1MZDfAHxc3JKnAlJz7fcZSAKAeyDohOq0xuLx57esYpJopIvBaRb0Bag==
|
||||
|
||||
i18next@^22.4.5:
|
||||
version "22.4.11"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.4.11.tgz#8b6c9be95176de90d3f10a78af125d95d3a3258d"
|
||||
integrity sha512-ShfTzXVMjXdF2iPiT/wbizOrssLh9Ab6VpuVROihLCAu+u25KbZiEYVgsA0W6g0SgjPa/JmGWcUEV/g6cKzEjQ==
|
||||
i18next@^23.5.1:
|
||||
version "23.5.1"
|
||||
resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.5.1.tgz#7f7c35ffaa907618d9489f106d5006b09fbca3d3"
|
||||
integrity sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.20.6"
|
||||
"@babel/runtime" "^7.22.5"
|
||||
|
||||
ieee754@^1.2.1:
|
||||
version "1.2.1"
|
||||
|
@ -1339,6 +1373,11 @@ lru-cache@^6.0.0:
|
|||
dependencies:
|
||||
yallist "^4.0.0"
|
||||
|
||||
magic-bytes.js@^1.0.15:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/magic-bytes.js/-/magic-bytes.js-1.5.0.tgz#f5531ca53e1c8dab5692b8dcfb360f7ca6c6b6bc"
|
||||
integrity sha512-wJkXvutRbNWcc37tt5j1HyOK1nosspdh3dj6LUYYAvF6JYNqs53IfRvK9oEpcwiDA1NdoIi64yAMfdivPeVAyw==
|
||||
|
||||
make-dir@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
|
||||
|
@ -1398,15 +1437,15 @@ ms@^2.1.1:
|
|||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
music-metadata@^8.1.0:
|
||||
version "8.1.3"
|
||||
resolved "https://registry.yarnpkg.com/music-metadata/-/music-metadata-8.1.3.tgz#bd2d6c35b9f4bb881d7349edae2cdbe18e3fcbba"
|
||||
integrity sha512-Wo+gR2tt8vbricyaK/sMt/4o/YEjStJOD806iZzmLtM/9GrBvhkIDOijt9J8vdRkH4rgYDI4xNu8dp0O0vDryw==
|
||||
music-metadata@^8.1.4:
|
||||
version "8.1.4"
|
||||
resolved "https://registry.yarnpkg.com/music-metadata/-/music-metadata-8.1.4.tgz#a65e59366bf347821ae2ea4fb0661bf202e37b7c"
|
||||
integrity sha512-q9mw2qeESeJY69cXtdaum/YJstDimpP+mwZnb801iq20JpyY75v6uzcp6VfVXZDixpD2f9yWneJtA0TgSEypxA==
|
||||
dependencies:
|
||||
"@tokenizer/token" "^0.3.0"
|
||||
content-type "^1.0.4"
|
||||
content-type "^1.0.5"
|
||||
debug "^4.3.4"
|
||||
file-type "^18.0.0"
|
||||
file-type "^18.2.1"
|
||||
media-typer "^1.1.0"
|
||||
strtok3 "^7.0.0"
|
||||
token-types "^5.0.1"
|
||||
|
@ -1640,10 +1679,10 @@ readdirp@~3.6.0:
|
|||
dependencies:
|
||||
picomatch "^2.2.1"
|
||||
|
||||
regenerator-runtime@^0.13.11:
|
||||
version "0.13.11"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
|
||||
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
|
||||
regenerator-runtime@^0.14.0:
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
|
||||
integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
|
||||
|
||||
regexp.prototype.flags@^1.4.3:
|
||||
version "1.4.3"
|
||||
|
@ -1920,6 +1959,11 @@ tslib@^2.5.0:
|
|||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
|
||||
integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
|
||||
|
||||
tslib@^2.6.1:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
|
||||
type-check@^0.4.0, type-check@~0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
|
||||
|
@ -1961,10 +2005,10 @@ undefsafe@^2.0.5:
|
|||
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
|
||||
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
|
||||
|
||||
undici@^5.20.0:
|
||||
version "5.20.0"
|
||||
resolved "https://registry.yarnpkg.com/undici/-/undici-5.20.0.tgz#6327462f5ce1d3646bcdac99da7317f455bcc263"
|
||||
integrity sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g==
|
||||
undici@5.22.1:
|
||||
version "5.22.1"
|
||||
resolved "https://registry.yarnpkg.com/undici/-/undici-5.22.1.tgz#877d512effef2ac8be65e695f3586922e1a57d7b"
|
||||
integrity sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==
|
||||
dependencies:
|
||||
busboy "^1.6.0"
|
||||
|
||||
|
@ -2040,10 +2084,10 @@ wrappy@1:
|
|||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||
|
||||
ws@^8.12.1:
|
||||
version "8.13.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
|
||||
integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
|
||||
ws@^8.13.0:
|
||||
version "8.14.2"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f"
|
||||
integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
|
Loading…
Reference in a new issue