fixes/search command

This commit is contained in:
SowinskiBraeden committed 2022-07-04 22:35:27 -07:00
1 parent 20344e1471
commit a5994d3ae9
3 files changed
+98 -8

No files matched your search

+2 -2
View File
@@ -79,7 +79,7 @@ module.exports = {
return interaction.send(`You are not allowed to use the bot in this channel.`); 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.inventory); let inventory = await client.dbo.collection("inventories").findOne({"inventory.userID":interaction.member.user.id}).then(inventory => inventory);
if (!inventory) { if (!inventory) {
inventory = { inventory = {
@@ -108,7 +108,7 @@ module.exports = {
return client.sendError(channel, err); return client.sendError(channel, err);
} }
}); });
} } else inventory = inventory.inventory;
if (args[0].name == 'firearm') { if (args[0].name == 'firearm') {
// Add firearm to inventory // Add firearm to inventory
+7 -6
View File
@@ -105,7 +105,7 @@ module.exports = {
name: 'Wallet', name: 'Wallet',
type: 'wallet', type: 'wallet',
description: '`/inventory wallet` to view wallet', description: '`/inventory wallet` to view wallet',
cash: 0, cash: 0.00,
ID: { ID: {
firstname: '', firstname: '',
lastname: '', lastname: '',
@@ -122,7 +122,7 @@ module.exports = {
if (err) { if (err) {
client.log(err); client.log(err);
let embed = new MessageEmbed() let embed = new MessageEmbed()
.setTitle("Please provide a valid item number") .setTitle(err)
.setColor("RED") .setColor("RED")
return interaction.send({ embeds: [embed] }); return interaction.send({ embeds: [embed] });
@@ -247,7 +247,7 @@ module.exports = {
let item = inventory.items[args[0].options[0].value-1]; let item = inventory.items[args[0].options[0].value-1];
let targetUserID = args[0].options[1].value.replace('<@!', '').replace('>', ''); let targetUserID = args[0].options[1].value.replace('<@!', '').replace('>', '');
let targetUserInventory = await client.dbo.collection("inventories").findOne({"inventory.userID":targetUserID}).then(user => user); let targetUserInventory = await client.dbo.collection("inventories").findOne({"inventory.userID":targetUserID}).then(inventory => inventory);
if (!targetUserInventory) { if (!targetUserInventory) {
// Register inventory for user with item givn // Register inventory for user with item givn
@@ -259,18 +259,19 @@ module.exports = {
if (err) { if (err) {
client.log(err); client.log(err);
let embed = new MessageEmbed() let embed = new MessageEmbed()
.setTitle("Please provide a valid item number") .setTitle(err)
.setColor("RED") .setColor("RED")
return interaction.send({ embeds: [embed] }); return interaction.send({ embeds: [embed] });
} }
}); });
} else { } else {
targetUserInventory = targetUserInventory.inventory;
client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$pull: {'inventory.items': item}}, function(err, res) { client.dbo.collection('inventories').updateOne({'inventory.userID': interaction.member.user.id}, {$pull: {'inventory.items': item}}, function(err, res) {
if (err) { if (err) {
client.log(err); client.log(err);
let embed = new MessageEmbed() let embed = new MessageEmbed()
.setTitle("Please provide a valid item number") .setTitle(err)
.setColor("RED") .setColor("RED")
return interaction.send({ embeds: [embed] }); return interaction.send({ embeds: [embed] });
@@ -280,7 +281,7 @@ module.exports = {
if (err) { if (err) {
client.log(err); client.log(err);
let embed = new MessageEmbed() let embed = new MessageEmbed()
.setTitle("Please provide a valid item number") .setTitle(err)
.setColor("RED") .setColor("RED")
return interaction.send({ embeds: [embed] }); return interaction.send({ embeds: [embed] });
+89
View File
@@ -0,0 +1,89 @@
const { MessageEmbed } = require('discord.js');
module.exports = {
name: "search",
description: "Search a users inventory",
usage: "[user]",
permissions: {
channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
member: [],
},
SlashCommand: {
options: [
{
name: "user",
description: "user to give item",
value: "user",
type: 6,
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 targetUserID = args[0].value.replace('<@!', '').replace('>', '');
let targetUserInventory = await client.dbo.collection("inventories").findOne({"inventory.userID":targetUserID}).then(inventory => inventory);
let inventory;
if (!targetUserInventory) {
inventory = {
userID: interaction.member.user.id,
items: [{
name: 'Wallet',
type: 'wallet',
description: '`/inventory wallet` to view wallet',
cash: 0.00,
ID: {
firstname: '',
lastname: '',
dob: ''
}
}]
}
// Register inventory for user with item givn
let newInventory = new Inventory();
newInventory.createInventory(targetUserID);
newInventory.addItem(item);
newInventory.save()
.catch(err => {
if (err) {
client.log(err);
let embed = new MessageEmbed()
.setTitle(err)
.setColor("RED")
return interaction.send({ embeds: [embed] });
}
});
} 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);
let inventoryEmbed = new MessageEmbed()
.setColor(client.config.EmbedColor)
.setTitle(`${User.tag.split('#')[0]}'s Inventory`);
let description = "```";
for (let i = 0; i < inventory.items.length; i++) {
description += `${i+1}. ${inventory.items[i].name} - ${inventory.items[i].description}\n`;
}
description += "```";
inventoryEmbed.setDescription(description);
return interaction.send({ embeds: [inventoryEmbed] });
},
},
}