Estoy construyendo una cosita de juego donde puedes comerciar y esas cosas. Actualmente estoy creando el comando de administrador para ello, para que pueda dar a los miembros cantidades de materiales. Aquí está el código:
try { const targetData = await profileModel.findOne({ userID: target.id }); if (!targetData) { return message.channel.send(config.basemessages.messagesaccountmissing); } await profileModel.findOneAndUpdate( { userID: target.id, }, { $inc: { bank: amount, }, } ); message.channel.send(`The targeted member has been given \`${amount}\` amount of \`${material}\`.`) } catch (err) { console.log(err); message.channel.send(`Error executing command. EC: \`${config.errorcodes.err2}\`.`) // Error Systeem } Dado que tengo más de 200 artículos diferentes, sería ineficiente si copio este bloque más de 200 veces solo para darle un artículo a alguien. El problema es que el bank debe ser el nombre exacto de una fila en un documento de MongoDB. Acabo de descubrir que no puedes convertir eso en una variable (o eso creo). Quiero reemplazar eso con, por ejemplo, material , donde material es args[1] (el perímetro). Ejemplo de uso:
$give @member iron 40 Espero que quede claro lo que quiero decir. ¿Hay un trabajo alrededor de esto? (Solo el perímetro del bank no funciona, la cantidad sí funciona con una variable).