diff --git a/commands/Music/loop.js b/commands/Music/loop.js index 108a158..4b1436d 100644 --- a/commands/Music/loop.js +++ b/commands/Music/loop.js @@ -16,11 +16,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { diff --git a/commands/Music/pause.js b/commands/Music/pause.js index 10bd116..4f49283 100644 --- a/commands/Music/pause.js +++ b/commands/Music/pause.js @@ -16,11 +16,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { diff --git a/commands/Music/play.js b/commands/Music/play.js index fb9e9d7..b1a735a 100644 --- a/commands/Music/play.js +++ b/commands/Music/play.js @@ -32,16 +32,12 @@ module.exports = { let query = interaction.options.getString("query"); - const region = interaction.member.voice.channel.rtcRegion; - - const server = client.moon._nodes.find(node => node.regions.includes(region)) || client.moon._nodes[Math.floor(Math.random() * client.moon._nodes.length)]; - - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, autoLeave: true, - node: server.identifier + autoPlay: true }); if (isYouTubeUrl(query)) { @@ -112,9 +108,8 @@ module.exports = { ] }); } else if (res.loadType === "playlist") { - trackEmbed.setTitle(`▶️ ${res.playlistInfo.name}`) + trackEmbed.setTitle(`▶️ ${res.data.info.name}`) .addFields( - { name: locale.getLocaleString("command.play.duration"), value: `\`\`\`${convertToHHMMSS(msToSec(res.playlistInfo.duration))}\`\`\``, inline: true }, { name: locale.getLocaleString("command.play.voiceChannel"), value: `<#${interaction.member.voice.channel.id}>`, inline: true }, { name: locale.getLocaleString("command.play.owner"), value: `<@${interaction.user.id}>`, inline: true } ); diff --git a/commands/Music/queue.js b/commands/Music/queue.js index eeb7b5f..3cb8baa 100644 --- a/commands/Music/queue.js +++ b/commands/Music/queue.js @@ -16,11 +16,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { @@ -34,7 +35,7 @@ module.exports = { }); } - const queue = player.queue.getQueue(); + const queue = player.queue.tracks; if (queue.length == 0) return interaction.reply({ embeds: [ @@ -115,9 +116,13 @@ module.exports = { }); collector.on("end", () => { - message.edit({ - components: [] - }); + try { + message.edit({ + components: [] + }); + } catch (err) { + console.error(err); + } }); } }; diff --git a/commands/Music/resume.js b/commands/Music/resume.js index 3d8764a..a999ef4 100644 --- a/commands/Music/resume.js +++ b/commands/Music/resume.js @@ -16,11 +16,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { diff --git a/commands/Music/skip.js b/commands/Music/skip.js index 42ed7ef..4547cfa 100644 --- a/commands/Music/skip.js +++ b/commands/Music/skip.js @@ -18,11 +18,12 @@ module.exports = { await interaction.deferReply(); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { @@ -45,7 +46,7 @@ module.exports = { ephemeral: true }); - const queue = player.queue.getQueue(); + const queue = player.queue.tracks; if (queue.length == 0) return await interaction.editReply({ embeds: [ diff --git a/commands/Music/volume.js b/commands/Music/volume.js index 5f20480..833bef7 100644 --- a/commands/Music/volume.js +++ b/commands/Music/volume.js @@ -24,11 +24,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { diff --git a/commands/Voice/join.js b/commands/Voice/join.js index ab6fec2..c2610a5 100644 --- a/commands/Voice/join.js +++ b/commands/Voice/join.js @@ -17,11 +17,12 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { diff --git a/commands/Voice/leave.js b/commands/Voice/leave.js index fc3380c..599defa 100644 --- a/commands/Voice/leave.js +++ b/commands/Voice/leave.js @@ -17,15 +17,15 @@ module.exports = { async execute(interaction, client, locale) { if (!interaction.member.voice.channel) return await interaction.reply({ embeds: [new EmbedBuilder().setColor(Colors.Yellow).setTitle(locale.getLocaleString("command.join.userNotInVoiceChannel"))] }); - let player = client.moon.players.create({ + let player = client.moon.createPlayer({ guildId: interaction.guild.id, - voiceChannel: interaction.member.voice.channel.id, - textChannel: interaction.channel.id, - autoLeave: true + voiceChannelId: interaction.member.voice.channel.id, + textChannelId: interaction.channel.id, + autoLeave: true, + autoPlay: true }); if (!player.connected) { - player.destroy(); return interaction.reply({ embeds: [ new EmbedBuilder() diff --git a/index.js b/index.js index 5b32b15..ef9cff1 100644 --- a/index.js +++ b/index.js @@ -89,7 +89,7 @@ api.get("/guilds", async (req, res) => { if (guilds.length < 200) break; after = guilds[guilds.length - 1].id; - } + }; return res.status(200).json({ total: guildsList.length, @@ -97,7 +97,7 @@ api.get("/guilds", async (req, res) => { }); } catch (error) { console.error(error); - return res.status(500).json({ error: 'An error occurred while fetching guilds' }); + return res.status(500).json({ error: "An error occurred while fetching guilds" }); } }); diff --git a/moonlink.js b/moonlink.js index f94eeba..ea42e34 100644 --- a/moonlink.js +++ b/moonlink.js @@ -1,5 +1,6 @@ const { EmbedBuilder, Colors } = require("discord.js"); -const { MoonlinkManager } = require("moonlink.js"); +const { Manager } = require("moonlink.js"); +const { version } = require("./package.json"); const Locale = require("./class/Locale"); const LocaleSchema = require("./schemas/Locale"); @@ -31,8 +32,17 @@ async function getLocale(userId) { * @param {import("discord.js").Client} client - The Discord client. */ function initializationMoonlink(client) { - const moon = new MoonlinkManager(JSON.parse(process.env.NODES), {}, (guild, sPayload) => { - client.guilds.cache.get(guild).shard.send(JSON.parse(sPayload)); + const moon = new Manager({ + nodes: JSON.parse(process.env.NODES), + options: { + defaultPlatformSearch: "spsearch", + sortTypeNode: "playingPlayers", + clientName: `HStudio/${version}` + }, + sendPayload: (guildId, payload) => { + const guild = client.guilds.cache.get(guildId); + if (guild) guild.shard.send(JSON.parse(payload)); + } }); moon.on("nodeCreate", (node) => { @@ -60,14 +70,14 @@ function initializationMoonlink(client) { moon.on("trackStart", async (player, track) => { let sourceIcon = ":arrow_forward:"; - const locale = await getLocale(track.requester); + const locale = await getLocale(track.requestedBy); try { if (track.sourceName == "spotify") { sourceIcon = "<:spotify:1264178732739072020>"; client.channels.cache - .get(player.textChannel) + .get(player.textChannelId) .send({ embeds: [ new EmbedBuilder() @@ -77,7 +87,7 @@ function initializationMoonlink(client) { }); } else { client.channels.cache - .get(player.textChannel) + .get(player.textChannelId) .send({ embeds: [ new EmbedBuilder() diff --git a/package-lock.json b/package-lock.json index 7ac228f..6ad9afc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "dotenv": "^16.4.5", "express": "^4.19.2", "mongoose": "^8.5.1", - "moonlink.js": "^3.6.64" + "moonlink.js": "github:Ecliptia/moonlink.js" }, "devDependencies": { "@eslint/js": "^9.6.0", @@ -190,9 +190,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", - "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -246,6 +246,7 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -289,9 +290,10 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", + "license": "MIT", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -345,9 +347,9 @@ } }, "node_modules/@sapphire/async-queue": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.2.tgz", - "integrity": "sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.3.tgz", + "integrity": "sha512-x7zadcfJGxFka1Q3f8gCts1F0xMwCKbZweM85xECGI0hBTeIZJGGCrHgLggihBoprlQ/hBmDR5LKfIPqnmHM3w==", "license": "MIT", "engines": { "node": ">=v14.0.0", @@ -378,9 +380,9 @@ } }, "node_modules/@types/node": { - "version": "20.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", - "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -389,29 +391,31 @@ "node_modules/@types/webidl-conversions": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", - "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" }, "node_modules/@types/whatwg-url": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "license": "MIT", "dependencies": { "@types/webidl-conversions": "*" } }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.11", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", + "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@vladfrangu/async_event_emitter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.0.tgz", - "integrity": "sha512-eNb/9DMwNvhhgn1UuQ8Rl90jhj9PBkYH4oQ522TkiWUVWRfbh3PjdOTFkVGNKs5+xUXalkgFrUSwtY8u0g0S4g==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.4.tgz", + "integrity": "sha512-ZL62PFXEIeGUI8btfJ5S8Flc286eU1ZUSjwyFQtIGXfRUDPZKO+CDJMYb1R71LjGWRZ4n202O+a6FGjsgTw58g==", "license": "MIT", "engines": { "node": ">=v14.0.0", @@ -432,9 +436,9 @@ } }, "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "license": "MIT", "bin": { @@ -580,6 +584,7 @@ "version": "6.8.0", "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", + "license": "Apache-2.0", "engines": { "node": ">=16.20.1" } @@ -894,6 +899,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", @@ -945,6 +951,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -988,9 +995,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -1005,6 +1012,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1296,6 +1304,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz", "integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -1619,7 +1628,8 @@ "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" }, "node_modules/merge-descriptors": { "version": "1.0.1", @@ -1686,6 +1696,7 @@ "version": "6.7.0", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "license": "Apache-2.0", "dependencies": { "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.7.0", @@ -1731,6 +1742,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", + "license": "Apache-2.0", "dependencies": { "@types/whatwg-url": "^11.0.2", "whatwg-url": "^13.0.0" @@ -1740,6 +1752,7 @@ "version": "8.5.1", "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.1.tgz", "integrity": "sha512-OhVcwVl91A1G6+XpjDcpkGP7l7ikZkxa0DylX7NT/lcEqAjggzSdqDxb48A+xsDxqNAr0ntSJ1yiE3+KJTOd5Q==", + "license": "MIT", "dependencies": { "bson": "^6.7.0", "kareem": "2.6.3", @@ -1764,15 +1777,14 @@ "license": "MIT" }, "node_modules/moonlink.js": { - "version": "3.6.64", - "resolved": "https://registry.npmjs.org/moonlink.js/-/moonlink.js-3.6.64.tgz", - "integrity": "sha512-5KpLtJnomCzpOjwKVOxjKBsZBt4RxBecTR1rqRrNSEUG4spjthNhaN3zDFyM18EzCLO4bMw1A+08Exrxhpt+1g==", - "license": "Apache-2.0", + "version": "4.0.1", + "resolved": "git+ssh://git@github.com/Ecliptia/moonlink.js.git#e04cfb8b03644fd04c1d41e8c24df1df7153b6c4", + "license": "Open Software License 3.0", "dependencies": { - "ws": "^8.17.0" + "ws": "latest" }, "engines": { - "node": ">=16.6.0" + "node": ">=20.x.x" } }, "node_modules/mpath": { @@ -2246,6 +2258,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", "dependencies": { "memory-pager": "^1.0.2" } @@ -2318,6 +2331,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "license": "MIT", "dependencies": { "punycode": "^2.3.0" }, @@ -2419,6 +2433,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", "engines": { "node": ">=12" } @@ -2427,6 +2442,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "license": "MIT", "dependencies": { "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" @@ -2462,9 +2478,9 @@ } }, "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "license": "MIT", "engines": { "node": ">=10.0.0" diff --git a/package.json b/package.json index f354070..23b2bd2 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "dotenv": "^16.4.5", "express": "^4.19.2", "mongoose": "^8.5.1", - "moonlink.js": "^3.6.64" + "moonlink.js": "github:Ecliptia/moonlink.js" }, "devDependencies": { "@eslint/js": "^9.6.0",