Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1.  
  2. client.on('guildMemberAdd',async member => {
  3. if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  4. onoff: 'Off'
  5. }
  6. if(welcome[member.guild.id].onoff === 'Off') return;
  7. const Canvas = require('canvas');
  8. const jimp = require('jimp');
  9. const w = ['./welcome_4.png'];
  10. let Image = Canvas.Image,
  11. canvas = new Canvas(800, 300),
  12. ctx = canvas.getContext('2d');
  13. ctx.patternQuality = 'bilinear';
  14. ctx.filter = 'bilinear';
  15. ctx.antialias = 'subpixel';
  16. ctx.shadowColor = 'rgba(0, 0, 0, 0.4)';
  17. ctx.shadowOffsetY = 2;
  18. ctx.shadowBlur = 2;
  19. ctx.stroke();
  20. ctx.beginPath();
  21.  
  22. fs.readFile(`${w[Math.floor(Math.random() * w.length)]}`, function (err, Background) {
  23. if (err) return console.log(err);
  24. let BG = Canvas.Image;
  25. let ground = new Image;
  26. ground.src = Background;
  27. ctx.drawImage(ground, 0, 0, 800, 300);
  28.  
  29. })
  30.  
  31. let url = member.user.displayAvatarURL.endsWith(".webp") ? member.user.displayAvatarURL.slice(5, -20) + ".png" : member.user.displayAvatarURL;
  32. jimp.read(url, (err, ava) => {
  33. if (err) return console.log(err);
  34. ava.getBuffer(jimp.MIME_PNG, (err, buf) => {
  35. if (err) return console.log(err);
  36.  
  37. ctx.font = '36px Arial';
  38. ctx.fontSize = '72px';
  39. ctx.fillStyle = "#ffffff";
  40. ctx.textAlign = "center";
  41. ctx.fillText(member.user.username, 400, 220);
  42.  
  43.  
  44. let Avatar = Canvas.Image;
  45. let ava = new Avatar;
  46. ava.src = buf;
  47. ctx.beginPath();
  48. ctx.arc(139.5, 149, 110, -100, Math.PI * 2, true);
  49. ctx.closePath();
  50. ctx.clip();
  51. ctx.drawImage(ava, 36, 21, 260, 260);
  52.  
  53. let c = member.guild.channels.find('id', `${welcome[member.guild.id].channel}`)
  54. if(!c) return;
  55. c.sendFile(canvas.toBuffer()).catch(e => console.error(e))
  56.  
  57. });
  58. });
  59. });
  60.  
  61. ////////////////////////
  62.  
  63. const invites = {};
  64.  
  65. const wait = require('util').promisify(setTimeout);
  66.  
  67. client.on('ready', () => {
  68. wait(1000);
  69.  
  70. client.guilds.forEach(g => {
  71. g.fetchInvites().then(guildInvites => {
  72. invites[g.id] = guildInvites;
  73. });
  74. });
  75. });
  76. client.on('guildMemberAdd', member => {
  77. member.guild.fetchInvites().then(guildInvites => {
  78. const ei = invites[member.guild.id];
  79. invites[member.guild.id] = guildInvites;
  80. const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
  81. const inviter = client.users.get(invite.inviter.id);
  82. const logChannel = member.guild.channels.find(c => c.id === `${invited[member.guild.id].channel}`);
  83. logChannel.send(`**- Welcomeee \`To\` #, Nova | Host. :link:
  84. ID : ${member}
  85. By : <@${inviter.id}> **`);
  86. });
  87. });
  88.  
  89.  
  90. const invited = JSON.parse(fs.readFileSync('./invited.json' , 'utf8'));
  91. //Perfect invited
  92. client.on('message', message => {
  93. let room = message.mentions.channels.first()
  94.  
  95. if(message.content.startsWith(prefix + "setinv")) {
  96. if (message.author.bot) return;
  97. if(!message.channel.guild) return message.reply('**This Command is Just For Servers!**');
  98. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  99. if (!message) return message.channel.send('Please Type The Channel Name')
  100.  
  101. let embed = new Discord.RichEmbed()
  102. .setDescription(` | **Done
  103.  
  104. Channel : ${room}**`)
  105. .addField('Requested By:', `${message.author}`)
  106. .setThumbnail(message.author.avatarURL)
  107. .setFooter(`${client.user.username}`)
  108. message.channel.sendEmbed(embed)
  109. invited[message.guild.id] = {
  110. channel: room.id,
  111. onoff: 'On'
  112. }
  113. fs.writeFile("./invited.json", JSON.stringify(invited), (err) => {
  114. if (err) console.error(err)
  115. })
  116. }
  117. })
  118.  
  119.  
  120. ///wlc
  121.  
  122. const welcome = JSON.parse(fs.readFileSync('./welcome.json' , 'utf8'));
  123.  
  124. /*
  125.  
  126. */
  127. client.on('message', message => {
  128. if (!message.channel.guild) return;
  129.  
  130. let room = message.mentions.channels.first();
  131. if(message.content.startsWith(prefix + "setWelcomer")) {
  132. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  133. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  134. if(!room) return message.channel.send('Please Type The Channel Name')
  135. let embed = new Discord.RichEmbed()
  136. .setTitle('**Done Welcome Has Been Setup**')
  137. .addField('Channel:', `${room.name}`)
  138. .addField('Requested By:', `${message.author}`)
  139. .setThumbnail(message.author.avatarURL)
  140. .setFooter(`${client.user.username}`)
  141. message.channel.sendEmbed(embed)
  142. welcome[message.guild.id] = {
  143. channel: room.id,
  144. onoff: 'On',
  145.  
  146. }
  147. fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  148. if (err) console.error(err)
  149. })
  150. }})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement