Advertisement
iiFireKingii

Credit Command (JS)

Sep 2nd, 2019
1,354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. const Canvas = require("canvas");
  2. const pretty = require("pretty-ms")
  3. const credits = JSON.parse(fs.readFileSync('./credits.json'));
  4. var time = require("./time.json");
  5. client.on('message',async message => {
  6. if(message.author.bot || message.channel.type === 'dm') return;
  7. let args = message.content.split(' ');
  8. let author = message.author.id;
  9. if(!credits[author]) credits[author] = {
  10. credits: 0
  11. }
  12. fs.writeFileSync("./credits.json", JSON.stringify(credits, null, 4));
  13. if(args[0].toLowerCase() == `${prefix}credits`) {
  14. const mention = message.mentions.users.first() || message.author;
  15. const mentionn = message.mentions.users.first();
  16. if(!args[2]) {
  17. message.channel.send(`**${mention.username}, your :credit_card: balance is \`$${credits[mention.id].credits}\`**`)
  18. } else if(mentionn && args[2]) {
  19. if(isNaN(args[2])) return message.channel.send(`**:x: | Error**`);
  20. if(args[2] < 1) return message.channel.send(`**:x: | Error**`);
  21. if(mention.bot) return message.channel.send(`**:x: | Error**`);
  22. if(mentionn.id === message.author.id) return message.channel.send(`**:x: | Error**`);
  23. if(args[2] > credits[author].credits) return message.channel.send(`**:x: | Error , You Don't Have Enough Credit**`);
  24. if(args[2].includes("-")) return message.channel.send(`**:x: | Error**`);
  25. let resulting = Math.floor(args[2]-(args[2]*(5/100)));
  26. let tax = Math.floor(args[2]*(5/100));
  27. let first = Math.floor(Math.random() * 9);
  28. let second = Math.floor(Math.random() * 9);
  29. let third = Math.floor(Math.random() * 9);
  30. let fourth = Math.floor(Math.random() * 9);
  31. let num = `${first}${second}${third}${fourth}`;
  32. let canvas = Canvas.createCanvas(108 , 40)
  33. let ctx = canvas.getContext('2d');
  34. const background = await Canvas.loadImage("https://cdn.discordapp.com/attachments/608278049091223552/617791172810899456/hmmm.png");
  35. ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
  36. ctx.font = '20px Arial Bold';
  37. ctx.fontSize = '20px';
  38. ctx.fillStyle = "#ffffff";
  39. message.channel.send(`**${message.author.username}, Transfer Fees: \`${tax}\`, Amount: \`$${resulting.toLocaleString()}\`**
  40. type these numbers to confirm: `).then(essss => {
  41. ctx.fillText(num, canvas.width / 2.4, canvas.height / 1.7);
  42. message.channel.sendFile(canvas.toBuffer()).then(m => {
  43. message.channel.awaitMessages(r => r.author.id === message.author.id, { max: 1, time: 20000, errors:['time'] }).then(collected => {
  44. if(collected.first().content === num) {
  45. message.channel.send(`**:moneybag: | ${message.author.username}, Done Trans \`$${resulting.toLocaleString()}\` To ${mentionn}**`);
  46. mention.send(`**:money_with_wings: | Transfer Receipt \`\`\`You Have Received \`$${resulting.toLocaleString()}\` From User ${message.author.username}; (ID (${message.author.id})\`\`\``);
  47. m.delete();
  48. credits[author].credits += Math.floor((-resulting.toLocaleString()));
  49. credits[mentionn.id].credits += Math.floor((+resulting.toLocaleString()));
  50. fs.writeFileSync("./credits.json", JSON.stringify(credits, null, 4));
  51. } else {
  52. m.delete();
  53. essss.delete();
  54. }
  55. })
  56. })
  57. })
  58. }else {
  59. message.channel.send(`**:x: | Error , Please Command True Ex: \`${prefix}credits [MentionUser] [Balance]\`**`);
  60. }
  61. }
  62. if(args[0].toLowerCase() === `${prefix}daily`) {
  63. let cooldown = 8.64e+7
  64. let Daily = time[message.author.id]
  65. if (Daily !== null && cooldown - (Date.now() - Daily) > 0) {
  66. let times = (cooldown - (Date.now() - Daily));
  67. message.channel.send(`**:stopwatch: | ${message.author.username}, your daily :dollar: credits refreshes in ${pretty(times, {verbose:true})}.**`);
  68. fs.writeFile("./time.json", JSON.stringify(time), function(e) {
  69. if(e)throw e;
  70. })
  71. }else{
  72. let ammount = (300, 500, 100, 200, 120, 150, 350, 320, 220, 250);
  73. credits[author].credits += ammount;
  74. time[message.author.id] = Date.now();
  75. message.channel.send(`**:atm: | ${message.author.username}, you received your :yen: ${ammount} daily credits!**`);
  76. fs.writeFile("./credits.json", JSON.stringify(credits), function(e) {
  77. if(e)throw e;
  78. })
  79. }
  80. }
  81. }); // By: FireKing , Codes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement