From 13457c3fbede83c01beb379f0f7f6b02b9111706 Mon Sep 17 00:00:00 2001 From: amy Date: Sun, 11 May 2025 19:41:42 +0330 Subject: [PATCH] in my components v2 arc --- package.json | 2 +- pnpm-lock.yaml | 97 +++++++++++++++++++------------------- src/commands/nowplaying.ts | 39 ++++++++------- 3 files changed, 72 insertions(+), 66 deletions(-) diff --git a/package.json b/package.json index 0bd496d..1d0031f 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "acorn": "^8.14.1", "astring": "^1.9.0", "canvas": "^3.1.0", - "discord.js": "^14.17.2", + "discord.js": "^14.19.3", "sharp": "git+ssh://git@github.com/lovell/sharp.git", "ts-node": "^10.9.2", "zod": "^3.24.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c65f982..6197224 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 discord.js: - specifier: ^14.17.2 - version: 14.17.2 + specifier: ^14.19.3 + version: 14.19.3 sharp: specifier: git+ssh://git@github.com/lovell/sharp.git version: https://codeload.github.com/lovell/sharp/tar.gz/03e1b19764719d1b031045420223e78160db9bd0(patch_hash=aec393aef46aa4fa39e5c8d152bbe386c4b9df13f70cc0a46ee371547d7395dc) @@ -48,8 +48,8 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@discordjs/builders@1.10.0': - resolution: {integrity: sha512-ikVZsZP+3shmVJ5S1oM+7SveUCK3L9fTyfA8aJ7uD9cNQlTqF+3Irbk2Y22KXTb3C3RNUahRkSInClJMkHrINg==} + '@discordjs/builders@1.11.2': + resolution: {integrity: sha512-F1WTABdd8/R9D1icJzajC4IuLyyS8f3rTOz66JsSI3pKvpCAtsMBweu8cyNYsIyvcrKAVn9EPK+Psoymq+XC0A==} engines: {node: '>=16.11.0'} '@discordjs/collection@1.5.3': @@ -60,20 +60,20 @@ packages: resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==} engines: {node: '>=18'} - '@discordjs/formatters@0.6.0': - resolution: {integrity: sha512-YIruKw4UILt/ivO4uISmrGq2GdMY6EkoTtD0oS0GvkJFRZbTSdPhzYiUILbJ/QslsvC9H9nTgGgnarnIl4jMfw==} + '@discordjs/formatters@0.6.1': + resolution: {integrity: sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==} engines: {node: '>=16.11.0'} - '@discordjs/rest@2.4.2': - resolution: {integrity: sha512-9bOvXYLQd5IBg/kKGuEFq3cstVxAMJ6wMxO2U3wjrgO+lHv8oNCT+BBRpuzVQh7BoXKvk/gpajceGvQUiRoJ8g==} + '@discordjs/rest@2.5.0': + resolution: {integrity: sha512-PWhchxTzpn9EV3vvPRpwS0EE2rNYB9pvzDU/eLLW3mByJl0ZHZjHI2/wA8EbH2gRMQV7nu+0FoDF84oiPl8VAQ==} engines: {node: '>=18'} '@discordjs/util@1.1.1': resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==} engines: {node: '>=18'} - '@discordjs/ws@1.2.0': - resolution: {integrity: sha512-QH5CAFe3wHDiedbO+EI3OOiyipwWd+Q6BdoFZUw/Wf2fw5Cv2fgU/9UEtJRmJa9RecI+TAhdGPadMaEIur5yJg==} + '@discordjs/ws@1.2.2': + resolution: {integrity: sha512-dyfq7yn0wO0IYeYOs3z79I6/HumhmKISzFL0Z+007zQJMtAFGtt3AEoq1nuLXtcunUE5YYYQqgKvybXukAK8/w==} engines: {node: '>=16.11.0'} '@emnapi/runtime@1.3.1': @@ -226,8 +226,8 @@ packages: '@types/node@22.14.0': resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} - '@types/ws@8.5.13': - resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} '@vladfrangu/async_event_emitter@2.4.6': resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} @@ -298,11 +298,11 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - discord-api-types@0.37.115: - resolution: {integrity: sha512-ivPnJotSMrXW8HLjFu+0iCVs8zP6KSliMelhr7HgcB2ki1QzpORkb26m71l1pzSnnGfm7gb5n/VtRTtpw8kXFA==} + discord-api-types@0.38.4: + resolution: {integrity: sha512-EgxEQ4vrJUjXaTjif4ItOGoD6TH87nfESJ6XBSqoVgqkZrcmdLPjkciCzuIMdHxLjY2al3BcIcElqnpOoaqxHg==} - discord.js@14.17.2: - resolution: {integrity: sha512-mrH6ziLVtNtId4bV4bsaUt5jE6NUaiHMPqO5VsSw1VVhFnjFi9duD8ctlo90/6cUH+8uyKBkoq9mSJ35SuuZ7Q==} + discord.js@14.19.3: + resolution: {integrity: sha512-lncTRk0k+8Q5D3nThnODBR8fR8x2fM798o8Vsr40Krx0DjPwpZCuxxTcFMrXMQVOqM1QB9wqWgaXPg3TbmlHqA==} engines: {node: '>=18'} end-of-stream@1.4.4: @@ -339,8 +339,8 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - magic-bytes.js@1.10.0: - resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} + magic-bytes.js@1.12.1: + resolution: {integrity: sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA==} make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -451,8 +451,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici@6.19.8: - resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} + undici@6.21.1: + resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} engines: {node: '>=18.17'} util-deprecate@1.0.2: @@ -464,8 +464,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -489,12 +489,12 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@discordjs/builders@1.10.0': + '@discordjs/builders@1.11.2': dependencies: - '@discordjs/formatters': 0.6.0 + '@discordjs/formatters': 0.6.1 '@discordjs/util': 1.1.1 '@sapphire/shapeshift': 4.0.0 - discord-api-types: 0.37.115 + discord-api-types: 0.38.4 fast-deep-equal: 3.1.3 ts-mixer: 6.0.4 tslib: 2.8.1 @@ -503,35 +503,35 @@ snapshots: '@discordjs/collection@2.1.1': {} - '@discordjs/formatters@0.6.0': + '@discordjs/formatters@0.6.1': dependencies: - discord-api-types: 0.37.115 + discord-api-types: 0.38.4 - '@discordjs/rest@2.4.2': + '@discordjs/rest@2.5.0': dependencies: '@discordjs/collection': 2.1.1 '@discordjs/util': 1.1.1 '@sapphire/async-queue': 1.5.5 '@sapphire/snowflake': 3.5.3 '@vladfrangu/async_event_emitter': 2.4.6 - discord-api-types: 0.37.115 - magic-bytes.js: 1.10.0 + discord-api-types: 0.38.4 + magic-bytes.js: 1.12.1 tslib: 2.8.1 - undici: 6.19.8 + undici: 6.21.1 '@discordjs/util@1.1.1': {} - '@discordjs/ws@1.2.0': + '@discordjs/ws@1.2.2': dependencies: '@discordjs/collection': 2.1.1 - '@discordjs/rest': 2.4.2 + '@discordjs/rest': 2.5.0 '@discordjs/util': 1.1.1 '@sapphire/async-queue': 1.5.5 - '@types/ws': 8.5.13 + '@types/ws': 8.18.1 '@vladfrangu/async_event_emitter': 2.4.6 - discord-api-types: 0.37.115 + discord-api-types: 0.38.4 tslib: 2.8.1 - ws: 8.18.0 + ws: 8.18.2 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -649,7 +649,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/ws@8.5.13': + '@types/ws@8.18.1': dependencies: '@types/node': 22.14.0 @@ -713,22 +713,23 @@ snapshots: diff@4.0.2: {} - discord-api-types@0.37.115: {} + discord-api-types@0.38.4: {} - discord.js@14.17.2: + discord.js@14.19.3: dependencies: - '@discordjs/builders': 1.10.0 + '@discordjs/builders': 1.11.2 '@discordjs/collection': 1.5.3 - '@discordjs/formatters': 0.6.0 - '@discordjs/rest': 2.4.2 + '@discordjs/formatters': 0.6.1 + '@discordjs/rest': 2.5.0 '@discordjs/util': 1.1.1 - '@discordjs/ws': 1.2.0 + '@discordjs/ws': 1.2.2 '@sapphire/snowflake': 3.5.3 - discord-api-types: 0.37.115 + discord-api-types: 0.38.4 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 + magic-bytes.js: 1.12.1 tslib: 2.8.1 - undici: 6.19.8 + undici: 6.21.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -757,7 +758,7 @@ snapshots: lodash@4.17.21: {} - magic-bytes.js@1.10.0: {} + magic-bytes.js@1.12.1: {} make-error@1.3.6: {} @@ -906,7 +907,7 @@ snapshots: undici-types@6.21.0: {} - undici@6.19.8: {} + undici@6.21.1: {} util-deprecate@1.0.2: {} @@ -914,7 +915,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.18.0: {} + ws@8.18.2: {} yn@3.1.1: {} diff --git a/src/commands/nowplaying.ts b/src/commands/nowplaying.ts index 0b406b0..b310d28 100644 --- a/src/commands/nowplaying.ts +++ b/src/commands/nowplaying.ts @@ -4,10 +4,11 @@ import { ApplicationIntegrationType, ButtonBuilder, ButtonStyle, - ChatInputCommandInteraction, + ChatInputCommandInteraction, ContainerBuilder, EmbedBuilder, - InteractionContextType, - SlashCommandBuilder + MessageFlags, + InteractionContextType, type MessageActionRowComponentBuilder, MessageFlagsBitField, + SlashCommandBuilder, TextDisplayBuilder, SectionBuilder, ThumbnailBuilder } from "discord.js"; import {getSongOnPreferredProvider, kyzaify} from "../helper.ts" @@ -51,17 +52,21 @@ export default class PingCommand extends Command { } const songlink = await fetch(`https://api.song.link/v1-alpha.1/links?url=${link}`).then(a => a.json()) const preferredApi = getSongOnPreferredProvider(songlink, link) - + if (preferredApi && usesonglink) { - const embed = new EmbedBuilder() - .setAuthor({ - name: preferredApi.artist, - }) - .setTitle(preferredApi.title) - .setThumbnail(preferredApi.thumbnailUrl) - .setFooter({ - text: "amy jr", - }); + const components = [ + new ContainerBuilder() + .addSectionComponents( + new SectionBuilder() + .setThumbnailAccessory( + new ThumbnailBuilder() + .setURL(preferredApi.thumbnailUrl) + ) + .addTextDisplayComponents( + new TextDisplayBuilder().setContent(`# ${preferredApi.artist} - ${preferredApi.title}`), + ), + ) + ]; const meow = Object.keys(songlink.linksByPlatform) let message = "" @@ -80,14 +85,14 @@ export default class PingCommand extends Command { .setStyle(ButtonStyle.Link) ); } + components[0].addActionRowComponents(nya) if (currentRow.components.length > 0) { nya.push(currentRow); } - await interaction.followUp({ - components: nya, - embeds: [embed] - }); + components: components, + flags: [MessageFlags.IsComponentsV2], + }) } else { const embedfallback = new EmbedBuilder() .setAuthor({