From acc0da7754ab82db4dc14c2855f91d5d849bd2d7 Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Tue, 6 Jun 2023 19:21:34 -0700 Subject: [PATCH] remove cash system --- commands/bank.js | 203 +++---------------------------------- commands/bounty.js | 13 +-- commands/collect-income.js | 9 +- commands/leaderboard.js | 7 +- commands/money.js | 13 +-- commands/purchase-uav.js | 6 +- package.json | 2 +- structures/user.js | 12 +-- util/KillfeedHandler.js | 11 +- 9 files changed, 38 insertions(+), 238 deletions(-) diff --git a/commands/bank.js b/commands/bank.js index 5a3fd81..012d22f 100644 --- a/commands/bank.js +++ b/commands/bank.js @@ -12,34 +12,6 @@ module.exports = { member: [], }, options: [ - { - name: "deposit", - description: "Deposit cash into your bank", - value: "deposit", - type: 1, - options: [{ - name: "amount", - description: "Amount to deposit", - value: "amount", - type: 10, - min_value: 0.01, - required: true, - }] - }, - { - name: "withdraw", - description: "Withdraw cash from you bank", - value: "deposit", - type: 1, - options: [{ - name: "amount", - description: "Amount to withdraw", - value: "amount", - type: 10, - min_value: 0.01, - required: true, - }] - }, { name: "balance", description: "View your bank balance and count your cash", @@ -53,29 +25,6 @@ module.exports = { required: false, }] }, - { - name: "give", - description: "Give a user cash", - value: "give", - type: 1, - options: [ - { - name: "user", - description: "User to give cash to", - value: "user", - type: 6, - required: true, - }, - { - name: "amount", - description: "The amount to give", - value: "amount", - type: 10, - min_value: 0.01, - required: true, - }, - ] - }, { name: "transfer", description: "Transfer directly to users bank", @@ -120,17 +69,14 @@ module.exports = { userID: interaction.member.user.id, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: 0.00, - } + balance: GuildDB.startingBalance, } } } // Register bank for user let newBank = new User(); - newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, 0); + newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance); newBank.save().catch(err => { if (err) return client.sendInternalError(interaction, err); }); @@ -142,63 +88,7 @@ module.exports = { if (!success) return client.sendInternalError(interaction, 'Failed to add bank'); } - if (args[0].name == 'deposit') { - if (banking.guilds[GuildDB.serverID].bankAccount.cash.toFixed(2) - args[0].options[0].value < 0) { - const nsf = new EmbedBuilder() - .setDescription('**Bank Notice:** NSF. Non sufficient funds') - .setColor(client.config.Colors.Red); - - return interaction.send({ embeds: [nsf] }); - } - - const newBalance = banking.guilds[GuildDB.serverID].bankAccount.balance + args[0].options[0].value; - const newCash = Math.abs(banking.guilds[GuildDB.serverID].bankAccount.cash.toFixed(2) - args[0].options[0].value); - - client.dbo.collection("users").updateOne({ "user.userID": interaction.member.user.id }, { - $set: { - [`user.guilds.${GuildDB.serverID}.bankAccount.balance`]: newBalance, - [`user.guilds.${GuildDB.serverID}.bankAccount.cash`]: newCash - } - }, function(err, res) { - if (err) return client.sendInternalError(interaction, err); - }); - - const successEmbed = new EmbedBuilder() - .setTitle('Bank Notice:') - .setDescription(`Successfully deposited **$${args[0].options[0].value.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}**\nUse \`/bank balance\` to view your balance`) - .setColor(client.config.Colors.Green); - - return interaction.send({ embeds: [successEmbed] }); - - } else if (args[0].name == 'withdraw') { - if (args[0].options[0].value > banking.guilds[GuildDB.serverID].bankAccount.balance) { - let nsf = new EmbedBuilder() - .setDescription('**Bank Notice:** NSF. Non sufficient funds') - .setColor(client.config.Colors.Red); - - return interaction.send({ embeds: [nsf] }); - } - - const newBalance = banking.guilds[GuildDB.serverID].bankAccount.balance - args[0].options[0].value; - const newCash = banking.guilds[GuildDB.serverID].bankAccount.cash + args[0].options[0].value; - - client.dbo.collection("users").updateOne({ "user.userID": interaction.member.user.id }, { - $set: { - [`user.guilds.${GuildDB.serverID}.bankAccount.balance`]: newBalance, - [`user.guilds.${GuildDB.serverID}.bankAccount.cash`]: newCash - } - }, function(err, res) { - if (err) return client.sendInternalError(interaction, err); - }); - - const successEmbed = new EmbedBuilder() - .setTitle('Bank Notice:') - .setDescription(`Successfully withdrew **$${args[0].options[0].value.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}**\nUse \`/bank balance\` to view your cash balance`) - .setColor(client.config.Colors.Green); - - return interaction.send({ embeds: [successEmbed] }); - - } else if (args[0].name == 'balance') { + if (args[0].name == 'balance') { let balanceEmbed = new EmbedBuilder() .setColor(client.config.Colors.Default); @@ -213,10 +103,7 @@ module.exports = { userID: targetUserID, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: 0.00, - } + balance: GuildDB.startingBalance, } } } @@ -240,85 +127,22 @@ module.exports = { balanceEmbed.setTitle(`${DiscordUser.tag.split("#")[0]}'s Bank Records`); balanceEmbed.addFields( - { name: '**Cash**', value: `$${targetUserBanking.guilds[GuildDB.serverID].bankAccount.cash.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, - { name: '**Bank**', value: `$${targetUserBanking.guilds[GuildDB.serverID].bankAccount.balance.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, - { name: '**Total**', value: `$${(targetUserBanking.guilds[GuildDB.serverID].bankAccount.balance + targetUserBanking.guilds[GuildDB.serverID].bankAccount.cash).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }); + { name: '**Bank**', value: `$${targetUserBanking.guilds[GuildDB.serverID].balance.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, } else { // Show command authors balance balanceEmbed.setTitle('Personal Bank Records'); balanceEmbed.addFields( - { name: '**Cash**', value: `$${banking.guilds[GuildDB.serverID].bankAccount.cash.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, - { name: '**Bank**', value: `$${banking.guilds[GuildDB.serverID].bankAccount.balance.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, - { name: '**Total**', value: `$${(banking.guilds[GuildDB.serverID].bankAccount.balance + banking.guilds[GuildDB.serverID].bankAccount.cash).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }); + { name: '**Bank**', value: `$${banking.guilds[GuildDB.serverID].balance.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}`, inline: true }, } return interaction.send({ embeds: [balanceEmbed] }); - } else if (args[0].name == 'give') { - // send money from wallet - - if (banking.guilds[GuildDB.serverID].bankAccount.cash.toFixed(2) - args[0].options[1].value < 0) { - let embed = new EmbedBuilder() - .setDescription('**Bank Notice:** NSF. Non sufficient funds') - .setColor(client.config.Colors.Red); - - return interaction.send({ embeds: [embed] }); - } - - const newCash = banking.guilds[GuildDB.serverID].bankAccount.cash - args[0].options[1].value; - - client.dbo.collection("users").updateOne({ "user.userID": interaction.member.user.id }, { - $set: { - [`user.guilds.${GuildDB.serverID}.bankAccount.cash`]: newCash - } - }, function(err, res) { - if (err) return client.sendInternalError(interaction, err); - }); - - const targetUserID = args[0].options[0].value.replace('<@!', '').replace('>', ''); - let targetUserBanking = await client.dbo.collection("users").findOne({"user.userID": targetUserID}).then(banking => banking); - - let newTargetCash = targetUserBanking.guilds[GuildDB.serverID].bankAccount.cash + args[0].options[1].value; - - if (!targetUserBanking) { - targetUserBanking = { - userID: targetUserID, - guilds: { - [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: newTargetCash, - } - } - } - } - - // Register bank for user - let newBank = new User(); - newBank.createUser(targetUserID, GuildDB.serverID, GuildDB.startingBalance, newTargetCash); - newBank.save().catch(err => { - if (err) return client.sendInternalError(interaction, err); - }); - } else targetUserBanking = targetUserBanking.user; - - if (!client.exists(targetUserBanking.guilds[GuildDB.serverID])) { - const success = addUser(targetUserBanking.guilds, GuildDB.serverID, targetUserID, client, GuildDB.startingBalance); - if (!success) return client.sendInternalError(interaction, 'Failed to add bank'); - } - - const successEmbed = new EmbedBuilder() - .setTitle('Success') - .setDescription(`Successfully gave <@${targetUserID}> **$${args[0].options[1].value.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}**`) - .setColor(client.config.Colors.Green); - - return interaction.send({ embeds: [successEmbed] }); - } else if (args[0].name == 'transfer') { // send money from bank - if (banking.guilds[GuildDB.serverID].bankAccount.balance.toFixed(2) - args[0].options[1].value < 0) { + if (banking.guilds[GuildDB.serverID].balance.toFixed(2) - args[0].options[1].value < 0) { let embed = new EmbedBuilder() .setTitle('**Bank Notice:** NSF. Non sufficient funds') .setColor(client.config.Colors.Red); @@ -326,9 +150,9 @@ module.exports = { return interaction.send({ embeds: [embed] }); } - const newBalance = banking.guilds[GuildDB.serverID].bankAccount.balance - args[0].options[1].value; + const newBalance = banking.guilds[GuildDB.serverID].balance - args[0].options[1].value; - client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.bankAccount.balance`]:newBalance}}, function(err, res) { + client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, function(err, res) { if (err) return client.sendInternalError(interaction, err); }); @@ -340,10 +164,7 @@ module.exports = { userID: targetUserID, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: (GuildDB.startingBalance + args[0].options[1].value), - cash: 0.00, - } + balance: (GuildDB.startingBalance + args[0].options[1].value), } } } @@ -353,9 +174,9 @@ module.exports = { }); } else targetUserBanking = targetUserBanking.user; - const newTargetBalance = targetUserBanking.guilds[GuildDB.serverID].bankAccount.balance + args[0].options[1].value; + const newTargetBalance = targetUserBanking.guilds[GuildDB.serverID].balance + args[0].options[1].value; - client.dbo.collection("users").updateOne({"user.userID":targetUserID},{$set:{[`user.guilds.${GuildDB.serverID}.bankAccount.balance`]:newTargetBalance}}, function(err, res) { + client.dbo.collection("users").updateOne({"user.userID":targetUserID},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newTargetBalance}}, function(err, res) { if (err) return client.sendInternalError(interaction, err); }); diff --git a/commands/bounty.js b/commands/bounty.js index 2a308d2..7287a27 100644 --- a/commands/bounty.js +++ b/commands/bounty.js @@ -58,17 +58,14 @@ module.exports = { userID: interaction.member.user.id, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: 0.00, - } + balance: GuildDB.startingBalance, } } } // Register bank for user let newBank = new User(); - newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, 0); + newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance); newBank.save().catch(err => { if (err) return client.sendInternalError(interaction, err); }); @@ -80,7 +77,7 @@ module.exports = { if (!success) return client.sendInternalError(interaction, 'Failed to add bank'); } - if (args[0].options[0].value > banking.guilds[GuildDB.serverID].bankAccount.balance) { + if (args[0].options[0].value > banking.guilds[GuildDB.serverID].balance) { let nsf = new EmbedBuilder() .setDescription('**Bank Notice:** NSF. Non sufficient funds') .setColor(client.config.Colors.Red); @@ -88,11 +85,11 @@ module.exports = { return interaction.send({ embeds: [nsf] }); } - const newBalance = banking.guilds[GuildDB.serverID].bankAccount.balance - args[0].options[1].value; + const newBalance = banking.guilds[GuildDB.serverID].balance - args[0].options[1].value; client.dbo.collection("users").updateOne({ "user.userID": interaction.member.user.id }, { $set: { - [`user.guilds.${GuildDB.serverID}.bankAccount.balance`]: newBalance, + [`user.guilds.${GuildDB.serverID}.balance`]: newBalance, } }, function(err, res) { if (err) return client.sendInternalError(interaction, err); diff --git a/commands/collect-income.js b/commands/collect-income.js index a1ed70e..85990dc 100644 --- a/commands/collect-income.js +++ b/commands/collect-income.js @@ -46,10 +46,7 @@ module.exports = { userID: interaction.member.user.id, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: 0.00, - }, + balance: GuildDB.startingBalance, lastIncome: new Date('2000-01-01T00:00:00'), } } @@ -57,7 +54,7 @@ module.exports = { // Register bank for user let newBank = new User(); - newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance, 0); + newBank.createUser(interaction.member.user.id, GuildDB.serverID, GuildDB.startingBalance); newBank.save().catch(err => { if (err) return client.sendInternalError(interaction, err); }); @@ -87,7 +84,7 @@ module.exports = { let totalIncome = income.reduce((x, y) => x + y, 0) let newData = banking.guilds[GuildDB.serverID]; - newData.bankAccount.balance += totalIncome; + newData.balance += totalIncome; newData.lastIncome = now; client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}`]: newData}}, function(err, res) { diff --git a/commands/leaderboard.js b/commands/leaderboard.js index e17558c..08ad60c 100644 --- a/commands/leaderboard.js +++ b/commands/leaderboard.js @@ -51,10 +51,8 @@ module.exports = { let users = await client.dbo.collection("users").find({}).toArray(); - users.map(u => u.user.guilds[GuildDB.serverID].bankAccount.total = u.user.guilds[GuildDB.serverID].bankAccount.balance + u.user.guilds[GuildDB.serverID].bankAccount.cash); - leaderboard = users.sort(function(a, b) { - return b.user.guilds[GuildDB.serverID].bankAccount.total - a.user.guilds[GuildDB.serverID].bankAccount.total; + return b.user.guilds[GuildDB.serverID].balance - a.user.guilds[GuildDB.serverID].balance; }); } else { @@ -70,7 +68,6 @@ module.exports = { }); } - let limit = args[1].value > leaderboard.length ? leaderboard.length : args[1].value; @@ -97,7 +94,7 @@ module.exports = { category == 'deathstreak' ? `${leaderboard[i].deathStreak} Deathstreak` : category == 'worst_deathstreak' ? `${leaderboard[i].worstDeathStreak} Deathstreak` : category == 'longest_kill' ? `${leaderboard[i].longestKill}m` : - category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].bankAccount.total).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` : 'N/A Error'; + category == 'money' ? `$${(leaderboard[i].user.guilds[GuildDB.serverID].balance).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}` : 'N/A Error'; if (category == 'money') des += `**${i+1}.** <@${leaderboard[i].user.userID}> - **${stats}**\n` else leaderboardEmbed.addFields({ name: `**${i+1}. ${leaderboard[i].gamertag}**`, value: `**${stats}**`, inline: true }); diff --git a/commands/money.js b/commands/money.js index 92a1794..90e5366 100644 --- a/commands/money.js +++ b/commands/money.js @@ -84,17 +84,14 @@ module.exports = { userID: targetUserID, guilds: { [GuildDB.serverID]: { - bankAccount: { - balance: GuildDB.startingBalance, - cash: 0.00, - } + balance: GuildDB.startingBalance, } } } // Register bank for user let newBank = new User(); - await newBank.createUser(targetUserID, GuildDB.serverID, GuildDB.startingBalance, 0); + await newBank.createUser(targetUserID, GuildDB.serverID, GuildDB.startingBalance); await newBank.save().catch(err => { if (err) return client.sendInternalError(interaction, err); }); @@ -107,10 +104,10 @@ module.exports = { } let newBalance = args[0].name == 'add' - ? banking.guilds[GuildDB.serverID].bankAccount.balance + args[0].options[0].value - : banking.guilds[GuildDB.serverID].bankAccount.balance - args[0].options[0].value; + ? banking.guilds[GuildDB.serverID].balance + args[0].options[0].value + : banking.guilds[GuildDB.serverID].balance - args[0].options[0].value; - client.dbo.collection("users").updateOne({"user.userID":targetUserID},{$set:{[`user.guilds.${GuildDB.serverID}.bankAccount.balance`]:newBalance}}, function(err, res) { + client.dbo.collection("users").updateOne({"user.userID":targetUserID},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, function(err, res) { if (err) return client.sendInternalError(interaction, err); }); diff --git a/commands/purchase-uav.js b/commands/purchase-uav.js index a3fc836..7d5f7e7 100644 --- a/commands/purchase-uav.js +++ b/commands/purchase-uav.js @@ -68,7 +68,7 @@ module.exports = { if (!success) return client.sendInternalError(interaction, 'Failed to add bank'); } - if (banking.guilds[GuildDB.serverID].bankAccount.balance.toFixed(2) - GuildDB.uavPrice < 0) { + if (banking.guilds[GuildDB.serverID].balance.toFixed(2) - GuildDB.uavPrice < 0) { let embed = new EmbedBuilder() .setTitle('**Bank Notice:** NSF. Non sufficient funds') .setColor(client.config.Colors.Red); @@ -76,9 +76,9 @@ module.exports = { return interaction.send({ embeds: [embed] }); } - const newBalance = banking.guilds[GuildDB.serverID].bankAccount.balance - GuildDB.uavPrice; + const newBalance = banking.guilds[GuildDB.serverID].balance - GuildDB.uavPrice; - client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.bankAccount.balance`]:newBalance}}, function(err, res) { + client.dbo.collection("users").updateOne({"user.userID":interaction.member.user.id},{$set:{[`user.guilds.${GuildDB.serverID}.balance`]:newBalance}}, function(err, res) { if (err) return client.sendInternalError(interaction, err); }); diff --git a/package.json b/package.json index 38d2f30..9118a81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dayz-armbands", - "version": "6.9.0", + "version": "6.10.0", "description": "A General Purpose Discord Bot for DayZ Servers.", "main": "index.js", "nodemonConfig": { diff --git a/structures/user.js b/structures/user.js index 7da1aef..b55cd50 100644 --- a/structures/user.js +++ b/structures/user.js @@ -7,14 +7,11 @@ let userSchema = mongoose.Schema({ }, }); -userSchema.methods.createUser = function (userID, guildID, startingBalance, cash) { +userSchema.methods.createUser = function (userID, guildID, startingBalance) { this.user.userID = userID; this.user.guilds = {}; this.user.guilds[guildID] = { - bankAccount: { - balance: startingBalance, - cash: cash, - }, + balance: startingBalance, lastIncome: new Date('2000-01-01T00:00:00'), }; }; @@ -28,10 +25,7 @@ userSchema.methods.createUser = function (userID, guildID, startingBalance, cash function addUser(guilds, guildID, userID, client, startingBalance) { let updatedGuilds = guilds; updatedGuilds[guildID] = { - bankAccount: { - balance: startingBalance, - cash: 0.00, - }, + balance: startingBalance, lastIncome: new Date('2000-01-01T00:00:00') } diff --git a/util/KillfeedHandler.js b/util/KillfeedHandler.js index 146fa56..67c79d7 100644 --- a/util/KillfeedHandler.js +++ b/util/KillfeedHandler.js @@ -101,17 +101,14 @@ module.exports = { userID: killerStat.discordID, guilds: { [guildId]: { - bankAccount: { - balance: guild.startingBalance, - cash: 0.00, - } + balance: guild.startingBalance, } } } // Register bank for user let newBank = new User(); - newBank.createUser(killerStat.discordID, guildId, guild.startingBalance, 0); + newBank.createUser(killerStat.discordID, guildId, guild.startingBalance); newBank.save().catch(err => { if (err) return client.sendInternalError(interaction, err); }); @@ -123,11 +120,11 @@ module.exports = { if (!success) return client.sendError(guild.connectionLogsChannel, 'Failed to add bank'); } - const newBalance = banking.guilds[guildId].bankAccount.balance + totalBounty; + const newBalance = banking.guilds[guildId].balance + totalBounty; await client.dbo.collection("users").updateOne({ "user.userID": killerStat.discordID }, { $set: { - [`user.guilds.${guildId}.bankAccount.balance`]: newBalance, + [`user.guilds.${guildId}.balance`]: newBalance, } }, function(err, res) { if (err) return client.sendError(guild.connectionLogsChannel, err);