49 lines
1.1 KiB
JavaScript
Executable File
49 lines
1.1 KiB
JavaScript
Executable File
module.exports = {
|
|
exists: exists,
|
|
get: get
|
|
};
|
|
|
|
const fs = require('fs'),
|
|
path = require('path');
|
|
|
|
const cmdPrefix = '!';
|
|
const commandsFilePath = path.join(__dirname, '..', 'conf', 'ghbot.abcomg');
|
|
let commands = parseCommands(commandsFilePath);
|
|
fs.watchFile(commandsFilePath, (curr, prev) => {
|
|
if (curr.mtime !== prev.mtime) {
|
|
commands = require(commandsFilePath);
|
|
}
|
|
});
|
|
|
|
function exists(command)
|
|
{
|
|
let matches = commands.filter(obj => { return obj.Command === cmdPrefix+command; });
|
|
if (matches.length > 0) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function get(command)
|
|
{
|
|
let matches = commands.filter(obj => { return obj.Command === cmdPrefix+command; });
|
|
if (matches.length > 0) {
|
|
let match = matches[0];
|
|
if (match.Enabled === true) {
|
|
return matches[0].Response;
|
|
} else {
|
|
return undefined;
|
|
}
|
|
} else {
|
|
return undefined;
|
|
}
|
|
}
|
|
|
|
// Read in the array of objects exported from AnkhBot
|
|
function parseCommands(filePath)
|
|
{
|
|
let data = fs.readFileSync(filePath, 'utf-8');
|
|
let commands = eval(data);
|
|
return commands;
|
|
} |