Files
dsabot/index.js
2020-03-21 03:37:31 +01:00

133 lines
5.7 KiB
JavaScript

const Discord = require('discord.js');
const bot = new Discord.Client();
const mysql = require('mysql');
const prefix = '!';
var db = mysql.createConnection({
host : 'remotemysql.com',
port : '3306',
user : 'tftipudgeE',
password : 'GYKju7YA1p',
database : 'tftipudgeE'
});
db.connect((err) => {
if(err){
throw err;
}
console.log('MySql connected...')
});
bot.on('message', (message) =>{
//command manager
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(' ');
const command = args.shift().toLowerCase();
//dice:
if(command === 'roll') {
if (!args.length == 3) {
return message.reply(`Du hast die Würfel nicht korrekt angegeben.`);
}
else if(!isNaN(args[0]) && !isNaN(args[2]) && args[0] > 0 && args[2] > 0) {
var roll = [];
for (let i = 0; i < args[0]; i++) {
a = Math.floor(Math.random() * args[2]) + 1;
roll.push(a);
}
message.reply('Deine Würfe(' + args[0] + 'W' + args[2] + '): ' + roll.join(', ') + '.');
} else {
return message.reply(`Du hast die Würfel nicht korrekt angegeben.`);
}
}
//create money 'account'
if(command == 'create'){
db.query('SELECT * FROM DSAGeld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
if(row.length < 1) {
db.query('INSERT INTO `DSAGeld` (`userName`, `GD`,`ST`, `BH`, `EK`) VALUES (' + '"' + message.author.tag + '"' + ', 0, 0, 0, 0)');
message.reply('Dein Eintrag wurde registriert.')
} else if(row) {
message.reply('Dein Eintrag existiert bereits.')
}
});
}
//add money
if(command === 'add') {
if(!isNaN(args[0]) && (args[1] === 'GD' || args[1] === 'ST' || args[1] === 'BH' || args[1] === 'EK')) {
db.query('SELECT * FROM DSAGeld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
if(row && err) {
message.reply('Es gab einen Fehler.')
}
if(row.length < 1) { //if the user is not in the database
message.reply('Es existiert kein Eintrag für dich füge ihn mit !create hinzu.');
} else { //if the user is in the database
if(args[1] === 'GD') {
var n = parseInt(row[0].GD, 10) + parseInt(args[0], 10);
} else if(args[1] === 'ST') {
var n = parseInt(row[0].ST, 10) + parseInt(args[0], 10);
} else if(args[1] === 'BH') {
var n = parseInt(row[0].BH, 10) + parseInt(args[0], 10);
} else if(args[1] === 'EK') {
var n = parseInt(row[0].EK, 10) + parseInt(args[0], 10);
}
db.query('UPDATE DSAGeld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"');
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] + ' hinzugefügt, du hast: ' + row[0].GD + 'GD, ' + row[0].ST + 'ST, ' + row[0].BH + 'BH, ' + row[0].EK + 'EK.')
});
}
});
}
}
//remove money
if(command === 'remove') {
if(!isNaN(args[0]) && (args[1] === 'GD' || args[1] === 'ST' || args[1] === 'BH' || args[1] === 'EK')) {
db.query('SELECT * FROM DSAGeld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
if(row && err) {
message.reply('Es gab einen Fehler.')
}
if(!row) { //if the user is not in the database
message.reply('Es existiert kein Eintrag für dich füge ihn mit !create hinzu.');
} else { //if the user is in the database
if(args[1] === 'GD') {
var n = parseInt(row[0].GD, 10) - parseInt(args[0], 10);
} else if(args[1] === 'ST') {
var n = parseInt(row[0].ST, 10) - parseInt(args[0], 10);
} else if(args[1] === 'BH') {
var n = parseInt(row[0].BH, 10) - parseInt(args[0], 10);
} else if(args[1] === 'EK') {
var n = parseInt(row[0].EK, 10) - parseInt(args[0], 10);
}
if(n >= 0) {
db.query('UPDATE DSAGeld SET' + '`' + args[1] + '`' + ' = (' + n + ') WHERE userName = ' + '"' + message.author.tag + '"');
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.')
});
} else if(n < 0) {
message.reply('du hast nicht genügend ' + args[1] )
}
}
});
}
}
//show money
if(command === 'show') {
db.query('SELECT * FROM DSAGeld WHERE userName = ' + '"' + message.author.tag + '"', function(err, row) { //the row is the user's data
message.reply('du hast: ' + row[0].GD + ' GD, ' + row[0].ST + ' ST, ' + row[0].BH + ' BH, ' + row[0].EK + ' EK.' )
}
);}
});
bot.login('NjkwMjIxODMwMTk5NDQzNDgy.XnPXvg.w3zGhtCtjzfM2CJ-yiOvuDWT3cw');