55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
const {
|
|
buildAchievementsEmbed,
|
|
buildProfileButtons,
|
|
getProfileContextFromFooter,
|
|
requireProfileOwner
|
|
} = require(
|
|
"../../utils/profileSystem"
|
|
);
|
|
|
|
module.exports = {
|
|
name:
|
|
"profileAchievementsLeft",
|
|
|
|
async execute(
|
|
interaction
|
|
) {
|
|
const context =
|
|
await requireProfileOwner(
|
|
interaction
|
|
);
|
|
|
|
if (!context) {
|
|
return;
|
|
}
|
|
|
|
const user =
|
|
await interaction.client.users.fetch(
|
|
context.profileUserId
|
|
);
|
|
|
|
const embed =
|
|
await buildAchievementsEmbed(
|
|
interaction.guildId,
|
|
user,
|
|
context.sessionOwnerId,
|
|
context.page - 1
|
|
);
|
|
|
|
const pageContext =
|
|
getProfileContextFromFooter(
|
|
embed.data.footer?.text
|
|
);
|
|
|
|
return interaction.update({
|
|
embeds: [embed],
|
|
components:
|
|
buildProfileButtons(
|
|
"achievements",
|
|
pageContext?.page ?? 0,
|
|
pageContext?.pageCount ?? 1
|
|
)
|
|
});
|
|
}
|
|
};
|