Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require ('discord.js');
- const economy = require ('quick.db');
- const bot = new Discord.Client();
- const fs = require ('fs');
- const client = new Discord.Client ();
- const modRole = "Founders";
- const sql = require("sqlite");
- sql.open("desktop/bot/userData.sqlite");
- client.on ('message', message => {
- let prefix = '*';
- let msg = message.content.toUpperCase ();
- let sender = message.author;
- let cont = message.content.slice(prefix.length).split(" ");
- let args = cont.slice (1);
- let userData;
- sql.get(`SELECT * FROM userData WHERE id = ${sender.id} + ${message.guild.id}`).then(row => {
- if (!row) {
- sql.run('INSERT INTO userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [sender.id + guild.id, guild.id, sender.id, 0, 0, 0, 1000, Date.now (), Date.now (), Date.now (), 1]);
- console.log('Empty Row, inserting...')
- }
- }).catch(() => {
- console.error;
- sql.run('CREATE TABLE IF NOT EXISTS userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack)').then(() => {
- sql.run('INSERT INTO userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [sender.id + guild.id, guild.id, sender.id, 0, 0, 0, 1000, Date.now (), Date.now (), Date.now (), 1]);
- console.log('Creating Database entry.')
- });
- });
- sql.run (`UPDATE userData SET currentMessage = ${Date.now ()} WHERE id = ${message.author.id} + ${message.guild.id}`)
- sql.get (`SELECT * FROM userData WHERE id = ${message.author.id}`).then (row => {
- let curMsg = row.currentMessage;
- let lastMsg = row.lastMessage;
- let userMoney = row.money;
- let lastStkMsg = row.lastStackMessage;
- let lastStk = row.lastStack;
- if ((curMsg.parseInt () - lastMsg.parseInt ()) / 60000 < 1)
- {
- if ((curMsg.parseInt () - lastStkMsg.parseInt ()) / 60000 >= 1)
- {
- userMoney = userMoney + lastStk * 500;
- lastStkMsg = Date.now ();
- }
- }
- else
- {
- lastStk = 1;
- lastMsg = Date.now ();
- }
- sql.run (`UPDATE userData SET lastMessage = ${lastMsg}, money = ${userMoney}, lastStack = ${lastStk}, lastStackMessage = ${lastStkMsg} WHERE id = ${message.author.id} + ${message.guild.id}`);
- });
- if (message.content.toUpperCase () === prefix + 'PING'){
- message.channel.send ('Pong!');
- }
- if (msg === prefix + 'S' || msg === prefix + 'STACK')
- {
- let embed = new Discord.RichEmbed()
- .setColor(0xD4AF37)
- .setTitle(sender.username + " Stacks")
- .setDescription("")
- .addField("Current Stack", userData[sender.id + message.guild.id].lastStack + "x" + " :gem: " + 500 * userData[sender.id + message.guild.id].lastStack)
- .setFooter("Money Bot v2 | In development")
- message.channel.send(embed);
- }
- if (msg.startsWith (prefix + 'GIFT')) {
- let defineduser = '';
- if (!args[0]) {
- message.channel.send ('**You need to define a user. Usage' + prefix + 'gift <user> <amount> **');
- return;
- }
- let firstMentioned = message.mentions.users.first();
- defineduser = firstMentioned.id;
- if (defineduser === '') {
- message.channel.send ('**You need to define a user. Usage' + prefix + 'gift <user> <amount> **');
- return;
- }
- if (!args[1]) {
- message.channel.send ('**You need to define an amount. Usage: ' + prefix + 'gift <user> <amount> **');
- return;
- }
- if (isNaN(args[1])) {
- message.channel.send ('**The amount has to be a number. Usage: ' + prefix + 'gift <user> <amount> **');
- return;
- }
- if (userData [message.author.id + message.guild.id].money < args[1])
- {
- message.channel.send ('**You do not have enough money for this transaction**');
- return;
- }
- userData [defineduser + message.guild.id].money += parseInt (args[1]);
- userData [sender.id + message.guild.id].money -= parseInt (args[1]);
- message.channel.send ('**The money has been recieved by the other side**');
- }
- if (msg.startsWith (prefix + 'ADDBAL')) {
- if (!message.member.roles.find("name", modRole))
- {
- message.channel.send ('**You need the role ' + modRole + ' to use this command...**');
- return;
- }
- if (!args[1]) {
- message.channel.send ('**You need to define an amount. Usage: ' + prefix + 'addbal <user> <amount> **');
- return;
- }
- if (isNaN(args[1])) {
- message.channel.send ('**The amount has to be a number. Usage: ' + prefix + 'addbal <user> <amount> **');
- return;
- }
- let defineduser = '';
- if (!args[0]) {
- defineduser = message.author.id;
- } else {
- let firstMentioned = message.mentions.users.first();
- defineduser = firstMentioned.id;
- }
- message.channel.send ('**' + args[0] + '** had their money updated');
- userData [defineduser + message.guild.id].money += userData [defineduser + message.guild.id].money + parseInt (args[1]);
- }
- if (msg.startsWith (prefix + 'BAL' || prefix + 'MONEY')) {
- let defineduser = message.author;
- if (!args[0]) {
- defineduser = message.author;
- } else {
- let firstMentioned = message.mentions.users.first();
- if (!firstMentioned)
- {
- defineduser = message.author
- }
- else
- {
- defineduser = firstMentioned;
- }
- }
- let embed = new Discord.RichEmbed()
- .setColor(0xD4AF37)
- .setTitle(defineduser.username + " Banking Information")
- .setDescription("")
- .addField("Currency", "**" + userData[defineduser.id + message.guild.id].money + " :dollar:**")
- .setFooter("Money Bot v2 | In development")
- message.channel.send(embed);
- }
- if (msg === prefix + 'DAILY')
- {
- if (userData [sender.id + message.guild.id].lastDaily === "Not collected")
- {
- let embed = new Discord.RichEmbed()
- .setColor(0xD4AF37)
- .setTitle("**Daily Reward**")
- .addField(message.author.username + " has collected his daily 1000", "Next available daily in 24 hours")
- .setFooter ("Money Bot v2 | In development")
- userData [sender.id + message.guild.id].lastDaily = "Collected";
- userData [sender.id + message.guild.id].money = userData [sender.id + message.guild.id].money + 1000;
- message.channel.send(embed);
- }
- else
- {
- let Test = new Discord.RichEmbed()
- .setColor(0xD4AF37)
- .setTitle("**Daily Reward**")
- .addField(message.author.username + " has already collected his daily 1000", "Next available daily (Not Calculated yet)")
- .setFooter ("Money Bot v2 | In development")
- message.channel.send(Test);
- }
- }
- sql.run('INSERT INTO userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', userData);
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement