Compare commits

..

No commits in common. "53cc4796f54c75788d17552f55464076b0f5b3f5" and "612ac0e012f1c13ea17e8dbec43e6baaeeb07889" have entirely different histories.

7 changed files with 10 additions and 53 deletions

View file

@ -1,5 +1,5 @@
import {ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, EmbedBuilder} from "discord.js";
import Moon from "../../database/entities/304276391837302787/Moon";
import Moon from "../../database/entities/Moon";
import EmbedColours from "../../constants/EmbedColours";
export default async function List(interaction: ButtonInteraction) {

View file

@ -1,7 +1,6 @@
import { Command } from "../../type/command";
import { CommandInteraction, SlashCommandBuilder } from "discord.js";
import ListMoons from "./moons/list";
import AddMoon from "./moons/add";
export default class Moons extends Command {
constructor() {
@ -21,16 +20,7 @@ export default class Moons extends Command {
.addNumberOption(option =>
option
.setName("page")
.setDescription("The page to start with")))
.addSubcommand(subcommand =>
subcommand
.setName('add')
.setDescription('Add a moon to your count!')
.addStringOption(option =>
option
.setName("description")
.setDescription("What deserved a moon?")
.setRequired(true)));
.setDescription("The page to start with")));
}
public override async execute(interaction: CommandInteraction) {
@ -40,9 +30,6 @@ export default class Moons extends Command {
case "list":
await ListMoons(interaction);
break;
case "add":
await AddMoon(interaction);
break;
}
}
}

View file

@ -1,26 +0,0 @@
import {CommandInteraction, EmbedBuilder} from "discord.js";
import Moon from "../../../database/entities/304276391837302787/Moon";
import EmbedColours from "../../../constants/EmbedColours";
export default async function AddMoon(interaction: CommandInteraction) {
const description = interaction.options.get("description", true).value?.toString();
if (!description || description.length > 255) {
await interaction.reply("Name must be less than 255 characters!");
return;
}
const moonCount = await Moon.FetchMoonCountByUserId(interaction.user.id);
const moon = new Moon(moonCount + 1, description, interaction.user.id);
await moon.Save(Moon, moon);
const embed = new EmbedBuilder()
.setTitle(`${interaction.user.globalName} Got A Moon!`)
.setColor(EmbedColours.Moon)
.setDescription(`${moon.MoonNumber}. ${moon.Description}`)
.setThumbnail("https://cdn.discordapp.com/emojis/374131312182689793.webp?size=96&quality=lossless");
await interaction.reply({ embeds: [ embed ] });
}

View file

@ -1,5 +1,5 @@
import {ActionRowBuilder, ButtonBuilder, ButtonStyle, CommandInteraction, EmbedBuilder} from "discord.js";
import Moon from "../../../database/entities/304276391837302787/Moon";
import Moon from "../../../database/entities/Moon";
import EmbedColours from "../../../constants/EmbedColours";
export default async function ListMoons(interaction: CommandInteraction) {

View file

@ -1,4 +1,3 @@
export default class EmbedColours {
public static readonly Ok = 0x3050ba;
public static readonly Moon = 0x50C878;
}

View file

@ -1,6 +1,6 @@
import { Column, Entity, IsNull } from "typeorm";
import BaseEntity from "../../../contracts/BaseEntity";
import AppDataSource from "../../dataSources/appDataSource";
import BaseEntity from "../../contracts/BaseEntity";
import AppDataSource from "../dataSources/appDataSource";
@Entity()
export default class Moon extends BaseEntity {
@ -46,12 +46,4 @@ export default class Moon extends BaseEntity {
return moons;
}
public static async FetchMoonCountByUserId(userId: string): Promise<number> {
const repository = AppDataSource.getRepository(Moon);
const count = await repository.count({ where: { UserId: userId } });
return count;
}
}

View file

@ -4346,6 +4346,11 @@ typescript@^5.0.0:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
undici-types@~6.13.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5"
integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==
undici-types@~6.19.2:
version "6.19.8"
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"