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,47 +1,48 @@
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
try { try {
console.log(message.author.tag + ': ' + args) console.log(message.author.tag + ': ' + args);
if (!isNaN(args[0])) { if (!isNaN(args[0])) {
message.reply(args[1]) message.reply(args[1]);
console.log('1: ' + args[1] + ', 2: ' + args[2]) console.log('1: ' + args[1] + ', 2: ' + args[2]);
const money = ["gold", "silver", "bronce", "iron", "hp"] const money = ['gold', 'silver', 'bronce', 'iron', 'hp'];
if (money.indexOf(args[1].toLowerCase()) < 0) { if (money.indexOf(args[1].toLowerCase()) < 0) {
message.reply( message.reply(
'Sorry, Aber du musst eins der folgenden Wörter angeben: ' + money.join(",") 'Sorry, Aber du musst eins der folgenden Wörter angeben: ' + money.join(','),
) );
return; return;
} }
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
gold = docs[0].gold gold = docs[0].gold;
silver = docs[0].silver silver = docs[0].silver;
bronce = docs[0].bronce bronce = docs[0].bronce;
iron = docs[0].iron iron = docs[0].iron;
hp = docs[0].hp hp = docs[0].hp;
}) });
db.update({ db.update({
user: message.author.tag user: message.author.tag,
}, { }, {
gold: gold, gold: gold,
silver: silver, silver: silver,
bronce: bronce, bronce: bronce,
iron: iron, iron: iron,
hp: hp hp: hp,
}, function (err, docs) { }, function(err, docs) {
if (!docs.length > 0) { if (!docs.length > 0) {
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥') message.reply('Sorry, Für dich habe ich keinen Eintrag 😥');
return; return;
} }
message.reply(`ich habe ${args[2]} zu ${args[1]} hinzugefügt.`) message.reply(`ich habe ${args[2]} zu ${args[1]} hinzugefügt.`);
}) });
} }
} catch (e) { }
throw e catch (e) {
} throw e;
} }
};
/* /*
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {

View File

@ -1,20 +1,22 @@
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
try { try {
console.log(message) console.log(message);
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
if(!docs.length>0) if(!docs.length > 0) {
db.insert({user: message.author.tag, db.insert({ user: message.author.tag,
gold: 0, gold: 0,
silver: 0, silver: 0,
bronce: 0, bronce: 0,
iron: 0, iron: 0,
hp: 0 hp: 0,
}) });
console.log(docs) }
}); console.log(docs);
} catch (e) { });
throw e }
} catch (e) {
} throw e;
}
};

View File

@ -1,24 +1,26 @@
module.exports = async (message, data, db) => { module.exports = async (message, data, db) => {
try { try {
console.log(message.channel) console.log(message.channel);
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
if (!docs.length > 0) if (!docs.length > 0) {
db.insert({ db.insert({
user: message.author.tag, user: message.author.tag,
gold: 0, gold: 0,
silver: 0, silver: 0,
bronce: 0, bronce: 0,
iron: 0, iron: 0,
hp: 0, hp: 0,
character: data character: data,
}, function (err, docs) { }, function(err, docs) {
message.reply('Ich habe deine Daten abgespeichert.') message.reply('Ich habe deine Daten abgespeichert.');
//console.log(docs[0].character.name) // console.log(docs[0].character.name)
}) });
}); }
} catch (e) { });
throw e }
} catch (e) {
} throw e;
}
};

View File

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

View File

@ -1,46 +1,53 @@
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
var n; let n;
if(!isNaN(args[0]) && (args[1] === 'GD' || args[1] === 'ST' || args[1] === 'BH' || args[1] === 'EK')) { if(!isNaN(args[0]) && (args[1] === 'GD' || args[1] === 'ST' || args[1] === 'BH' || args[1] === 'EK')) {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { // the row is the user's data
if(row && err) { if(row && err) {
message.reply('Es gab einen Fehler.'); message.reply('Es gab einen Fehler.');
} }
if(typeof(row) == 'undefined') { //if the user is not in the database if(typeof (row) == 'undefined') { // if the user is not in the database
message.reply('Es existiert kein Eintrag für dich füge ihn mit !create hinzu.'); message.reply('Es existiert kein Eintrag für dich füge ihn mit !create hinzu.');
} else { //if the user is in the database }
else { // if the user is in the database
if(args[1] === 'GD') {
n = parseInt(row[0].GD, 10) - parseInt(args[0], 10); if(args[1] === 'GD') {
} else if(args[1] === 'ST') { n = parseInt(row[0].GD, 10) - parseInt(args[0], 10);
n = parseInt(row[0].ST, 10) - parseInt(args[0], 10); }
} else if(args[1] === 'BH') { else if(args[1] === 'ST') {
n = parseInt(row[0].BH, 10) - parseInt(args[0], 10); n = parseInt(row[0].ST, 10) - parseInt(args[0], 10);
} else if(args[1] === 'EK') { }
n = parseInt(row[0].EK, 10) - parseInt(args[0], 10); else if(args[1] === 'BH') {
} else if(args[1] === 'LP') { n = parseInt(row[0].BH, 10) - parseInt(args[0], 10);
n = parseInt(row[0].EK, 10) - parseInt(args[0], 10); }
} else if(args[1] === 'EK') {
n = parseInt(row[0].EK, 10) - parseInt(args[0], 10);
if(n >= 0) { }
// eslint-disable-next-line no-undef else if(args[1] === 'LP') {
db.query('UPDATE dsageld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"'); n = parseInt(row[0].EK, 10) - parseInt(args[0], 10);
// eslint-disable-next-line no-undef }
db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
message.reply(args[0] + args[1] + ' abgezogen, du hast: ' + row[0].GD + 'GD, ' + row[0].ST + 'ST, ' + row[0].BH + 'BH, ' + row[0].EK + 'EK,' + row[0].LP + 'LeP.'); if(n >= 0) {
}); // eslint-disable-next-line no-undef
} else if(n < 0 && !(args[1] === 'LP')) { db.query('UPDATE dsageld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"');
message.reply('du hast nicht genügend ' + args[1] ); // eslint-disable-next-line no-undef
} else if(n < 0 && args[1] === 'LP') { db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { // the row is the user's data
// eslint-disable-next-line no-undef message.reply(args[0] + args[1] + ' abgezogen, du hast: ' + row[0].GD + 'GD, ' + row[0].ST + 'ST, ' + row[0].BH + 'BH, ' + row[0].EK + 'EK,' + row[0].LP + 'LeP.');
db.query('UPDATE dsageld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"'); });
// eslint-disable-next-line no-undef }
db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data else if(n < 0 && !(args[1] === 'LP')) {
message.reply('Deine LeP sind unter Null: ' + n + ' LeP.'); message.reply('du hast nicht genügend ' + args[1]);
}); }
} else if(n < 0 && args[1] === 'LP') {
} // eslint-disable-next-line no-undef
}); db.query('UPDATE dsageld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"');
} // eslint-disable-next-line no-undef
db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { // the row is the user's data
message.reply('Deine LeP sind unter Null: ' + n + ' LeP.');
});
}
}
});
}
}; };

View File

@ -1,17 +1,18 @@
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
if (!args.length == 3) { if (!args.length == 3) {
message.reply('Du hast die Würfel nicht korrekt angegeben.'); message.reply('Du hast die Würfel nicht korrekt angegeben.');
} }
else if(!isNaN(args[0]) && !isNaN(args[2]) && args[0] > 0 && args[2] > 0) { else if(!isNaN(args[0]) && !isNaN(args[2]) && args[0] > 0 && args[2] > 0) {
var roll = []; const roll = [];
for (let i = 0; i < args[0]; i++) { for (let i = 0; i < args[0]; i++) {
var a = Math.floor(Math.random() * args[2]) + 1; const a = Math.floor(Math.random() * args[2]) + 1;
roll.push(a); roll.push(a);
} }
message.reply('Deine Würfe(' + args[0] + 'W' + args[2] + '): ' + roll.join(', ') + '.'); message.reply('Deine Würfe(' + args[0] + 'W' + args[2] + '): ' + roll.join(', ') + '.');
} else { }
message.reply('Du hast die Würfel nicht korrekt angegeben.'); else {
} message.reply('Du hast die Würfel nicht korrekt angegeben.');
}
}; };

View File

@ -1,27 +1,28 @@
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
try { try {
console.log(message) console.log(message);
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
// docs is an array containing documents Mars, Earth, Jupiter If no document is // docs is an array containing documents Mars, Earth, Jupiter If no document is
// found, docs is equal to [] // found, docs is equal to []
if (!docs.length > 0) if (!docs.length > 0) {message.reply('Sorry, Für dich habe ich keinen Eintrag 😥');}
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥') else {
else message.reply(
message.reply( `Du besitzt folgendes:
`Du besitzt folgendes: ${docs[0].silver} Silberstücke.`,
${docs[0].silver} Silberstücke.` );
) }
}); });
} catch (e) { }
throw e catch (e) {
} throw e;
}
/* db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data /* db.query('SELECT * FROM dsageld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
if(row && err) { if(row && err) {
message.reply('Es gab einen Fehler.'); message.reply('Es gab einen Fehler.');
} }

View File

@ -1,19 +1,19 @@
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
try { try {
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
if (!docs.length > 0) if (!docs.length > 0) {message.reply('Sorry, Für dich habe ich keinen Eintrag 😥');}
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥') else {
else { let level = 0;
let level = 0 for(i in docs[0].character.skills) {
for(i in docs[0].character.skills) { if(docs[0].character.skills[i].id == args[0]) level = docs[0].character.skills[i].level;
if(docs[0].character.skills[i].id == args[0]) level = docs[0].character.skills[i].level }
} message.reply('Du hast Folgenden Skill in ' + args[0] + ': ' + level);
message.reply('Du hast Folgenden Skill in ' + args[0] + ': ' + level) }
} });
}); }
} catch (e) { catch (e) {
throw e throw e;
} }
}; };

View File

@ -1,81 +1,84 @@
const globals = require('../globals') const globals = require('../globals');
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
try { try {
db.find({ db.find({
user: message.author.tag user: message.author.tag,
}, function (err, docs) { }, function(err, docs) {
if (!docs.length > 0) if (!docs.length > 0) {message.reply('Sorry, Für dich habe ich keinen Eintrag 😥');}
message.reply('Sorry, Für dich habe ich keinen Eintrag 😥') else {
else { if (!args) message.reply('Sorry, du musst mir schon etwas zum prüfen geben.');
if (!args) message.reply('Sorry, du musst mir schon etwas zum prüfen geben.') if (args[1]) {
if (args[1]) { var erschwernis = parseInt(args[1]);
var erschwernis = parseInt(args[1]); }
} else { else {
erschwernis = 0; erschwernis = 0;
} }
let values = [] const values = [];
var roll = []; const roll = [];
let bonus = 0; let bonus = 0;
var ok = 0; let ok = 0;
var patzer = 0; let patzer = 0;
var crit = 0; let crit = 0;
for (i in docs[0].character.skills) { for (i in docs[0].character.skills) {
if (docs[0].character.skills[i].id == args[0]) bonus = docs[0].character.skills[i].level if (docs[0].character.skills[i].id == args[0]) bonus = docs[0].character.skills[i].level;
} }
let bonus_orig = bonus const bonus_orig = bonus;
const result = globals.Talente.find(talent => talent.id === args[0]); const result = globals.Talente.find(talent => talent.id === args[0]);
for (i in result.values) { for (i in result.values) {
let kuerzel = globals.Werte.find(wert => wert.kuerzel === result.values[i]) const kuerzel = globals.Werte.find(wert => wert.kuerzel === result.values[i]);
for (val in docs[0].character.attributes) { for (val in docs[0].character.attributes) {
if (docs[0].character.attributes[val].id == kuerzel.id) values.push(docs[0].character.attributes[val].level) if (docs[0].character.attributes[val].id == kuerzel.id) values.push(docs[0].character.attributes[val].level);
} }
} }
//message.reply(`Du musst mit ${result.values.join(", ")} würfeln. Die werte sind: ${values.join(", ")}. Dein Bonus auf ${result.name}: ${bonus}`) // message.reply(`Du musst mit ${result.values.join(", ")} würfeln. Die werte sind: ${values.join(", ")}. Dein Bonus auf ${result.name}: ${bonus}`)
// roll dice. // roll dice.
for (i = 1; i <= 3; i++) { for (i = 1; i <= 3; i++) {
var a = Math.floor(Math.random() * 20 + 1); const a = Math.floor(Math.random() * 20 + 1);
roll.push(a); roll.push(a);
} }
// compare results // compare results
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (Math.floor(values[i] + parseInt(erschwernis)) >= roll[i]) if (Math.floor(values[i] + parseInt(erschwernis)) >= roll[i]) {ok++;}
ok++; else if ((Math.floor(values[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) {
else if ((Math.floor(values[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) { ok++;
ok++; bonus = bonus - (roll[i] - parseInt(erschwernis) - values[i]);
bonus = bonus - (roll[i] - parseInt(erschwernis) - values[i]); }
} if (roll[i] == 1) crit++;
if (roll[i] == 1) crit++; if (roll[i] == 20) patzer++;
if (roll[i] == 20) patzer++; }
} if (patzer >= 2) {
if (patzer >= 2) { message.reply('Du würfelst auf das Talent ' + result.name + '.\n' +
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+ 'Deine Werte für ' + result.values.join(', ') + ' sind ' + values.join(', ') + '.\n' +
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ".\n" + 'Deine 🎲: ' + roll.join(', ') + '. Patzer! Du hast aber auch Pech 😥',
"Deine 🎲: " + roll.join(", ") + ". Patzer! Du hast aber auch Pech 😥" );
); }
} else if (crit >= 2) { else if (crit >= 2) {
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+ message.reply('Du würfelst auf das Talent ' + result.name + '.\n' +
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ".\n" + 'Deine Werte für ' + result.values.join(', ') + ' sind ' + values.join(', ') + '.\n' +
"Deine 🎲: " + roll.join(", ") + ". Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳" 'Deine 🎲: ' + roll.join(', ') + '. Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳',
); );
} else if (ok < 3) { }
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+ else if (ok < 3) {
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ". (Bonus: " + bonus_orig + ")\n" + message.reply('Du würfelst auf das Talent ' + result.name + '.\n' +
"Deine 🎲: " + roll.join(", ") + ". Damit hast du nur " + ok + "/3 Proben bestanden. 😪" 'Deine Werte für ' + result.values.join(', ') + ' sind ' + values.join(', ') + '. (Bonus: ' + bonus_orig + ')\n' +
); 'Deine 🎲: ' + roll.join(', ') + '. Damit hast du nur ' + ok + '/3 Proben bestanden. 😪',
} else { );
message.reply("Du würfelst auf das Talent " + result.name + ".\n"+ }
"Deine Werte für " + result.values.join(", ") + " sind " + values.join(", ") + ". (Bonus: " + bonus_orig + ")\n" + else {
"Das waren deine 🎲: " + roll.join(", ") + ". Damit hast du " + ok + "/3 Proben bestanden. Dein Bonus: " + bonus + "/" + bonus_orig + "." message.reply('Du würfelst auf das Talent ' + result.name + '.\n' +
); 'Deine Werte für ' + result.values.join(', ') + ' sind ' + values.join(', ') + '. (Bonus: ' + bonus_orig + ')\n' +
} 'Das waren deine 🎲: ' + roll.join(', ') + '. Damit hast du ' + ok + '/3 Proben bestanden. Dein Bonus: ' + bonus + '/' + bonus_orig + '.',
);
}
} }
}); });
} catch (e) { }
throw e catch (e) {
} throw e;
}
}; };

View File

@ -1,54 +1,59 @@
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
module.exports = async (message, args, db) => { module.exports = async (message, args, db) => {
if (args.length < 3) { if (args.length < 3) {
message.reply("Der Talentwurf funktioniert so:\n"+ message.reply('Der Talentwurf funktioniert so:\n' +
"!tp Eigenschaftswert1 Eigenschaftswert2 Eigenschaftswert3 [Bonus] [Erschwernis]"); '!tp Eigenschaftswert1 Eigenschaftswert2 Eigenschaftswert3 [Bonus] [Erschwernis]');
} else { }
var roll = []; else {
if (args[3]) { const roll = [];
var bonus = parseInt(args[3]); if (args[3]) {
} else { var bonus = parseInt(args[3]);
bonus = 0; }
} else {
if (args[4]) { bonus = 0;
var erschwernis = parseInt(args[4]); }
} else { if (args[4]) {
erschwernis = 0; var erschwernis = parseInt(args[4]);
} }
for (i = 1; i <= 3; i++) { else {
var a = Math.floor(Math.random() * 20 + 1); erschwernis = 0;
roll.push(a); }
} for (i = 1; i <= 3; i++) {
var ok = 0; const a = Math.floor(Math.random() * 20 + 1);
var patzer = 0; roll.push(a);
var crit = 0; }
for (i = 0; i < 3; i++) { let ok = 0;
if (Math.floor(parseInt(args[i]) + parseInt(erschwernis)) >= roll[i]) let patzer = 0;
ok++; let crit = 0;
else if ( for (i = 0; i < 3; i++) {
Math.floor(parseInt(args[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) { if (Math.floor(parseInt(args[i]) + parseInt(erschwernis)) >= roll[i]) {ok++;}
ok++; else if (
bonus = bonus - (roll[i] - parseInt(erschwernis) - parseInt(args[i])); Math.floor(parseInt(args[i]) + parseInt(bonus) + parseInt(erschwernis)) >= roll[i]) {
} ok++;
if (roll[i] == 1) crit++; bonus = bonus - (roll[i] - parseInt(erschwernis) - parseInt(args[i]));
if (roll[i] == 20) patzer++; }
} if (roll[i] == 1) crit++;
if (patzer >= 2) { if (roll[i] == 20) patzer++;
message.reply( }
"Deine 🎲: " + roll.join(", ") + ". Patzer! Du hast aber auch Pech 😥" if (patzer >= 2) {
); message.reply(
} else if (crit >= 2) { 'Deine 🎲: ' + roll.join(', ') + '. Patzer! Du hast aber auch Pech 😥',
message.reply( );
"Deine 🎲: " + roll.join(", ") + ". Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳" }
); else if (crit >= 2) {
} else if (ok < 3) { message.reply(
message.reply( 'Deine 🎲: ' + roll.join(', ') + '. Damit hast du einen kritischen Erfolg erzielt 🎈✨🥳',
"Deine 🎲: " + roll.join(", ") + ". Damit hast du nur " + ok + "/3 Proben bestanden. 😪" );
); }
} else { else if (ok < 3) {
message.reply( message.reply(
"Das waren deine 🎲: " + roll.join(", ") + ". Damit hast du " + ok + "/3 Proben bestanden. Dein Bonus: " + bonus + "/" + args[3] + "." 'Deine 🎲: ' + roll.join(', ') + '. Damit hast du nur ' + ok + '/3 Proben bestanden. 😪',
); );
} }
} else {
message.reply(
'Das waren deine 🎲: ' + roll.join(', ') + '. Damit hast du ' + ok + '/3 Proben bestanden. Dein Bonus: ' + bonus + '/' + args[3] + '.',
);
}
}
}; };

View File

@ -1,88 +1,88 @@
const money = [{ const money = [{
"GD": "Golddukaten", 'GD': 'Golddukaten',
"ST": "Silbertaler", 'ST': 'Silbertaler',
}]
}];
const Werte = [ const Werte = [
{ id: "mut", kuerzel: "MU", name: "Mut" }, { id: 'mut', kuerzel: 'MU', name: 'Mut' },
{ id: "klugheit", kuerzel: "KL", name: "Klugheit"}, { id: 'klugheit', kuerzel: 'KL', name: 'Klugheit' },
{ id: "intuition", kuerzel: "IN", name: "Intuition"}, { id: 'intuition', kuerzel: 'IN', name: 'Intuition' },
{ id: "charisma", kuerzel: "CH", name: "Charisma"}, { id: 'charisma', kuerzel: 'CH', name: 'Charisma' },
{ id: "fingerfertigkeit", kuerzel: "FF", name: "Fingerfertigkeit"}, { id: 'fingerfertigkeit', kuerzel: 'FF', name: 'Fingerfertigkeit' },
{ id: "gewandtheit", kuerzel: "GE", name: "Gewandheit" }, { id: 'gewandtheit', kuerzel: 'GE', name: 'Gewandheit' },
{ id: "konstitution", kuerzel: "KO", name: "Konstitution"}, { id: 'konstitution', kuerzel: 'KO', name: 'Konstitution' },
{ id: "koerperkraft", kuerzel: "KK", name: "Körperkraft"} { id: 'koerperkraft', kuerzel: 'KK', name: 'Körperkraft' },
] ];
const Talente = [ const Talente = [
// Körpertalente // Körpertalente
{ id: "fliegen", name: "Fliegen", values: ["MU","IN","GE"]}, { id: 'fliegen', name: 'Fliegen', values: ['MU', 'IN', 'GE'] },
{ id: "gaukeleien", name: "Gaugekleien", values: ["MU","CH","FF"]}, { id: 'gaukeleien', name: 'Gaugekleien', values: ['MU', 'CH', 'FF'] },
{ id: "klettern", name:"Klettern",values: ["MU","GE","KK"]}, { id: 'klettern', name:'Klettern', values: ['MU', 'GE', 'KK'] },
{ id: "koerperbeherrschung", name: "Körperbeherrschung", values: ["GE","GE","KO"]}, { id: 'koerperbeherrschung', name: 'Körperbeherrschung', values: ['GE', 'GE', 'KO'] },
{ id: "kraftakt", name: "Kraftakt", values: ["KO","KK","KK"]}, { id: 'kraftakt', name: 'Kraftakt', values: ['KO', 'KK', 'KK'] },
{ id: "reiten", name: "Reiten", values: ["CH","GE","KK"]}, { id: 'reiten', name: 'Reiten', values: ['CH', 'GE', 'KK'] },
{ id: "schwimmen", name: "Schwimmen", values: ["GE","KO","KK"]}, { id: 'schwimmen', name: 'Schwimmen', values: ['GE', 'KO', 'KK'] },
{ id: "selbstbeherrschung", name: "Selbstbeherrschung", values: ["MU","MU","KO"]}, { id: 'selbstbeherrschung', name: 'Selbstbeherrschung', values: ['MU', 'MU', 'KO'] },
{ id: "singen", name: "Singen", values: ["KL","CH","KO"]}, { id: 'singen', name: 'Singen', values: ['KL', 'CH', 'KO'] },
{ id: "sinnesschaerfe", name: "Sinnesschärfe", values: ["KL","IN","IN"]}, { id: 'sinnesschaerfe', name: 'Sinnesschärfe', values: ['KL', 'IN', 'IN'] },
{ id: "tanzen", name: "Tanzen", values: ["KL","CH","GE"]}, { id: 'tanzen', name: 'Tanzen', values: ['KL', 'CH', 'GE'] },
{ id: "taschendiebstahl", name: "Taschendiebstahl", values: ["MU","FF","GE"]}, { id: 'taschendiebstahl', name: 'Taschendiebstahl', values: ['MU', 'FF', 'GE'] },
{ id: "verbergen", name: "Verbergen", values: ["MU","IN","GE"]}, { id: 'verbergen', name: 'Verbergen', values: ['MU', 'IN', 'GE'] },
{ id: "zechen", name: "Zechen", values: ["KL","KO","KK"]}, { id: 'zechen', name: 'Zechen', values: ['KL', 'KO', 'KK'] },
// Gesellschaftstalente // Gesellschaftstalente
{ id: "bekehrenueberzeugen", name: "Bekehren & Überzeugen", values: ["MU","KL","CH"]}, { id: 'bekehrenueberzeugen', name: 'Bekehren & Überzeugen', values: ['MU', 'KL', 'CH'] },
{ id: "betoeren", name: "Betören", values: ["MU","CH","CH"]}, { id: 'betoeren', name: 'Betören', values: ['MU', 'CH', 'CH'] },
{ id: "einschuechtern", name: "Einschüchtern", values: ["MU","IN","CH"]}, { id: 'einschuechtern', name: 'Einschüchtern', values: ['MU', 'IN', 'CH'] },
{ id: "etikette", name: "Etikette", values: ["KL","IN","CH"]}, { id: 'etikette', name: 'Etikette', values: ['KL', 'IN', 'CH'] },
{ id: "gassenwissen", name: "Gassenwissen", values: ["KL","IN","CH"]}, { id: 'gassenwissen', name: 'Gassenwissen', values: ['KL', 'IN', 'CH'] },
{ id: "menschenkenntnis", name: "Menschenkenntnis", values: ["KL","IN","CH"]}, { id: 'menschenkenntnis', name: 'Menschenkenntnis', values: ['KL', 'IN', 'CH'] },
{ id: "ueberreden", name: "Überreden", values: ["MU","IN","CH"]}, { id: 'ueberreden', name: 'Überreden', values: ['MU', 'IN', 'CH'] },
{ id: "willenskraft", name: "Willenskraft", values: ["MU","IN","CH"]}, { id: 'willenskraft', name: 'Willenskraft', values: ['MU', 'IN', 'CH'] },
// Naturtalente // Naturtalente
{ id: "faehrtensuchen", name: "Fährtensuchen", values: ["MU","IN","GE"]}, { id: 'faehrtensuchen', name: 'Fährtensuchen', values: ['MU', 'IN', 'GE'] },
{ id: "fesseln", name: "Fesseln", values: ["KL","FF","KK"]}, { id: 'fesseln', name: 'Fesseln', values: ['KL', 'FF', 'KK'] },
{ id: "fischenangeln", name: "Fischen & Angeln", values: ["FF","GE","KO"]}, { id: 'fischenangeln', name: 'Fischen & Angeln', values: ['FF', 'GE', 'KO'] },
{ id: "orientierung", name: "Orientierung", values: ["KL","IN","IN"]}, { id: 'orientierung', name: 'Orientierung', values: ['KL', 'IN', 'IN'] },
{ id: "pflanzenkunde", name: "Pflanzenkunde", values: ["KL","FF","KO"]}, { id: 'pflanzenkunde', name: 'Pflanzenkunde', values: ['KL', 'FF', 'KO'] },
{ id: "tierkunde", name: "Tierkunde", values: ["MU","MU","CH"]}, { id: 'tierkunde', name: 'Tierkunde', values: ['MU', 'MU', 'CH'] },
{ id: "wildnisleben", name: "Wildnisleben", values: ["MU","GE","KO"]}, { id: 'wildnisleben', name: 'Wildnisleben', values: ['MU', 'GE', 'KO'] },
// Wissenstalente // Wissenstalente
{ id: "brettspiel", name: "Brett- & Glücksspiel", values: ["KL","KL","IN"]}, { id: 'brettspiel', name: 'Brett- & Glücksspiel', values: ['KL', 'KL', 'IN'] },
{ id: "geographie", name: "Geographie", values: ["KL","KL","IN"]}, { id: 'geographie', name: 'Geographie', values: ['KL', 'KL', 'IN'] },
{ id: "geschichtswissen", name: "Geschichtswissen", values: ["KL","KL","IN"]}, { id: 'geschichtswissen', name: 'Geschichtswissen', values: ['KL', 'KL', 'IN'] },
{ id: "goetterkulte", name: "Götter & Kulte", values: ["KL","KL","IN"]}, { id: 'goetterkulte', name: 'Götter & Kulte', values: ['KL', 'KL', 'IN'] },
{ id: "kriegkunst", name: "Kriegskunst", values: ["MU","KL","IN"]}, { id: 'kriegkunst', name: 'Kriegskunst', values: ['MU', 'KL', 'IN'] },
{ id: "magiekunde", name: "Magiekunde", values: ["KL","KL","IN"]}, { id: 'magiekunde', name: 'Magiekunde', values: ['KL', 'KL', 'IN'] },
{ id: "mechanik", name: "Mechanik", values: ["KL","KL","FF"]}, { id: 'mechanik', name: 'Mechanik', values: ['KL', 'KL', 'FF'] },
{ id: "rechnen", name: "Rechnen", values: ["KL","KL","IN"]}, { id: 'rechnen', name: 'Rechnen', values: ['KL', 'KL', 'IN'] },
{ id: "rechtskunde", name: "Rechtskunde", values: ["KL","KL","IN"]}, { id: 'rechtskunde', name: 'Rechtskunde', values: ['KL', 'KL', 'IN'] },
{ id: "sagenlegenden", name: "Sagen & Legenden", values: ["KL","KL","IN"]}, { id: 'sagenlegenden', name: 'Sagen & Legenden', values: ['KL', 'KL', 'IN'] },
{ id: "sphaerenkunde", name: "Sphärenkunde", values: ["KL","KL","IN"]}, { id: 'sphaerenkunde', name: 'Sphärenkunde', values: ['KL', 'KL', 'IN'] },
{ id: "sternkunde", name: "Sternkunde", values: ["KL","KL","IN"]}, { id: 'sternkunde', name: 'Sternkunde', values: ['KL', 'KL', 'IN'] },
// Handwerkstalente // Handwerkstalente
{ id: "alchimie", name: "Alchimie", values: ["MU","KL","FF"]}, { id: 'alchimie', name: 'Alchimie', values: ['MU', 'KL', 'FF'] },
{ id: "boote", name: "Boote & Schiffe", values: ["FF","GE","KK"]}, { id: 'boote', name: 'Boote & Schiffe', values: ['FF', 'GE', 'KK'] },
{ id: "fahrzeuge", name: "Fahrzeuge", values: ["CH","FF","KO"]}, { id: 'fahrzeuge', name: 'Fahrzeuge', values: ['CH', 'FF', 'KO'] },
{ id: "handel", name: "Handel", values: ["KL","IN","CH"]}, { id: 'handel', name: 'Handel', values: ['KL', 'IN', 'CH'] },
{ id: "heilkundegift", name: "Heilkunde: Gift", values: ["MU","KL","IN"]}, { id: 'heilkundegift', name: 'Heilkunde: Gift', values: ['MU', 'KL', 'IN'] },
{ id: "heilkundekrankheiten", name: "Heilkunde: Krankheiten", values: ["MU","IN","KO"]}, { id: 'heilkundekrankheiten', name: 'Heilkunde: Krankheiten', values: ['MU', 'IN', 'KO'] },
{ id: "heilkundeseele", name: "Heilkunde: Seele", values: ["IN","CH","KO"]}, { id: 'heilkundeseele', name: 'Heilkunde: Seele', values: ['IN', 'CH', 'KO'] },
{ id: "heilkundewunden", name: "Heilkunde: Wunden", values: ["KL","FF","FF"]}, { id: 'heilkundewunden', name: 'Heilkunde: Wunden', values: ['KL', 'FF', 'FF'] },
{ id: "holzbearbeitung", name: "Holzbearbeitung", values: ["FF","GE","KK"]}, { id: 'holzbearbeitung', name: 'Holzbearbeitung', values: ['FF', 'GE', 'KK'] },
{ id: "lebensmittel", name: "Lebensmittelbearbeitung", values: ["IN","FF","FF"]}, { id: 'lebensmittel', name: 'Lebensmittelbearbeitung', values: ['IN', 'FF', 'FF'] },
{ id: "lederbearbeitung", name: "Lederbearbeitung", values: ["FF","GE","KO"]}, { id: 'lederbearbeitung', name: 'Lederbearbeitung', values: ['FF', 'GE', 'KO'] },
{ id: "malenzeichnen", name: "Malen & Zeichnen", values: ["IN","FF","FF"]}, { id: 'malenzeichnen', name: 'Malen & Zeichnen', values: ['IN', 'FF', 'FF'] },
{ id: "musizieren", name: "Musizieren", values: ["CH","FF","KO"]}, { id: 'musizieren', name: 'Musizieren', values: ['CH', 'FF', 'KO'] },
{ id: "schloesserknacken", name: "Schlösserknacken", values: ["IN","FF","FF"]}, { id: 'schloesserknacken', name: 'Schlösserknacken', values: ['IN', 'FF', 'FF'] },
{ id: "steinbearbeitung", name: "Steinbearbeitung", values: ["FF","FF","KK"]}, { id: 'steinbearbeitung', name: 'Steinbearbeitung', values: ['FF', 'FF', 'KK'] },
{ id: "stoffbearbeitung", name: "Stoffbearbeitung", values: ["KL","FF","FF"]} { id: 'stoffbearbeitung', name: 'Stoffbearbeitung', values: ['KL', 'FF', 'FF'] },
] ];
module.exports = { Werte, Talente } module.exports = { Werte, Talente };

View File

@ -1,27 +1,26 @@
require('dotenv').config(); require('dotenv').config();
const Discord = require('discord.js'); const Discord = require('discord.js');
const client = new Discord.Client(); const client = new Discord.Client();
const SERVERID = process.env.SERVERID const SERVERID = process.env.SERVERID;
const commandHandler = require('./commands'); const commandHandler = require('./commands');
client.on('message', commandHandler); client.on('message', commandHandler);
client.login(process.env.BOT_TOKEN); client.login(process.env.BOT_TOKEN);
client.once('ready', () => { client.once('ready', () => {
console.log('Ready!'); console.log('Ready!');
}); });
client.on('error', err => { client.on('error', err => {
console.error("Error\n" + err) console.error('Error\n' + err);
process.exit(1); process.exit(1);
}); });
client.on('disconnect', message => { client.on('disconnect', message => {
console.error(`User Disconnected`) console.error('User Disconnected');
process.exit(1); process.exit(1);
}); });
client.on('reconnecting', message => { client.on('reconnecting', message => {
console.log(`User Reconnecting`) console.log('User Reconnecting');
}); });