Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
No combinar valores en el comando de depósito, usando discord.js

Estoy agregando un comando de depósito, pero cuando trato de agregar la amount en bankBalance , no los agrega correctamente en números enteros, esto puede sonar confuso, le daré un ejemplo.

Ejemplo:

Comando: ~deposit 100 , Saldo del usuario: Monedero: 120, Banco: 0, Saldo del usuario de salida: Monedero: 20, Banco: 0100

Ojalá esto lo explique, de todos modos aquí está mi código:

 const { MessageEmbed } = require('discord.js'); const Database = require('@replit/database'); const db = new Database(); module.exports = { name: 'deposit', aliases: ['dep'], category: 'Economy', description: 'Deposits all or a amount of balance into the bank.', usage: 'deposit', userperms: [], botperms: [], run: async (client, message, args, prefix) => { if (message.author.bot) return; let walletBalance = await db.get(`wallet_${message.author.id}`) let bankBalance = await db.get(`bank_${message.author.id}`) if (walletBalance === null) walletBalance = 0 if (bankBalance === null) bankBalance = 0 console.log(walletBalance, bankBalance) let amount = args[0] if (!amount) amount = walletBalance if (walletBalance == 0) return message.reply('You don\'t have any money!') if (amount) { if (isNaN(amount)) { if (amount.toLowerCase().includes('all')) amount = walletBalance; } if (isNaN(amount)) return message.reply('The amount must be a number!') if (amount > walletBalance) return message.reply('You don\'t have enough balance in your wallet to do this!') if (amount) { await db.set(`wallet_${message.author.id}`, walletBalance - amount).then( await db.set(`bank_${message.author.id}`, bankBalance + amount).then( message.reply(`Successfully deposited ${amount.toLocaleString()} into your bank!`) ) ) } } } }

Nota: estoy usando repetir

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En su caso, la variable bankBalance o la amount es una cadena que hace que ambas se conviertan en una cadena y luego se agreguen entre sí. Una solución sería utilizar la función parseInt para convertir ambos valores en un número.

Ejemplo:

 await db.set(`wallet_${message.author.id}`, parseInt(walletBalance) - parseInt(amount)); await db.set(`bank_${message.author.id}`, parseInt(bankBalance) + parseInt(amount));

Ejemplo completo:

 const { MessageEmbed } = require('discord.js'); const Database = require('@replit/database'); const db = new Database(); module.exports = { name: 'deposit', aliases: ['dep'], category: 'Economy', description: 'Deposits all or a amount of balance into the bank.', usage: 'deposit', userperms: [], botperms: [], run: async (client, message, args, prefix) => { if (message.author.bot) return; // Get balances and ensure they are number values let walletBalance = parseInt(await db.get(`wallet_${message.author.id}`)) let bankBalance = parseInt(await db.get(`bank_${message.author.id}`)) if (!walletBalance) walletBalance = 0 if (!bankBalance) bankBalance = 0 console.log(walletBalance, bankBalance) let amount = args[0] if (!amount) amount = walletBalance amount = parseInt(amount); // Ensure the amount is a number value if (walletBalance == 0) return message.reply('You don\'t have any money!') if (isNaN(amount)) { if (amount.toLowerCase().includes('all')) amount = walletBalance; } if (isNaN(amount)) return message.reply('The amount must be a number!') if (amount > walletBalance) return message.reply('You don\'t have enough balance in your wallet to do this!') if (amount) { await db.set(`wallet_${message.author.id}`, walletBalance - amount); await db.set(`bank_${message.author.id}`, bankBalance + amount); message.reply(`Successfully deposited ${amount.toLocaleString()} into your bank!`); } } }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda