view item in inventory on search

This commit is contained in:
SowinskiBraeden committed 2022-07-10 23:21:12 -07:00
1 parent dcadfba756
commit 3c74864d27
1 file changed
+49 -4
+49 -4
View File
@@ -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
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")
// This lame line of code to get username without ping on discord
const User = client.users.cache.get(targetUserID);
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)