progdisc/AwesomeBot

View on GitHub
commands/quickref/quickref.js

Summary

Maintainability
A
2 hrs
Test Coverage
const fs = require('fs');
const path = require('path');
 
const getFileList = (dirName) => {
const fileList = fs.readdirSync(dirName);
return fileList || [];
};
 
const loadReferences = (filename) => {
const content = fs.readFileSync(filename, 'utf8');
return content || '';
};
 
const references = {};
 
module.exports = {
usage: [
'quickref <topic> - displays quick reference for <topic>',
'quickref - list known references',
],
run: (bot, message, cmdArgs) => {
if (cmdArgs) {
const response = references[cmdArgs.toLowerCase()];
 
if (response) {
message.channel.sendMessage(
`${response}`);
} else {
message.channel.sendMessage('I don\'t have any references for that. If you have a suggestion, let us know!');
}
} else {
let r = '\nreferences I have ready to go:';
r += '\n```';
r += Object.keys(references).map(t => `\n - ${t}`).join('');
r += '\n```';
message.channel.sendMessage(r);
}
},
Similar blocks of code found in 2 locations. Consider refactoring.
init: () => {
console.log('Loading quickrefs...');
getFileList(path.join(__dirname, 'references')).forEach((fn) => {
references[path.basename(fn, '.txt')] = loadReferences(path.join(__dirname, 'references', fn));
});
},
};