当我使用!flip bot时,如果随机数小于60,它可以减去下注,但如果随机数大于或等于60,它就不能工作。当机器人获胜时,不会向用户添加硬币,而是数字。例如:用户有5,000枚硬币,然后他!flip 2000,随机数掉80 (超过60),然后用户余额变成非50002000,它成为7000帮助请
const Discord = require("discord.js");
let coins = require("../coins.json");
module.exports.run = async (bot, message, args) => {
let random = Math.floor(Math.random() * 100) + 1;
let bal = coins[message.author.id].coins;
if (bal < args[0]) return message.channel.send(`${message.author}, not enough coins!`)
if (!args[0]) return message.channel.send(`${message.author}, Write bet!`)
if (random >= 60) {
let win = new Discord.MessageEmbed()
.setDescription(`${message.author}`)
.addField(`Victory!`, `Number: ${random}`)
.setColor("YELLOW")
message.channel.send(win)
coins[message.author.id] = {
coins: coins[message.author.id].coins + args[0]
}
};
if (random < 60) {
let lose = new Discord.MessageEmbed()
.setDescription(`${message.author}`)
.addField(`Lose`, `Number: ${random}`)
.setColor("RED")
message.channel.send(lose)
coins[message.author.id] = {
coins: coins[message.author.id].coins - args[0]
}
}
};
module.exports.help = {
name: "flip"
}
发布于 2020-05-23 09:04:37
您根本不是在添加,而是将字符串组合在一起。
您需要将硬币和余额存储为数字,或者只使用parseInt()
转换现有值
const Discord = require("discord.js");
let coins = require("../coins.json");
module.exports.run = async (bot, message, args) => {
let random = Math.floor(Math.random() * 100) + 1;
let bal = parseInt(coins[message.author.id].coins); // Convert user's balance to number type
if (bal < parseInt(args[0])) return message.channel.send(`${message.author}, not enough coins!`)
if (!args[0]) return message.channel.send(`${message.author}, Write bet!`)
if (random >= 60) {
let win = new Discord.MessageEmbed()
.setDescription(`${message.author}`)
.addField(`Victory!`, `Number: ${random}`)
.setColor("YELLOW")
message.channel.send(win)
coins[message.author.id] = {
coins: parseInt(coins[message.author.id].coins) + parseInt(args[0])
}
};
if (random < 60) {
let lose = new Discord.MessageEmbed()
.setDescription(`${message.author}`)
.addField(`Lose`, `Number: ${random}`)
.setColor("RED")
message.channel.send(lose)
coins[message.author.id] = {
coins: parseInt(coins[message.author.id].coins) - parseInt(args[0])
}
}
};
module.exports.help = {
name: "flip"
}
https://stackoverflow.com/questions/61964936
复制相似问题