问题描述
我正在我的不和谐机器人上做一个经济系统。一切顺利,但是当我使用一些减法命令或撤回命令时,您的余额将被减去 它变成了负数,比如我将余额减去 50,但我的余额现在只有 25,我的余额现在是 -25 如何解决?
我的余额文件:
module.exports ={
name:'bal',description: "bal for user",execute(message,args,discord,db){
const target = message.mentions.users.first() || message.author
const targetid = target.id
if(db.get(`user_${targetid}.bal`) === null){
message.channel.send('you need to create an account')
}else{
let bal = db.get(`user_${targetid}.bal`)
let bank = db.get(`user_${targetid}.bank`)
let embed = new discord.MessageEmbed()
.setTitle(`${target.username} BALANCE`)
.setColor('GREEN')
.setDescription(`coins: ${bal} Cheese Coins \nbank: ${bank} Cheese Coins`)
message.channel.send(embed)
}
}
}
我的减法文件:
module.exports ={
name:'sub',description: "sub",db){
const hey = message.mentions.users.first()
const number = args[1]
if(!hey){
message.channel.send('Mention someone or ill take yours')
}else if(!number){
message.channel.send('Put a number,take it or leave it')
}else{
let embed = new discord.MessageEmbed()
.setTitle('Poor speedrun Any%')
.setColor('YELLOW')
.setDescription(`Total of ${number} money has revoked been from ${hey},**SAD ${hey} NOISES**`)
db.subtract(`user_${hey.id}.bal`,number)
message.channel.send(embed)
}
}
}
解决方法
验证用户余额是否小于您尝试减去的金额。
const userbalance = db.get(`user_${hey.id}.bal`);
if(userbalance < number) return;
db.subtract(`user_${hey.id}.bal`,number)