in my components v2 arc

This commit is contained in:
amy 2025-05-11 19:41:42 +03:30
parent 5f4e28f7bc
commit 13457c3fbe
No known key found for this signature in database
3 changed files with 72 additions and 66 deletions

View file

@ -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"

97
pnpm-lock.yaml generated
View file

@ -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: {}

View file

@ -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({