我怎样才能将我的所有余额转移给另一个会员?猫鼬
How can I transfer all of my balance into another member? Mongoose
我正在执行一个命令,它将我所有的余额都交给另一个成员,所以如果我使用像 ?give <member> all
这样的命令,我需要找出它,
if(args[1] === "all") {
const member = await message.guild.members.fetch(args[0]) || message.mentions.members.first()
const data = await economy.findOne({
guildID: message.guild.id,
})
if(!data) return message.reply(`You don't have any records yet.`)
if(0 === data.wallet) return message.reply(`You don't have enough balance, your current balance is $${data.wallet.toLocaleString()}`)
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, data) => {
data.wallet += data.wallet
data.save();
})
economy.findOne({
guildID: message.guild.id,
userID: message.author.id
}, async(err, data) => {
if(data) {
const embed = new MessageEmbed()
.setDescription(`You have successfully given ${member.user.username} amount of $${data.wallet.toLocaleString()}`)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
data.wallet -= data.wallet
data.save()
}
})
这是我到目前为止尝试过的方法。
这是将我的余额转移给另一个用户的部分:
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, data) => {
data.wallet += data.wallet
data.save();
})
事情是它不起作用,因为它全部针对 member
您似乎对原始用户和“目标”用户都使用了变量 data
。例如,在您的第二个代码块中,您不是将原始用户的余额添加到 data
,而是将(目标用户的)data
添加到 data
;基本上,您正在使目标用户的数据翻倍。
尝试将您的 data
变量重命名为
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, other) => {
other.wallet += data.wallet;
other.save();
})
我正在执行一个命令,它将我所有的余额都交给另一个成员,所以如果我使用像 ?give <member> all
这样的命令,我需要找出它,
if(args[1] === "all") {
const member = await message.guild.members.fetch(args[0]) || message.mentions.members.first()
const data = await economy.findOne({
guildID: message.guild.id,
})
if(!data) return message.reply(`You don't have any records yet.`)
if(0 === data.wallet) return message.reply(`You don't have enough balance, your current balance is $${data.wallet.toLocaleString()}`)
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, data) => {
data.wallet += data.wallet
data.save();
})
economy.findOne({
guildID: message.guild.id,
userID: message.author.id
}, async(err, data) => {
if(data) {
const embed = new MessageEmbed()
.setDescription(`You have successfully given ${member.user.username} amount of $${data.wallet.toLocaleString()}`)
.setColor('RANDOM')
.setTimestamp()
message.channel.send({embeds: [embed]})
data.wallet -= data.wallet
data.save()
}
})
这是我到目前为止尝试过的方法。
这是将我的余额转移给另一个用户的部分:
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, data) => {
data.wallet += data.wallet
data.save();
})
事情是它不起作用,因为它全部针对 member
您似乎对原始用户和“目标”用户都使用了变量 data
。例如,在您的第二个代码块中,您不是将原始用户的余额添加到 data
,而是将(目标用户的)data
添加到 data
;基本上,您正在使目标用户的数据翻倍。
尝试将您的 data
变量重命名为
economy.findOne({
guildID: message.guild.id,
userID: member.id,
}, async(err, other) => {
other.wallet += data.wallet;
other.save();
})