· 6 years ago · Dec 11, 2019, 07:38 PM
1const sql = require('sqlite');
2const path = require('path');
3const ms = require('parse-ms');
4const prefix = "$";
5sql.open(path.join(__dirname, 'credits.sql'))
6.then(() => {
7 console.log('Opened')
8 sql.run(`CREATE TABLE IF NOT EXISTS creditSysteme (id VARCHAR(30), credits BIGINT, timeDaily BIGINT, visa VARCHAR(30), Bcredits BIGINT, visan BIGINT)`)
9})
10.catch(err => console.error(err))
11client.on("message", async msg => {
12 if(!msg.channel.guild) return;
13 let men = msg.mentions.users.first() || msg.author;
14 let prize = msg.content.split(" ").slice(2).join(" ")
15 const random = Math.floor(Math.random() * (10 - 5 + 1))+ 5
16 sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`).then(res => {
17 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
18 if(res) {
19 let randomC = res.credits
20 sql.run(`UPDATE creditSysteme SET credits = ${randomC + parseInt(random)} WHERE id = '${msg.author.id}'`);
21 console.log(`${random}`)
22 }
23 })
24 if(msg.content.startsWith(prefix+"credits")) {
25 if(!men || !men === undefined) return msg.channel.send("** :interrobang: | "+men.username+", I can't find "+men.username+"!**");
26 if(!prize) {
27 sql.get(`SELECT * FROM creditSysteme WHERE id = '${men.id}'`).then(res => {
28 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0, 'Disabled', 0, 0)`)
29 if(res) {
30 msg.channel.send("**"+men.username+" :credit_card: balance is ``"+res.credits+"$``.**")
31 }
32 })
33 }else{
34 if(isNaN(prize) || prize <= 0) return msg.channel.send(" :interrobang: | "+msg.author.username+", type the credit you need to transfer!");
35 if(parseFloat(prize) === NaN) return msg.channel.send(" :interrobang: | "+msg.author.username+", type the credit you need to transfer!");
36 let authorRes = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`)
37 let userRes = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${men.id}'`)
38 if(!authorRes) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
39 if(!userRes) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0, 'Disabled', 0, 0)`)
40 let authorCredits = authorRes.credits;
41 let userCredits = userRes.credits;
42 let tprize = Math.floor(prize - (prize * 5/100))
43 if(prize <= 5) tprize = prize
44 if(parseFloat(prize) > authorCredits) return msg.channel.send("** :thinking: | "+msg.author.username+", Your balance is not enough for that!**");
45 sql.run(`UPDATE creditSysteme SET credits = ${authorCredits - parseInt(prize)} WHERE id = '${msg.author.id}'`);
46 sql.run(`UPDATE creditSysteme SET credits = ${userCredits + parseInt(tprize)} WHERE id = '${men.id}'`);
47 msg.channel.send("**:moneybag: | "+msg.author.username+", has transferred ``$"+tprize+"`` to "+men.toString()+"**")
48 men.send(`:atm: | Transfer Receipt\n\`\`\`You have received $ ${tprize} from user ${msg.author.username} (ID: ${msg.author.id})\`\`\``)
49 }
50 }
51
52
53
54 else if(msg.content.startsWith(prefix+"daily")) {
55 let daily = 86400000;
56 let amount = Math.floor((Math.random() * 500) + 1)
57 let res = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`)
58 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0, 'Disabled', 0, 0)`)
59 let time = res.timeDaily;
60 let credits = res.credits;
61 if(time != null && daily - (Date.now() - time) > 0) {
62 let fr8 = ms(daily - (Date.now() - time));
63 msg.channel.send("**:stopwatch: | "+msg.author.username+", your daily :yen: credits refreshes in "+fr8.hours+" hours and "+fr8.seconds+" seconds. **")
64 }else{
65 msg.channel.send("**:atm: | "+msg.author.username+", you received your :yen: "+amount+" daily credits!**");
66 sql.run(`UPDATE creditSysteme SET credits = ${credits + amount}, timeDaily = ${Date.now()} WHERE id = '${msg.author.id}'`);
67 }
68 }
69 else
70 if(msg.content.startsWith(prefix+"create-Visa")) {
71 sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`).then(res => {
72 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
73 if(res) {
74 var idkey = "123456789987654321147852369963258741951753";
75 var ID = "";
76 for (var y = 0; y < 16; y++) {
77 ID += `${idkey.charAt(Math.floor(Math.random() * idkey.length))}`;
78 };
79 msg.channel.send("**:credit_card: The Visa Has Been Created Succesfully.**")
80 sql.run(`UPDATE creditSysteme SET visa = 'Enabled', visan = ${ID} WHERE id = '${msg.author.id}'`);
81 }
82 })
83 }
84 else
85 if(msg.content.startsWith(prefix+"put-In-Bank")) {
86 var bacredits = msg.content.split(" ").slice(1).join(" ")
87 if(msg.author.bot || !msg.channel.guild || isNaN(bacredits) || parseFloat(bacredits) === NaN || bacredits <= 0) return msg.channel.send("**Type The Amount You Want To Put!**");
88 let bncredits = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`)
89 if(!bncredits) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
90 let authorBCredits = bncredits.credits;
91 let Visas = bncredits.visa
92 let bank = bncredits.Bcredits
93 if(Visas === 'Disabled')return msg.channel.send("**:x: | "+msg.author.username+", Please Create A Visa To Use This Command!**");
94 if(parseInt(bacredits) > authorBCredits) return msg.channel.send("** :thinking: | "+msg.author.username+", Your balance is not enough for that!**");
95 sql.run(`UPDATE creditSysteme SET credits = ${authorBCredits - parseInt(bacredits)} WHERE id = '${msg.author.id}'`);
96 sql.run(`UPDATE creditSysteme SET Bcredits = ${bank + parseInt(bacredits)} WHERE id = '${msg.author.id}'`).then(msg.channel.send("**Donne...**"))
97 }
98 else if(msg.content.startsWith(prefix+"get-From-Bank")) {
99 var gcredits = msg.content.split(" ").slice(1).join(" ")
100 if(msg.author.bot || !msg.channel.guild || isNaN(gcredits) || parseFloat(gcredits) === NaN || gcredits <= 0) return msg.channel.send("**Type The Amount You Want To Put!**");
101 let ucredits = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`)
102 if(!ucredits) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
103 let authorgCredits = ucredits.credits;
104 let Visa = ucredits.visa
105 let banka = ucredits.Bcredits
106 if(Visa === 'Disabled') return msg.channel.send("**:x: | "+msg.author.username+", Please Create A Visa To Use This Command!**");
107 if(parseInt(bacredits) > authorgCredits) return msg.channel.send("** :x: | "+msg.author.username+", Your balance is not enough for that!**");
108 sql.run(`UPDATE creditSysteme SET credits = ${authorgCredits + parseInt(gcredits)} WHERE id = '${msg.author.id}'`);
109 sql.run(`UPDATE creditSysteme SET Bcredits = ${banka - parseInt(gcredits)} WHERE id = '${msg.author.id}'`).then(msg.channel.send("**Donne...**"))
110 }
111 else
112 if(msg.content === prefix+"bank-Balance") {
113 sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`).then(res => {
114 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
115 if(res) {
116 msg.channel.send("**"+msg.author.username+", Your Bank balance is ``"+res.Bcredits+"$``.**")
117 }
118 })
119 }
120 else
121 if(msg.content === prefix+"info-Visa") {
122 sql.get(`SELECT * FROM creditSysteme WHERE id = '${men.id}'`).then(res => {
123 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0, 'Disabled', 0, 0)`)
124 if(res) {
125 if(res.visa === 'Disabled') return
126 let embed = new Discord.RichEmbed()
127 .setAuthor(men.tag)
128 .addField("**Visa Status:**", "**"+res.visa+"**",true)
129 .addField("**Visa Number**:", "**"+res.visan+"**",true)
130 .addField("Visa balance:", "**"+res.Bcredits+"**")
131 .setTimestamp()
132 msg.channel.send(embed)
133 }
134 })
135 }
136});