Advertisement
Guest User

Help v3

a guest
Jan 23rd, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.55 KB | None | 0 0
  1. const Discord = require ('discord.js');
  2. const economy = require ('quick.db');
  3. const bot = new Discord.Client();
  4. const fs = require ('fs');
  5. const client = new Discord.Client ();
  6. const modRole = "Founders";
  7. const sql = require("sqlite");
  8. sql.open("desktop/bot/userData.sqlite");
  9.  
  10. client.on ('message', message => {
  11. let prefix = '*';
  12. let msg = message.content.toUpperCase ();
  13. let sender = message.author;
  14. let cont = message.content.slice(prefix.length).split(" ");
  15. let args = cont.slice (1);
  16. let userData;
  17.  
  18. sql.get(`SELECT * FROM userData WHERE id = ${sender.id} + ${message.guild.id}`).then(row => {
  19. if (!row) {
  20. 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]);
  21. console.log('Empty Row, inserting...')
  22. }
  23. }).catch(() => {
  24. console.error;
  25. sql.run('CREATE TABLE IF NOT EXISTS userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack)').then(() => {
  26. 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]);
  27. console.log('Creating Database entry.')
  28. });
  29. });
  30.  
  31. sql.run (`UPDATE userData SET currentMessage = ${Date.now ()} WHERE id = ${message.author.id} + ${message.guild.id}`)
  32.  
  33. sql.get (`SELECT * FROM userData WHERE id = ${message.author.id}`).then (row => {
  34. let curMsg = row.currentMessage;
  35. let lastMsg = row.lastMessage;
  36. let userMoney = row.money;
  37. let lastStkMsg = row.lastStackMessage;
  38. let lastStk = row.lastStack;
  39.  
  40. if ((curMsg.parseInt () - lastMsg.parseInt ()) / 60000 < 1)
  41. {
  42. if ((curMsg.parseInt () - lastStkMsg.parseInt ()) / 60000 >= 1)
  43. {
  44. userMoney = userMoney + lastStk * 500;
  45. lastStkMsg = Date.now ();
  46. }
  47. }
  48. else
  49. {
  50. lastStk = 1;
  51. lastMsg = Date.now ();
  52. }
  53.  
  54. sql.run (`UPDATE userData SET lastMessage = ${lastMsg}, money = ${userMoney}, lastStack = ${lastStk}, lastStackMessage = ${lastStkMsg} WHERE id = ${message.author.id} + ${message.guild.id}`);
  55. });
  56.  
  57.  
  58. if (message.content.toUpperCase () === prefix + 'PING'){
  59. message.channel.send ('Pong!');
  60. }
  61.  
  62. if (msg === prefix + 'S' || msg === prefix + 'STACK')
  63. {
  64. let embed = new Discord.RichEmbed()
  65. .setColor(0xD4AF37)
  66. .setTitle(sender.username + " Stacks")
  67. .setDescription("")
  68. .addField("Current Stack", userData[sender.id + message.guild.id].lastStack + "x" + " :gem: " + 500 * userData[sender.id + message.guild.id].lastStack)
  69. .setFooter("Money Bot v2 | In development")
  70.  
  71. message.channel.send(embed);
  72. }
  73.  
  74. if (msg.startsWith (prefix + 'GIFT')) {
  75. let defineduser = '';
  76.  
  77. if (!args[0]) {
  78. message.channel.send ('**You need to define a user. Usage' + prefix + 'gift <user> <amount> **');
  79. return;
  80. }
  81.  
  82. let firstMentioned = message.mentions.users.first();
  83. defineduser = firstMentioned.id;
  84.  
  85. if (defineduser === '') {
  86. message.channel.send ('**You need to define a user. Usage' + prefix + 'gift <user> <amount> **');
  87. return;
  88. }
  89.  
  90. if (!args[1]) {
  91. message.channel.send ('**You need to define an amount. Usage: ' + prefix + 'gift <user> <amount> **');
  92. return;
  93. }
  94.  
  95. if (isNaN(args[1])) {
  96. message.channel.send ('**The amount has to be a number. Usage: ' + prefix + 'gift <user> <amount> **');
  97. return;
  98. }
  99.  
  100. if (userData [message.author.id + message.guild.id].money < args[1])
  101. {
  102. message.channel.send ('**You do not have enough money for this transaction**');
  103. return;
  104. }
  105.  
  106. userData [defineduser + message.guild.id].money += parseInt (args[1]);
  107. userData [sender.id + message.guild.id].money -= parseInt (args[1]);
  108.  
  109. message.channel.send ('**The money has been recieved by the other side**');
  110. }
  111.  
  112. if (msg.startsWith (prefix + 'ADDBAL')) {
  113.  
  114. if (!message.member.roles.find("name", modRole))
  115. {
  116. message.channel.send ('**You need the role ' + modRole + ' to use this command...**');
  117. return;
  118. }
  119.  
  120. if (!args[1]) {
  121. message.channel.send ('**You need to define an amount. Usage: ' + prefix + 'addbal <user> <amount> **');
  122. return;
  123. }
  124.  
  125. if (isNaN(args[1])) {
  126. message.channel.send ('**The amount has to be a number. Usage: ' + prefix + 'addbal <user> <amount> **');
  127. return;
  128. }
  129.  
  130. let defineduser = '';
  131.  
  132. if (!args[0]) {
  133. defineduser = message.author.id;
  134. } else {
  135. let firstMentioned = message.mentions.users.first();
  136. defineduser = firstMentioned.id;
  137. }
  138.  
  139. message.channel.send ('**' + args[0] + '** had their money updated');
  140.  
  141. userData [defineduser + message.guild.id].money += userData [defineduser + message.guild.id].money + parseInt (args[1]);
  142.  
  143. }
  144.  
  145. if (msg.startsWith (prefix + 'BAL' || prefix + 'MONEY')) {
  146.  
  147. let defineduser = message.author;
  148.  
  149. if (!args[0]) {
  150. defineduser = message.author;
  151. } else {
  152. let firstMentioned = message.mentions.users.first();
  153. if (!firstMentioned)
  154. {
  155. defineduser = message.author
  156. }
  157. else
  158. {
  159. defineduser = firstMentioned;
  160. }
  161. }
  162.  
  163. let embed = new Discord.RichEmbed()
  164. .setColor(0xD4AF37)
  165. .setTitle(defineduser.username + " Banking Information")
  166. .setDescription("")
  167. .addField("Currency", "**" + userData[defineduser.id + message.guild.id].money + " :dollar:**")
  168. .setFooter("Money Bot v2 | In development")
  169.  
  170. message.channel.send(embed);
  171. }
  172.  
  173. if (msg === prefix + 'DAILY')
  174. {
  175.  
  176. if (userData [sender.id + message.guild.id].lastDaily === "Not collected")
  177. {
  178. let embed = new Discord.RichEmbed()
  179. .setColor(0xD4AF37)
  180. .setTitle("**Daily Reward**")
  181. .addField(message.author.username + " has collected his daily 1000", "Next available daily in 24 hours")
  182. .setFooter ("Money Bot v2 | In development")
  183.  
  184. userData [sender.id + message.guild.id].lastDaily = "Collected";
  185. userData [sender.id + message.guild.id].money = userData [sender.id + message.guild.id].money + 1000;
  186.  
  187. message.channel.send(embed);
  188. }
  189. else
  190. {
  191. let Test = new Discord.RichEmbed()
  192. .setColor(0xD4AF37)
  193. .setTitle("**Daily Reward**")
  194. .addField(message.author.username + " has already collected his daily 1000", "Next available daily (Not Calculated yet)")
  195. .setFooter ("Money Bot v2 | In development")
  196. message.channel.send(Test);
  197. }
  198. }
  199.  
  200. sql.run('INSERT INTO userData (id, guildid, userid, money, lastDaily, lastMessage, lastStackMessage, currentMessage, lastStack) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', userData);
  201.  
  202. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement