begin guild specific data

This commit is contained in:
SowinskiBraeden committed 2022-08-17 14:27:53 -07:00
1 parent 66bc081884
commit 80376b648a
6 files changed
+182 -114

No files matched your search

+75 -51
View File
@@ -1,4 +1,5 @@
const { MessageEmbed } = require('discord.js');
const { Inventory, addInventory } = require('../structures/inventory');
module.exports = {
name: "bank",
@@ -132,6 +133,37 @@ module.exports = {
});
}
let inventory = await client.dbo.collection("inventories").findOne({"inventory.userID": interaction.member.user.id}).then(inventory => inventory);
if (!inventory) {
// Register inventory for user
let newInventory = new Inventory();
newInventory.createInventory(interaction.member.user.id, GuildDB.serverID);
newInventory.inventory.guilds[guildDB.serverID].items[0].cash = args[0].options[0].value;
newInventory.save()
.catch(err => {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
}
if (!client.exists(inventory.guilds[guildDB.serverID])) {
const success = addInventory(inventory.guilds, guildDB.serverID, interaction.member.user.id, client);
if (!success) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
}
if (args[0].name == 'deposit') {
if (banking.account.cash.toFixed(2) - args[0].options[0].value < 0) {
@@ -155,8 +187,8 @@ module.exports = {
return interaction.send({ embeds: [embed] });
}
});
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, "inventory.items.type":"wallet"},
{$set:{"inventory.items.$.cash":newCash}}, function(err, res) {
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, [`inventory.guilds.${guildDB.serverID}.items.type`]:"wallet"},
{$set:{[`inventory.guilds.${guildDB.serverID}.items.$.cash`]:newCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
@@ -196,37 +228,17 @@ module.exports = {
return interaction.send({ embeds: [embed] });
}
});
let inventory = await client.dbo.collection("inventories").findOne({"inventory.userID": interaction.member.user.id}).then(inventory => inventory);
if (!inventory) {
// Register inventory for user
let newInventory = new Inventory();
newInventory.createInventory(interaction.member.user.id);
newInventory.inventory.items[0].cash = args[0].options[0].value;
newInventory.save()
.catch(err => {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
} else {
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, "inventory.items.type":"wallet"},
{$set:{"inventory.items.$.cash":newCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
}
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, [`inventory.guilds.${guildDB.serverID}.items.type`]:"wallet"},
{$set:{[`inventory.guilds.${guildDB.serverID}.items.$.cash`]:newCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
const successEmbed = new MessageEmbed()
.setTitle('Bank Notice:')
@@ -310,8 +322,8 @@ module.exports = {
}
});
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, "inventory.items.type":"wallet"},
{$set:{"inventory.items.$.cash":newCash}}, function(err, res) {
client.dbo.collection("inventories").updateOne({"inventory.userID":interaction.member.user.id, [`inventory.guilds.${guildDB.serverID}.items.type`]:"wallet"},
{$set:{[`inventory.guilds.${guildDB.serverID}.items.$.cash`]:newCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
@@ -328,8 +340,8 @@ module.exports = {
if (!targetUserInventory) {
// Register inventory for user
let newInventory = new Inventory();
newInventory.createInventory(targetUserID);
newInventory.inventory.items[0].cash = args[0].options[1].value;
newInventory.createInventory(targetUserID, guildDB.serverID);
newInventory.inventory.guilds[guildDB.serverID].items[0].cash = args[0].options[1].value;
newInventory.save()
.catch(err => {
if (err) {
@@ -341,22 +353,34 @@ module.exports = {
return interaction.send({ embeds: [embed] });
}
});
} else {
let newTargetCash = targetUserInventory.inventory.items[0].cash + args[0].options[1].value;
client.dbo.collection("inventories").updateOne({"inventory.userID":targetUserID, "inventory.items.type":"wallet"},
{$set:{"inventory.items.$.cash":newTargetCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
}
if (!client.exists(targetUserInventory.guilds[guildDB.serverID])) {
const success = addInventory(targetUserInventory.guilds, guildDB.serverID, targetUserID, client);
if (!success) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
}
let newTargetCash = targetUserInventory.inventory.guilds[guildDB.serverID].items[0].cash + args[0].options[1].value;
client.dbo.collection("inventories").updateOne({"inventory.userID":targetUserID, [`inventory.guilds.${guildDB.serverID}.items.type`]:"wallet"},
{$set:{[`inventory.guilds.${guildDB.serverID}.items.$.cash`]:newTargetCash}}, function(err, res) {
if (err) {
client.log(err);
const embed = new MessageEmbed()
.setDescriptions(`**Internal Error:** ${err}\nContact the Developers\nhttps://discord.gg/YCXhvy9uZw`)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
let targetUserBanking = await client.dbo.collection("banking").findOne({"account.userID": targetUserID}).then(banking => banking);
if (!targetUserBanking) {