Files
blitzcrank/commands/calendar/nag/checkin.ts
2025-07-05 17:21:24 -04:00

49 lines
1.1 KiB
TypeScript

import {
type ChatInputCommandInteraction,
SlashCommandBuilder,
} from "discord.js";
import type { Settings } from "./service";
import { Nag, CheckIn } from "./service";
const data = new SlashCommandBuilder()
.setName("checkin")
.setDescription("Check-in for your daily nag")
.addStringOption((option) =>
option
.setName("text")
.setDescription("Optional description of what you have achieved"),
);
async function initialize(settings: Settings) {}
async function execute(interaction: ChatInputCommandInteraction) {
// TODO For now there is only one nag, but in the future this could be different. So let's construct it as a loop for now.
const result = await Nag.findAll({
where: {
userId: interaction.user.id,
},
});
if (!result) {
await interaction.reply(
"Couldn't find any nags for you, what are you checking in for?",
);
return;
}
for (const nag of result) {
await CheckIn.create({
nagId: nag.id,
lastCheckIn: new Date(Date.now()),
});
await interaction.reply("Thanks for checking in!");
break;
}
}
export default function () {
return {
data,
};
}