const { SlashCommandBuilder } = require("discord.js"); const { Card, User } = require("../models"); const { customAlphabet } = require("nanoid"); module.exports = { data: new SlashCommandBuilder() .setName("debug_drop") .setDescription("Drop a card") .addIntegerOption((option) => option .setName("id") .setDescription("The id of the character to drop") .setRequired(true) ), permissionLevel: 2, async execute(interaction) { //get user id from database given the userID const user = await User.findOne({ where: { discordId: interaction.member.id } }); //create new card with the given character id, and the user id const nanoid = customAlphabet('23456789ABCDEFGHJKLMNPRSTUVWXYZ',6); //Up to 887.503.681 const identifier = nanoid(); const existingCharacterCount = await Card.count({ where: { characterId: interaction.options.getInteger("id") } }); const card = await Card.create({ characterId: interaction.options.getInteger("id"), identifier: identifier, quality: 1, printNr: existingCharacterCount + 1, userId: user.id }); //reply with the new card id interaction.reply({ content: `Dropped card ${card.id}`, ephemeral: false }); } }