Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { SlashCommandBuilder } = require('discord.js');
- const Inventory = require('../../schemas/inventory-schema');
- // eslint-disable-next-line no-unused-vars
- const Item = require('../../schemas/item-schema');
- module.exports = {
- data: new SlashCommandBuilder()
- .setName('useitem')
- .setDescription('Use an item from your character\'s inventory.')
- .addStringOption(option =>
- option.setName('name')
- .setDescription('The name of the item')
- .setRequired(true)),
- async execute(interaction) {
- const itemName = interaction.options.getString('name');
- const inventory = await Inventory.findOne({ player: interaction.user.id });
- console.log('Inventory Items:', inventory.items);
- console.log('Item name:', itemName);
- const inventoryItem = await Inventory.findOne({ player: interaction.user.id, 'items.item.name': itemName });
- console.log('Inventory Item:', inventoryItem);
- if (!inventoryItem) {
- return interaction.reply(`You don't have ${itemName} in your inventory.`);
- }
- if (inventoryItem.quantity === 0) {
- return interaction.reply(`You don't have any ${itemName} left.`);
- }
- inventoryItem.quantity--;
- if (inventoryItem.quantity === 0) {
- inventory.items.pull(inventoryItem._id);
- }
- await inventory.save();
- return interaction.reply(`You used ${itemName}.`);
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment