From ed5f74039d472b02c3ee04a34f76858f16abc9cc Mon Sep 17 00:00:00 2001 From: markbmullins Date: Thu, 11 Oct 2018 21:34:45 -0400 Subject: [PATCH] Created deletequeue command. Created help message in helpmessages.json and updated help docs. --- HELP.md | 3 ++ commands/deletequeue.js | 54 ++++++++++++++++++++++++++++ commands/functions/helpMessages.json | 1 + commands/functions/queueFunctions.js | 8 +++++ commands/help.js | 15 ++++++++ commands/shuffle.js | 2 -- 6 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 commands/deletequeue.js create mode 100644 commands/help.js diff --git a/HELP.md b/HELP.md index 223f6b1..74f3b1f 100644 --- a/HELP.md +++ b/HELP.md @@ -35,6 +35,9 @@ To stop the bot when it is playing, type ```?stop``` and the bot will leave the ### Shuffling the queue: To shuffle a queue type ```?shuffle QUEUE_NAME``` +### Deleting a queue: +To delete a queue type ```?deletequeue QUEUE_NAME``` and reply yes to the prompt. The queue name is case sensitive. + ### Changing your prefix: In order to change your prefix type ```?prefix NEW_PREFIX``` For example, to change your prefix from the default prefix to ! you would type: ```?prefix !``` diff --git a/commands/deletequeue.js b/commands/deletequeue.js new file mode 100644 index 0000000..441aed0 --- /dev/null +++ b/commands/deletequeue.js @@ -0,0 +1,54 @@ +const Discord = require("discord.js"); +const queueFunctions = require("./functions/queueFunctions"); +const helpMessages = require("./functions/helpMessages.json"); + +module.exports.run = async (client,message,args,prefix,con_database) => { + const helpMessage = helpMessages.deletequeue.replace(/\$prefix/g, `${prefix}`); + if(args[0] === "help"){ + return message.reply(helpMessage); + } + else if(!args[0]){ + return message.reply(`Please input a queue name to delete. Use ${prefix}delete help for help using the deletequeue command.`); + } + else if(args[1]){ + return message.reply(`Invalid use of the deletequeue command. Use ${prefix}deletequeue help for help.`); + } + else{ + var queue = await queueFunctions.getQueue(args[0], message, con_database); + if(queue.length < 1){ + message.reply("This queue is empty or does not exist."); + }//end if + else if(queue.length >= 1){ + try{ + message.channel.send(`Are you sure you want to delete ${args[0]}? Please reply yes or no.`);//end message.send + try{ + var response = await message.channel.awaitMessages(message2 => (message2.content.toLowerCase() === "yes" || message2.content.toLowerCase() === "no"), { + maxMatches: 1, + time: 5000, + errors: ['time'] + }); + }//end try + catch(err){ + //console.error(err); + return message.channel.send("Invalid value entered, cancelling operation"); + }//end catch + if(response.first().content == "yes"){ + let var2 = await queueFunctions.deleteQueue(args[0], message, con_database); + return message.reply(`${args[0]} was deleted.`); + } + else if(response.first().content == "no"){ + return message.reply("Alright, I won't delete that queue"); + } + + }//end try + catch(err){ + console.error(err); + return message.channel.send("An error occured."); + }//end catch + }//end else if + }//end else +}//end module + +module.exports.help = { + name: "deletequeue" +} \ No newline at end of file diff --git a/commands/functions/helpMessages.json b/commands/functions/helpMessages.json index 432dec1..818c9ce 100644 --- a/commands/functions/helpMessages.json +++ b/commands/functions/helpMessages.json @@ -5,6 +5,7 @@ "ban" : "\nBan command help: \nUse $prefixban @user to ban a user. \nThe user cannot be banned if the have the permission Manage Members.", "botinfo" : "\n", "cat" : "\n", + "deletequeue" : "\nDeletequeue command help: \nUse the form $prefixdeletequeue and reply yes to the prompt to delete the queue. \nThis is permament. The queue name is case sensitive.", "getqueue" : "\n", "inqueue" : "\n", "join" : "\n", diff --git a/commands/functions/queueFunctions.js b/commands/functions/queueFunctions.js index 3f736fa..0a15109 100644 --- a/commands/functions/queueFunctions.js +++ b/commands/functions/queueFunctions.js @@ -109,6 +109,14 @@ Please provide a value to select one of the search results ranging from 1-10.`); reject("Bad parameter"); });//end promise },//end getTitiles + deleteQueue: async function deleteQueue(queueName, message, con_database){ + return new Promise((resolve, reject) => { + //Updating database + let query = `DELETE FROM queues WHERE queuename = '${queueName}' AND userid = '${message.author.id}'`; + resolve(con_database.query(query)); + reject("Bad parameter"); + });//end promise + },//end updatequeue updateQueue: async function updateQueue(queue, queueName, message, con_database){ return new Promise((resolve, reject) => { //Parsing queue back into string of URLs diff --git a/commands/help.js b/commands/help.js new file mode 100644 index 0000000..dcdf479 --- /dev/null +++ b/commands/help.js @@ -0,0 +1,15 @@ +const Discord = require("discord.js"); +const fs = require("fs"); //includes the file system package + +module.exports.run = async (client,message,args,prefix,con_database) => { + //const generalHelpString = fs.readFileSync("./HELP.md","utf8").replace(/```/g, "").replace(/# /g, "").replace(/#/g, ""); + //let generalHelpArray = generalHelpString.split("\r\n"); + //console.log(generalHelpArray); + return message.reply("Please see the help documentation here https://github.com/markbmullins/CordTrax-Discord-Bot/blob/master/HELP.md"); + + +} + +module.exports.help = { + name: "help" +} \ No newline at end of file diff --git a/commands/shuffle.js b/commands/shuffle.js index cb28b73..5bc26b7 100644 --- a/commands/shuffle.js +++ b/commands/shuffle.js @@ -1,7 +1,5 @@ const Discord = require("discord.js"); -const YTDL = require("ytdl-core"); const queueFunctions = require("./functions/queueFunctions"); -const tools = require("./functions/tools"); const helpMessages = require("./functions/helpMessages.json"); //TO DO: