More command conversions
This commit is contained in:
parent
3bdfbf0e44
commit
e810a78fac
@ -1,10 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
name: "get-ext",
|
|
||||||
description: "Test function to capture the extension from the content of a message.",
|
|
||||||
execute(message, args) {
|
|
||||||
const finalWord = args.pop();
|
|
||||||
const file = finalWord.split('.');
|
|
||||||
console.log(file);
|
|
||||||
message.reply('The extension is: ' + file[1] + '\nThe filename is: ' + file[0]);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +1,14 @@
|
|||||||
const { prefix } = require('../config.json');
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'help',
|
name: 'help',
|
||||||
description: 'Shows the help page.',
|
description: 'Shows the help page.',
|
||||||
execute(message, args) {
|
execute(message, file) {
|
||||||
const data = [];
|
const data = [];
|
||||||
const { commands } = message.client;
|
const { commands } = message.client;
|
||||||
|
|
||||||
if (!args.length) {
|
if (!file.name) {
|
||||||
data.push('Here\'s a list of all my commands:');
|
data.push('Here\'s a list of all my commands:');
|
||||||
data.push(commands.map(command => command.name).join(', '));
|
data.push(commands.map(command => command.name).join(', '));
|
||||||
data.push(`\nYou can send \`${prefix}help [command name]\` to get info on a specific command!`);
|
data.push('\nYou can send `[command name].help` to get info on a specific command!');
|
||||||
|
|
||||||
return message.author.send(data, { split: true })
|
return message.author.send(data, { split: true })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@ -19,15 +17,14 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error(`Could not send help DM to ${message.author.tag}.\n`, error);
|
console.error(`Could not send help DM to ${message.author.tag}.\n`, error);
|
||||||
message.reply('it seems like I can\'t DM you! Do you have DMs disabled?');
|
message.reply('It seems like I can\'t DM you! Do you have DMs disabled?');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const name = args[0].toLowerCase();
|
const command = commands.get(file.name) || commands.find(c => c.aliases && c.aliases.includes(file.name));
|
||||||
const command = commands.get(name) || commands.find(c => c.aliases && c.aliases.includes(name));
|
|
||||||
|
|
||||||
if (!command) {
|
if (!command) {
|
||||||
return message.reply('that\'s not a valid command!');
|
return message.reply('That\'s not a valid command!');
|
||||||
}
|
}
|
||||||
|
|
||||||
data.push(`**Name:** ${command.name}`);
|
data.push(`**Name:** ${command.name}`);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'request',
|
name: 'request',
|
||||||
description: 'Submit a request to the bot developer.',
|
description: 'Submit a request to the bot developer.',
|
||||||
execute(message, args) {
|
execute(message, file) {
|
||||||
const request = args.join(' ');
|
const request = file.name;
|
||||||
message.channel.send('Your request has been submitted:\n```\n' + request + '\n```');
|
message.channel.send('Your request has been submitted:\n```\n' + request + '\n```');
|
||||||
message.client.users.fetch(process.env.ownerID).then(user => {user.send('New request or feedback:\n```\n' + request + '\n```');}).catch(error => { console.error(error);} );
|
message.client.users.fetch(process.env.ownerID).then(user => {user.send('New request or feedback:\n```\n' + request + '\n```');}).catch(error => { console.error(error);} );
|
||||||
}
|
}
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
name: 'save-gif',
|
|
||||||
description: 'Adds a given gif to the hardcoded list.',
|
|
||||||
execute(message, args) {
|
|
||||||
if (args.length != 2) {
|
|
||||||
message.reply('This command requires exactly two arguments, gif name and url. Please try again.');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const fs = require('fs');
|
|
||||||
fs.appendFile(`./gifs/${args[0]}.js`, `module.exports = {\n\tname: '${args[0]}',\n\tembed_url: '${args[1]}'\n}`, function(err) {
|
|
||||||
if (err) throw err;
|
|
||||||
console.log('Saved file!');
|
|
||||||
const gif = require(`../gifs/${args[0]}.js`);
|
|
||||||
message.client.gifs.set(gif.name, gif);
|
|
||||||
});
|
|
||||||
|
|
||||||
message.reply('GIF saved as: ' + args[0] + '.gif!');
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
name: 'save-pasta',
|
|
||||||
description: 'Adds a given copypasta to the hardcoded list.',
|
|
||||||
execute(message, args) {
|
|
||||||
const fs = require('fs');
|
|
||||||
const filename = args.shift();
|
|
||||||
const pastaText = args.join(' ');
|
|
||||||
fs.appendFile(`./pastas/${filename}.js`, `module.exports = {\n\tname: '${filename}',\n\tcontent: '${pastaText}'\n}`, function(err) {
|
|
||||||
if (err) throw err;
|
|
||||||
console.log('Saved file!');
|
|
||||||
const pasta = require(`../pastas/${filename}.js`);
|
|
||||||
message.client.pastas.set(pasta.name, pasta);
|
|
||||||
});
|
|
||||||
|
|
||||||
message.reply('GIF saved as: ' + filename + '.pasta!');
|
|
||||||
}
|
|
||||||
}
|
|
19
commands/savegif.js
Normal file
19
commands/savegif.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
module.exports = {
|
||||||
|
name: 'savegif',
|
||||||
|
description: 'Adds a given gif to the hardcoded list.',
|
||||||
|
execute(message, file) {
|
||||||
|
const tempArray = file.name.split(' ');
|
||||||
|
const embedURL = tempArray.shift();
|
||||||
|
const gifName = tempArray.join(' ');
|
||||||
|
|
||||||
|
const fs = require('fs');
|
||||||
|
fs.appendFile(`./gifs/${gifName}.js`, `module.exports = {\n\tname: '${gifName}',\n\tembed_url: '${embedURL}'\n}`, function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log('Saved file!');
|
||||||
|
const gif = require(`../gifs/${gifName}.js`);
|
||||||
|
message.client.gifs.set(gif.name, gif);
|
||||||
|
});
|
||||||
|
|
||||||
|
message.reply('GIF saved as: ' + gifName + '.gif!');
|
||||||
|
}
|
||||||
|
}
|
21
commands/savepasta.js
Normal file
21
commands/savepasta.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
const functions = require('../functions.js');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'savepasta',
|
||||||
|
description: 'Adds a given copypasta to the hardcoded list.',
|
||||||
|
execute(message, file) {
|
||||||
|
const fs = require('fs');
|
||||||
|
const pastaTextArray = message.content.split(' ');
|
||||||
|
const pastaFile = functions.getFileInfo(pastaTextArray.pop());
|
||||||
|
const pastaText = pastaTextArray.join(' ');
|
||||||
|
const pastaTextEscaped = pastaText.replace(/'/g, '\\\'').replace(/\n/g, '\\n');
|
||||||
|
fs.appendFile(`./pastas/${pastaFile.name}.js`, `module.exports = {\n\tname: '${pastaFile.name}',\n\tcontent: '${pastaTextEscaped}'\n}`, function(err) {
|
||||||
|
if (err) throw err;
|
||||||
|
console.log('Saved file!');
|
||||||
|
const pasta = require(`../pastas/${pastaFile.name}.js`);
|
||||||
|
message.client.pastas.set(pasta.name, pasta);
|
||||||
|
});
|
||||||
|
|
||||||
|
message.reply('GIF saved as: ' + pastaFile.name + '.pasta!');
|
||||||
|
}
|
||||||
|
}
|
11
config.json
11
config.json
@ -3,5 +3,14 @@
|
|||||||
"serverID": "760701839427108874",
|
"serverID": "760701839427108874",
|
||||||
"logChannel": "859249300894908447",
|
"logChannel": "859249300894908447",
|
||||||
"bootMessage": "NodBot v2 Starting Up",
|
"bootMessage": "NodBot v2 Starting Up",
|
||||||
"shutdownMessage": "NodBot v2 Shutting Down"
|
"shutdownMessage": "NodBot v2 Shutting Down",
|
||||||
|
"validExtensions": [
|
||||||
|
"gif",
|
||||||
|
"pasta",
|
||||||
|
"help",
|
||||||
|
"spongebob",
|
||||||
|
"savepasta",
|
||||||
|
"request",
|
||||||
|
"savegif"
|
||||||
|
]
|
||||||
}
|
}
|
20
functions.js
20
functions.js
@ -31,7 +31,8 @@ module.exports = {
|
|||||||
if (debug) console.log(client.pastas);
|
if (debug) console.log(client.pastas);
|
||||||
},
|
},
|
||||||
getFileInfo(content) {
|
getFileInfo(content) {
|
||||||
const finalPeriod = content.search(/\.(?:.(?!\\))+$/gim);
|
// const finalPeriod = content.search(/\.(?:.(?!\\))+$/gim);
|
||||||
|
const finalPeriod = content.lastIndexOf('.');
|
||||||
if (finalPeriod < 0) return false;
|
if (finalPeriod < 0) return false;
|
||||||
const extension = content.slice(finalPeriod).replace('.','').toLowerCase();
|
const extension = content.slice(finalPeriod).replace('.','').toLowerCase();
|
||||||
const filename = content.slice(0,finalPeriod).toLowerCase();
|
const filename = content.slice(0,finalPeriod).toLowerCase();
|
||||||
@ -39,23 +40,10 @@ module.exports = {
|
|||||||
'name': filename,
|
'name': filename,
|
||||||
'extension': extension
|
'extension': extension
|
||||||
};
|
};
|
||||||
console.log(finalPeriod, file);
|
|
||||||
return file;
|
return file;
|
||||||
},
|
},
|
||||||
extIsValid(extension) {
|
extIsValid(extension) {
|
||||||
switch (extension) {
|
const extensions = require('./config.json').validExtensions;
|
||||||
case 'gif':
|
return extensions.includes(extension);
|
||||||
return true;
|
|
||||||
case 'jpg':
|
|
||||||
return false;
|
|
||||||
case 'pasta':
|
|
||||||
return true;
|
|
||||||
case 'admin':
|
|
||||||
return true;
|
|
||||||
case 'spongebob':
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
1
index.js
1
index.js
@ -33,7 +33,6 @@ client.login(process.env.TOKEN);
|
|||||||
|
|
||||||
client.on('message', message => {
|
client.on('message', message => {
|
||||||
// Get the filename and extension as an array
|
// Get the filename and extension as an array
|
||||||
// TODO Rename this function to something more appropriate
|
|
||||||
const file = functions.getFileInfo(message.content);
|
const file = functions.getFileInfo(message.content);
|
||||||
if (!file) return;
|
if (!file) return;
|
||||||
// If the message is from a bot, or doesn't have a valid file extension, stop here.
|
// If the message is from a bot, or doesn't have a valid file extension, stop here.
|
||||||
|
836
package-lock.json
generated
836
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"discord.js": "^12.5.3",
|
"discord.js": "^12.5.3",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"giphy-api": "^2.0.1"
|
"giphy-api": "^2.0.1",
|
||||||
|
"nodemon": "^2.0.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.29.0"
|
"eslint": "^7.29.0"
|
||||||
|
Loading…
Reference in New Issue
Block a user