diff --git a/commands/inventory-add.js b/commands/inventory-add.js deleted file mode 100644 index 8c2fcf5..0000000 --- a/commands/inventory-add.js +++ /dev/null @@ -1,182 +0,0 @@ -const { MessageEmbed } = require('discord.js'); - -const actions = ['pick up', 'grab', 'get', 'aquire', 'obtain', 'gain', 'take possesssion of']; - -module.exports = { - name: "inventory-add", - debug: false, - description: "Add item to inventory", - usage: "[item]", - permissions: { - channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], - member: [], - }, - SlashCommand: { - options: [ - { - name: "firearm", - description: "Add firearm to inventory", - value: "firearm", - type: 1, - options: [ - { - name: "type", - description: "Type of firearm", - value: "type", - type: 3, - required: true, - choices: [ - { name: 'Pistol', value: 'Pistol' }, { name: 'Revolver', value: 'Revolver' }, { name: 'Shotgun', value: 'Shotgun' }, - { name: 'Submachine Gun', value: 'Submachine Gun' }, { name: 'Light Machine Gun', value: 'Ligh Machine Gun' }, - { name: 'Assault Rifle', value: 'Assault Rifle' }, { name: 'Sniper Rifle', value: 'Sniper Rifle' }, - ] - }, - { - name: "serialnumber", - description: "Firearm serial number", - value: "serialnumber", - type: 3, - required: true, - }, - { - name: "owner", - description: "Firearm Owner's Full Name", - value: "owner", - type: 3, - required: true, - }, - { - name: "description", - description: "Firearm description", - value: "description", - type: 3, - required: true, - } - ] - }, - { - name: "generic", - description: "Add a generic item to inventory", - value: "generic", - type: 1, - options: [ - { - name: "name", - description: "Item name", - value: "name", - type: 3, - required: true, - }, - { - name: "description", - description: "Item description", - value: "description", - type: 3, - required: true, - }, - ] - } - ], - /** - * - * @param {require("../structures/QuarksBot")} client - * @param {import("discord.js").MessageCreate} message - * @param {string[]} args - * @param {*} param3 - */ - run: async (client, interaction, args, { GuildDB }) => { - if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) { - return interaction.send(`You are not allowed to use the bot in this channel.`); - } - - let inventory = await client.dbo.collection("inventories").findOne({"inventory.userID":interaction.member.user.id}).then(inventory => inventory); - - if (!inventory) { - inventory = { - userID: interaction.member.user.id, - items: [{ - name: 'Wallet', - type: 'wallet', - description: '`/inventory wallet` to view wallet', - cash: 0, - ID: { - firstname: '', - lastname: '', - dob: '' - } - }] - } - - // Register inventory for user - let newInventory = new Inventory(); - newInventory.createInventory(interaction.member.user.id); - 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 inventory = inventory.inventory; - - if (args[0].name == 'firearm') { - // Add firearm to inventory - - let firearm = { - type: 'firearm', - weaponType: args[0].options[0].value, - serial: args[0].options[1].value, - ownerName: args[0].options[2].value, - description: args[0].options[3].value - } - - client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$push: {'inventory.items': firearm}}, 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 message = new MessageEmbed() - .setTitle(`You ${actions[Math.floor(Math.random() * actions.length)]} a ${firearm.weaponType}`) - .setColor(client.config.EmbedColor); - - return interaction.send({ embeds: [message] }); - - } else { - // Add generic item to inventory - - let item = { - type: 'generic', - name: args[0].options[0].value, - description: args[0].options[1].value - } - - client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$push: {'inventory.items': item}}, 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 message = new MessageEmbed() - .setTitle(`You ${actions[Math.floor(Math.random() * actions.length)]} a ${item.name}`) - .setColor(client.config.EmbedColor); - - return interaction.send({ embeds: [message] }); - } - }, - }, -} \ No newline at end of file diff --git a/commands/inventory.js b/commands/inventory.js index e8ce06f..14cc4ec 100644 --- a/commands/inventory.js +++ b/commands/inventory.js @@ -41,6 +41,84 @@ module.exports = { }, ], }, + { + name: "add", + description: "Add item to inventory", + value: "add", + type: 2, + options: [ + { + name: "firearm", + description: "Add firearm to inventory", + value: "firearm", + type: 1, + options: [ + { + name: "type", + description: "Type of firearm", + value: "type", + type: 3, + required: true, + choices: [ + { name: 'Pistol', value: 'Pistol' }, { name: 'Revolver', value: 'Revolver' }, { name: 'Shotgun', value: 'Shotgun' }, + { name: 'Submachine Gun', value: 'Submachine Gun' }, { name: 'Light Machine Gun', value: 'Ligh Machine Gun' }, + { name: 'Assault Rifle', value: 'Assault Rifle' }, { name: 'Sniper Rifle', value: 'Sniper Rifle' }, + ] + }, + { + name: "serialnumber", + description: "Firearm serial number", + value: "serialnumber", + type: 3, + required: true, + }, + { + name: "owner", + description: "Firearm Owner's Full Name", + value: "owner", + type: 3, + required: true, + }, + { + name: "description", + description: "Firearm description", + value: "description", + type: 3, + required: true, + } + ] + }, + { + name: "generic", + description: "Add a generic item to inventory", + value: "generic", + type: 1, + options: [ + { + name: "name", + description: "Item name", + value: "name", + type: 3, + required: true, + }, + { + name: "description", + description: "Item description", + value: "description", + type: 3, + required: true, + }, + { + name: "quantity", + description: "The number of this item", + value: "quantity", + type: 4, + required: true, + } + ] + } + ] + }, { name: "give", description: "Give user item from inventory", @@ -207,6 +285,64 @@ module.exports = { return interaction.send({ embeds: [itemEmbed] }); + } else if (args[0].name == 'add') { + if (args[0].options[0].name == 'firearm') { + // Add firearm to inventory + + let firearm = { + type: 'firearm', + weaponType: args[0].options[0].options[0].value, + serial: args[0].options[0].options[1].value, + ownerName: args[0].options[0].options[2].value, + description: args[0].options[0].options[3].value, + quantity: 1, + } + + client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$push: {'inventory.items': firearm}}, 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 message = new MessageEmbed() + .setTitle(`You ${actions[Math.floor(Math.random() * actions.length)]} a ${firearm.weaponType}`) + .setColor(client.config.EmbedColor); + + return interaction.send({ embeds: [message] }); + + } else { + // Add generic item to inventory + + let item = { + type: 'generic', + name: args[0].options[0].options[0].value, + description: args[0].options[0].options[1].value, + quantity: args[0].options[0].options[2].value, + } + + client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$push: {'inventory.items': item}}, 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 message = new MessageEmbed() + .setTitle(`You ${actions[Math.floor(Math.random() * actions.length)]} a ${item.name}`) + .setColor(client.config.EmbedColor); + + return interaction.send({ embeds: [message] }); + } + } else if (args[0].name == 'drop') { // Remove Item from inventory