melhore esse código aq

const { EmbedBuilder, PermissionsBitField, ApplicationCommandOptionType } = require('discord.js')
const Command = require('../../structures/Command')
const { Application } = require('../../database/models/Models')
const crypto = require("crypto");
const sendLogs = require('../../utils/sendLogs');
const moment = require('moment')
const c = require('chalk');
const { handleSharedApplication } = require('../../utils/expiredApplicationManager');

const appsIds = {
    ['bateponto1']: '0c2a35af2e864f188d7b5cfb63681e89',
    ['bateponto2']: '621a38682910460488d0d4f19af95ce6'
}

module.exports = class extends Command {
    constructor(client) {
        super(client, {
            name: 'registerapp',
            description: 'Registre uma aplicação.',
            slash: true,
            default_member_permissions: PermissionsBitField.Flags.Administrator,
            options: [
                {
                    name: 'user',
                    type: ApplicationCommandOptionType.User,
                    description: 'Usuário alvo.',
                    required: true
                },
                {
                    name: 'valor_mensal',
                    type: ApplicationCommandOptionType.Integer,
                    description: 'ID da aplicação.',
                    required: true
                },
                {
                    name: "app_type",
                    description: "Tipo do aplicativo",
                    type: ApplicationCommandOptionType.String,
                    required: true,
                    choices: [
                        {
                            name: "bateponto2",
                            value: 'bateponto2'
                        },
                        {
                            name: "bateponto1",
                            value: 'bateponto1'
                        },
                        {
                            name: "ticket",
                            value: 'ticket'
                        },
                        {
                            name: "mmorpg",
                            value: 'mmorpg'
                        },
                        {
                            name: "outros",
                            value: 'others'
                        },
                    ]
                },
                {
                    name: 'id',
                    type: ApplicationCommandOptionType.String,
                    description: 'ID da aplicação.',
                    required: false
                },
                {
                    name: 'serverid',
                    type: ApplicationCommandOptionType.String,
                    description: 'ID do servidor.',
                    required: false
                },
            ]
        })
    }

    run = async (interaction) => {
        if (interaction.user.id !== '358282551997104129') return interaction.reply({ content: 'Você não tem permissão para usar esse comando.', ephemeral: true })
        await interaction.deferReply({ ephemeral: true })

        const appId = interaction.options.getString('id')
        const app_type = interaction.options.getString('app_type')
        const userObject = interaction.options.getMember('user')
        if (!userObject) return interaction.editReply({ content: `<:n_negative:1261856702496636958> Não foi possível encontrar esse usuário`, ephemeral: true })

        const monthlyFee = interaction.options.getInteger('valor_mensal')
        const serverId = interaction.options.getString('serverid')
        const userId = userObject.id

        let applicationData = await Application.findOne({ id: appId })
        if (applicationData) return interaction.editReply({ content: `<:n_negative:1261856702496636958> Essa aplicação já está registrada no banco de dados \`(${applicationData.id})\` ${applicationData.owner ? `- Dono: <@${applicationData.owner}> \`(${applicationData.owner})\`` : '(sem usuário definido)'}` })

        const hostId = appId || appsIds[app_type]

        const api = this.client.square_api
        const app = await api.applications.get(hostId).catch(() => null)

        const now = moment()

        applicationData = new Application({
            id: appId || `shared-${app_type}-${crypto.randomBytes(10).toString('hex')}`,
            hostId,
            name: app?.name || 'Aplicação sem nome',
            owner: userId,
            type: app_type,
            monthlyFee,
            createdTimestamp: now.valueOf(),
            lastRenovationTimestamp: now.valueOf(),
            nextRenewalTimestamp: now.add(30, 'days').valueOf(),
        })

        if (serverId) {
            applicationData.avaliableServers = [serverId]
            applicationData.maxAvaliableServers = 1
        }

        sendLogs(`<:n_yellow:1178774147556446208> [App-Manager] A aplicação \`${appId ? (app?.name || applicationData.id) : applicationData.id}\` (\`${appId || `shared_${app_type}`}\`) foi registrada com sucesso para o usuário ${userObject}.`)
        console.log(c.green(`A aplicação \`${appId ? (app?.name || applicationData.id) : applicationData.id}\` (\`${appId || `shared_${app_type}`}\`) foi registrada com sucesso para o usuário ${userObject}.`))

        await applicationData.save()// Salvar as alterações no banco de dados

        if (applicationData.avaliableServers?.length >= 1) await handleSharedApplication(applicationData, true);

        const embed = new EmbedBuilder()
            .setTitle('Aplicação Registrada')
            .setDescription(`A aplicação \`${appId ? (app?.name || applicationData.id) : applicationData.id}\` (\`${appId || `shared_${app_type}`}\`) foi registrada com sucesso para o usuário ${userObject}.`)
            .setColor('#00ff00')

        await interaction.editReply({ embeds: [embed], ephemeral: true })

        const embed2 = new EmbedBuilder()
            .setTitle('Aplicação Registrada')
            .setAuthor({ name: `${userObject.user.username}`, iconURL: userObject.user.displayAvatarURL({ dynamic: true }) })
            .setDescription(`${userObject.toString()}, a aplicação \`${appId ? (app?.name || applicationData.id) : applicationData.id}\` (\`${appId || `shared_${app_type}`}\`) foi registrada em seu usuário. Vá em <#1264980225150681098> para gerenciar`)
            .setColor('#00ff00')

        await userObject.roles.add('995154994183548953')
        await this.client.channels.cache.get('1264758034979360860').send({ content: userObject.toString(), embeds: [embed2] })
    }
}