view item in inventory on search
This commit is contained in:
1 file changed
+49
-4
+49
-4
@@ -1,4 +1,5 @@
|
|||||||
const { MessageEmbed } = require('discord.js');
|
const { MessageEmbed } = require('discord.js');
|
||||||
|
const Inventory = require('../structures/inventory');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: "search",
|
name: "search",
|
||||||
@@ -16,7 +17,14 @@ module.exports = {
|
|||||||
value: "user",
|
value: "user",
|
||||||
type: 6,
|
type: 6,
|
||||||
required: true,
|
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 targetUserInventory = await client.dbo.collection("inventories").findOne({"inventory.userID":targetUserID}).then(inventory => inventory);
|
||||||
let inventory;
|
let inventory;
|
||||||
|
|
||||||
|
// This lame line of code to get username without ping on discord
|
||||||
|
const User = client.users.cache.get(targetUserID);
|
||||||
|
|
||||||
if (!targetUserInventory) {
|
if (!targetUserInventory) {
|
||||||
inventory = {
|
inventory = {
|
||||||
userID: interaction.member.user.id,
|
userID: interaction.member.user.id,
|
||||||
@@ -53,7 +64,6 @@ module.exports = {
|
|||||||
// Register inventory for user with item givn
|
// Register inventory for user with item givn
|
||||||
let newInventory = new Inventory();
|
let newInventory = new Inventory();
|
||||||
newInventory.createInventory(targetUserID);
|
newInventory.createInventory(targetUserID);
|
||||||
newInventory.addItem(item);
|
|
||||||
newInventory.save()
|
newInventory.save()
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -68,9 +78,44 @@ module.exports = {
|
|||||||
} else inventory = targetUserInventory.inventory;
|
} else inventory = targetUserInventory.inventory;
|
||||||
|
|
||||||
// Display 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
|
return interaction.send({ embeds: [embed] });
|
||||||
const User = client.users.cache.get(targetUserID);
|
}
|
||||||
|
|
||||||
|
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()
|
let inventoryEmbed = new MessageEmbed()
|
||||||
.setColor(client.config.EmbedColor)
|
.setColor(client.config.EmbedColor)
|
||||||
|
|||||||
Reference in new issue
Block a user