Files
toho-miku/commands/cooldowns.js
Minzkraut 147cb1553d Cooldowns: Add support for new Patreon multi drops/pickups
Also include <t:> timestamp for Daily reset date
2023-03-13 03:31:20 +01:00

43 lines
1.5 KiB
JavaScript

const { SlashCommandBuilder } = require("discord.js");
const { Card, User, Character } = require("../models");
const { UserUtils } = require("../util");
//fetch all cards owned by the user and list them
module.exports = {
data: new SlashCommandBuilder()
.setName("cooldowns")
.setDescription("List cooldowns"),
permissionLevel: 0,
async execute(interaction) {
//fetch the user given the userID and include his cards
const user = await UserUtils.getUserByDiscordId(interaction.member.id);
//get user cooldowns using user utils
const cooldowns = await UserUtils.getCooldowns(user, (await UserUtils.getPatreonPerks(interaction.client, user))['tier']);
let reply = "Cooldowns:\n";
if (cooldowns.remainingDrops > 0) {
reply += `Drop: ${cooldowns.remainingDrops} remaining\n`;
} else {
reply += `Drop: Resets in ${cooldowns.nextDropResetFormatted}\n`;
}
if (cooldowns.remainingClaims > 0) {
reply += `Claim: ${cooldowns.remainingClaims} remaining\n`;
} else {
reply += `Claim: Resets in ${cooldowns.nextClaimResetFormatted}\n`;
}
if (cooldowns.nextDaily > 0) {
reply += `Daily: ${cooldowns.nextDailyFormatted}\n`;
} else {
reply += `Daily: Ready!\n`;
}
interaction.reply({
content: reply,
ephemeral: false
});
}
}