view item in inventory on search
This commit is contained in:
1 file changed
+50
-5
+50
-5
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user