This commit is contained in:
Marcus Netz
2020-11-23 14:24:29 +01:00
parent 1270815aba
commit 057859a820
12 changed files with 454 additions and 429 deletions

View File

@ -1,61 +1,65 @@
const fs = require('fs');
const fetch = require('node-fetch')
const fetch = require('node-fetch');
const roll = require('./roll');
const create = require('./create');
const add = require('./add');
const remove = require('./remove');
const show = require('./show');
const tp = require('./tp')
const talent = require('./talent')
const skill = require('./skill')
const createFromFile = require('./createFromFile')
const tp = require('./tp');
const talent = require('./talent');
const skill = require('./skill');
const createFromFile = require('./createFromFile');
require('dotenv').config();
const prefix = process.env.PREFIX || '!';
const commands = {
roll,
create,
add,
remove,
show,
skill,
tp,
talent,
roll,
create,
add,
remove,
show,
skill,
tp,
talent,
};
var Datastore = require('nedb'),
db = new Datastore({
filename: 'dsabot.db',
autoload: true
});
const Datastore = require('nedb'),
db = new Datastore({
filename: 'dsabot.db',
autoload: true,
});
module.exports = async (message) => {
if ((message.attachments.size > 0) && message.channel.type == 'dm') {
try {
let response = await fetch(message.attachments.first().url)
let data = await validateJSON(response);
if (data) createFromFile(message, data, db);
} catch (e) {
return null
}
} else {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(' ');
const command = args.shift().toLowerCase();
if (Object.keys(commands).includes(command)) {
commands[command](message, args, db);
}
}
console.log(`${new Date().toUTCString} ${message.author.tag}`)
if ((message.attachments.size > 0) && message.channel.type == 'dm') {
try {
const response = await fetch(message.attachments.first().url);
const data = await validateJSON(response);
if (data) createFromFile(message, data, db);
}
catch (e) {
return null;
}
}
else {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(' ');
const command = args.shift().toLowerCase();
if (Object.keys(commands).includes(command)) {
commands[command](message, args, db);
}
}
};
function validateJSON(body) {
try {
var data = body.json();
// if came to here, then valid
return data;
} catch (e) {
// failed to parse
return null;
}
try {
const data = body.json();
// if came to here, then valid
return data;
}
catch (e) {
// failed to parse
return null;
}
}