diff --git a/functions.js b/functions.js index b886733..987997f 100644 --- a/functions.js +++ b/functions.js @@ -23,9 +23,9 @@ module.exports = { if (debug) console.log(client.gifs); }, getPastaFiles(client) { - client.pasta = new Discord.Collection(); + client.pastas = new Discord.Collection(); for (const file of pastaFiles) { - const pasta = require(`./pasta/${file}`); + const pasta = require(`./pastas/${file}`); client.pastas.set(pasta.name, pasta); } if (debug) console.log(client.pastas); @@ -33,7 +33,7 @@ module.exports = { getExtension(args) { const finalWord = args.pop(); const file = finalWord.split('.'); - return file[1]; + return file; }, extCheck(content) { const lastFour = content.slice(-4); diff --git a/index.js b/index.js index cd9338c..03f1ebc 100644 --- a/index.js +++ b/index.js @@ -26,53 +26,64 @@ client.login(process.env.TOKEN); client.on('message', message => { const args = message.content.trim().split(/ +/); - const extension = functions.getExtension(args); - if ((!message.content.startsWith(prefix) && extension != undefined) || message.author.bot) return; + // TODO this will surely break something when trying to use non-filename commands + const file = functions.getExtension(args); + // If the message is from a bot, or doesn't have the prefix or a file extension, stop here. + if ((!message.content.startsWith(prefix) && file[1] == undefined) || message.author.bot) return; + // If the message starts with the prefix, if (message.content.startsWith(prefix)) { + // Extract the command const command = args.shift().toLowerCase().slice(prefix.length); if (debug) console.log(args); + // If the command collection doesn't contain the given command, stop here. if (!client.commands.has(command)) return; try { + // Attempt to execute the command client.commands.get(command).execute(message, args); } catch (error) { + // Log errors and let the user know something went wrong. console.error(error); message.channel.send('There was an error trying to execute that command.'); - message.guild.owner } } - const query = message.content.slice(0, -4); - switch (extension) { - case '.gif': - if (debug) console.log(query); + // If there is a file extension + if (file[1] != undefined) { + const query = message.content.slice(0, -4); + switch (file[1]) { + case 'gif': + if (debug) console.log(query); - if (!client.gifs.has(query)) { - giphy.search(query, (err, res) => { - if (res.data[0] != undefined) { - message.channel.send(res.data[0].embed_url).then().catch(console.error); - } else { - message.channel.send('I was unable to find a gif of ' + query); - } - if (err) console.error(err); - }); - } else { - message.channel.send(client.gifs.get(query).embed_url); - } - break; - case '.pasta': - const pastaName = args[0].splice(args[0].search(/\.(?:.(?!\\))+$/gim)) - if (debug) console.log(query); + if (!client.gifs.has(file[0])) { + giphy.search(query, (err, res) => { + if (res.data[0] != undefined) { + message.channel.send(res.data[0].embed_url).then().catch(console.error); + } else { + message.channel.send('I was unable to find a gif of ' + query); + } + if (err) console.error(err); + }); + } else { + message.channel.send(client.gifs.get(query).embed_url); + } + break; + case 'pasta': + // const pastaName = args[0].splice(args[0].search(/\.(?:.(?!\\))+$/gim)) + if (debug) console.log(file[0]); - if (!client.pastas.has(query)) { - message.reply('Sorry I couldn\'t find that gif.'); - } else { - message.channel.send(client.pastas.get(query).content); + if (!client.pastas.has(file[0])) { + message.reply('Sorry I couldn\'t find that gif.'); + } else { + message.channel.send(client.pastas.get(file[0]).content); + } + break; + default: + break; } - break; - default: - break; } + + }); \ No newline at end of file