Advertisement
ZIADAHMED2006

كود user

Feb 21st, 2020
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. const {
  2. readFile,
  3. readFileSync
  4. } = require('fs-nextra');
  5.  
  6. const cnvs = require("canvas");
  7. const {
  8. get
  9. } = require('snekfetch');
  10.  
  11. let inv = JSON.parse(fs.readFileSync("./userD.json", "UTF8"))
  12.  
  13. const invs = JSON.parse(fs.readFileSync("./invites.json", "UTF8"))
  14.  
  15. const wait = require('util').promisify(setTimeout);
  16.  
  17. client.on('ready', () => {
  18. wait(1000);
  19.  
  20. client.guilds.forEach(g => {
  21. if (g.members.get(client.user.id).hasPermission("MANAGE_GUILD"))
  22. g.fetchInvites().then(guildInvites => {
  23. invs[g.id] = guildInvites;
  24. });
  25. });
  26. });
  27.  
  28. client.on('guildMemberAdd', member => {
  29. member.guild.fetchInvites().then(guildInvites => {
  30. const ei = invs[member.guild.id];
  31. invs[member.guild.id] = guildInvites;
  32. const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
  33. const inviter = client.users.get(invite.inviter.id);
  34. inv[member.user.id + member.guild.id].inviter = invite.inviter.id;
  35. fs.writeFile("./invites.json", JSON.stringify(inv), function (err) {
  36. if (err) throw err;
  37. });
  38. });
  39. });
  40.  
  41. client.on('message', async message => {
  42. if (message.content.startsWith(prefix + "user")) {
  43. let mem = message.mentions.members.first() || message.member;
  44. let auth = message.mentions.users.first() || message.author;
  45. const imageUrlRegex = /\?size=2048$/g;
  46. const name = mem.displayName.length > 10 ? mem.displayName.substring(0, 11) + "..." : mem.displayName;
  47.  
  48. const {
  49. body: ava
  50. } = await get(auth.displayAvatarURL.replace(imageUrlRegex, "?size=128"));
  51.  
  52. const img = await readFile('./user1.png');
  53. const millis = new Date().getTime() - auth.createdAt.getTime();
  54. const now = new Date();
  55. const createdAt = millis / 1000 / 60 / 60 / 24;
  56. const millisj = new Date().getTime() - mem.joinedAt.getTime();
  57. const nowj = new Date();
  58. const joinedAt = millisj / 1000 / 60 / 60 / 24;
  59.  
  60. if (!inv[mem.id + message.guild.id]) inv[mem.id + message.guild.id] = {
  61. inviter: "Not stored in database",
  62. totalSecs: 0
  63. }
  64.  
  65. fs.writeFile("./userD.json", JSON.stringify(inv), function (err) {
  66. if (err) throw err;
  67. });
  68. // Invites
  69. const guildInvites = await message.guild.fetchInvites();
  70. let invites = 0;
  71. guildInvites.forEach(i => {
  72. if (i.inviter.id === auth.id) {
  73. invites += i.uses;
  74. }
  75.  
  76. let inviter = client.users.get(inv[mem.id + message.guild.id].inviter);
  77.  
  78. const {
  79. body: bot
  80. } = await get(message.guild.iconURL.replace(imageUrlRegex, "?size=128"));
  81. let cnvs = require("canvas-constructor");
  82. let canvas = new cnvs.Canvas(417, 181)
  83. canvas.addImage(img, 0, 0, 417, 181)
  84. canvas.addRoundImage(bot, 7, 1, 29, 29, 25)
  85. canvas.setShadowColor("rgba(22, 22, 22, 1)") // This is a nice colour for a shadow.
  86. canvas.setShadowOffsetY(3) // Drop the shadow by 5 pixels.
  87. canvas.setShadowBlur(3) // Blur the shadow by 10.
  88. canvas.save()
  89. .addRoundImage(ava, 320, 55, 78, 78, 39)
  90. .setTextAlign("center")
  91. .setTextFont("8pt Cairo")
  92. canvas.setColor((mem.highestRole.hexColor === "#000000") ? "#ffffff" : mem.highestRole.hexColor)
  93. canvas.addText(name, 360, 162)
  94. canvas.setColor("#FFFFFF")
  95. canvas.addText(createdAt.toFixed(), 192, 77)
  96. canvas.addText((joinedAt.toFixed().length >= 3) ? joinedAt.toFixed() : joinedAt.toFixed() + " يوم", 257.5, 77)
  97. canvas.addText("0", 195, 130)
  98. canvas.addText("0", 258, 130)
  99. canvas.addText(`${inv[mem.id+message.guild.id].totalSecs} ثانية`, 205, 163)
  100. canvas.addText((invites === 1 || invites === 0) ? invites + " عضو" : invites + " أعضاء", 120, 128)
  101. canvas.addText((inviter) ? inviter.username : "لم يتم تحديدة", 110, 77)
  102. if (inviter) {
  103. const {
  104. body: buffer
  105. } = await get(inviter.avatarURL.replace(imageUrlRegex, "?size=128"))
  106.  
  107. canvas.addRoundImage(buffer, 14, 59, 30, 30, 15)
  108.  
  109. }
  110.  
  111. message.channel.send({
  112. file: canvas.toBuffer()
  113. })
  114. }
  115. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement