diff --git a/commands/search.js b/commands/search.js index 83b43b6..994f338 100644 --- a/commands/search.js +++ b/commands/search.js @@ -1,4 +1,5 @@ const { MessageEmbed } = require('discord.js'); +const Inventory = require('../structures/inventory'); module.exports = { name: "search", @@ -16,7 +17,14 @@ module.exports = { value: "user", type: 6, required: true, - } + }, + { + name: "item-number", + description: "item to view", + value: 1, + type: 4, + required: false, + }, ], /** * @@ -34,6 +42,9 @@ module.exports = { let targetUserInventory = await client.dbo.collection("inventories").findOne({"inventory.userID":targetUserID}).then(inventory => inventory); let inventory; + // This lame line of code to get username without ping on discord + const User = client.users.cache.get(targetUserID); + if (!targetUserInventory) { inventory = { userID: interaction.member.user.id, @@ -53,7 +64,6 @@ module.exports = { // Register inventory for user with item givn let newInventory = new Inventory(); newInventory.createInventory(targetUserID); - newInventory.addItem(item); newInventory.save() .catch(err => { if (err) { @@ -68,9 +78,44 @@ module.exports = { } else inventory = targetUserInventory.inventory; // Display Inventory - - // This lame line of code to get username without ping on discord - const User = client.users.cache.get(targetUserID); + if (args[1]) { + if (args[1].value < 0 || args[1].value > inventory.items.length) { + let embed = new MessageEmbed() + .setTitle("Please provide a valid item number") + .setColor("RED") + + return interaction.send({ embeds: [embed] }); + } + + let item = inventory.items[args[1].value-1]; + let itemEmbed = new MessageEmbed().setColor(client.config.EmbedColor); + if (item.type == 'wallet') { + // Display wallet + + let walletData = `**Cash:** $${item.cash}\n**ID:** ${item.ID.firstname ? client.exists(item.ID.firtname) : 'John'} ${item.ID.lastname ? client.exists(item.ID.lastname) : 'Doe'} | ${item.ID.dob ? client.exists(item.ID.dob) : 'N/A'}` + + itemEmbed.setTitle(`${User.tag.split('#')[0]}'s Wallet`); + itemEmbed.setDescription(walletData); + + } else if (item.type == 'firearm') { + // Display firearm + + itemEmbed.setTitle(`${User.tag.split('#')[0]}'s Firearm`); + itemEmbed.addFields( + { name: 'Serial #', value: item.serial, inline: false }, + { name: 'Type', value: item.weaponType, inline: false }, + { name: 'Owner', value: item.ownerName, inline: false } + ); + + } else { + // Display generic item here + + itemEmbed.setTitle(`Item information`); + itemEmbed.addFields({ name: item.name, value: item.description, inline: false }); + } + + return interaction.send({ embeds: [itemEmbed] }); + } let inventoryEmbed = new MessageEmbed() .setColor(client.config.EmbedColor)