diff --git a/commands/custom.js b/commands/custom.js index 117be56..35e0434 100644 --- a/commands/custom.js +++ b/commands/custom.js @@ -3,18 +3,20 @@ const deleteCustomCommand = require("../util/deleteCustomCommand"); const getAllCustomCommands = require("../util/getAllCustomCommands"); const getOwnerOfCustomCommand = require("../util/getOwnerOfCustomCommand"); const Discord = require('discord.js'); -const fs = require('fs') +const fs = require('fs'); +const editCustomCommand = require("../util/editCustomCommand"); module.exports = { name: 'custom', description: 'Add custom commands, see help custom for more', moreHelp: ["custom add - Add new custom commands", + "custom edit - Edit an existing command that you own", "custom remove - Delete your custom commands.", "custom owner - check owner of custom command", "custom list - list all custom commands", "custom variables - list all variables you can use" ], - execute({message, args, client}) { + execute({message, args, client, prefix}) { const customPath = './data/customCommands.json'; if(!fs.existsSync(customPath)){ fs.writeFileSync(customPath,"[]") @@ -58,8 +60,11 @@ module.exports = { case "variables": sendText = "The variables you can use are:\n\n\n\n\n\n\n\n" break; + case "edit": + sendText = editCustomCommand(customName, message.author.id, customMessage) + break; default: - sendText = "Argument not recognized." + sendText = `Argument not recognized.\n"${prefix}help custom" to see all arguments you can use.` break; } } diff --git a/util/editCustomCommand.js b/util/editCustomCommand.js new file mode 100644 index 0000000..2890682 --- /dev/null +++ b/util/editCustomCommand.js @@ -0,0 +1,20 @@ +const fs = require('fs') +module.exports = function(customName, author, newCustomMessage){ + const customPath = './data/customCommands.json'; + let sendText = "This custom command does not exist."; + let json = fs.readFileSync(customPath, 'utf8'); + let customCommands = JSON.parse(json) + customCommands.forEach(function (customCommand) { + if (customCommand.customName === customName) { + if(customCommand.author === author){ + customCommand.customMessage = newCustomMessage; + fs.writeFileSync(customPath, JSON.stringify(customCommands, null, 4)) + sendText = `${customName} has been updated.`; + }else { + sendText = "You do not own this custom command.\nOnly the one who created the custom command can edit it." + } + } + }); + + return sendText; +} \ No newline at end of file