Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.88 KB | None | 0 0
  1. const welcome = JSON.parse(fs.readFileSync('./welcomer.json' , 'utf8'));
  2.  
  3. client.on('message', message => {
  4. if (!message.channel.guild) return;
  5.  
  6. let room = message.content.split(" ").slice(1);
  7. let findroom = message.guild.channels.find('name', `${room}`)
  8. if(message.content.startsWith(prefix + "setwelcomer")) {
  9. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  10. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  11. if(!room) return message.channel.send('Please Type The Channel Name')
  12. if(!findroom) return message.channel.send('Cant Find This Channel')
  13. let embed = new Discord.RichEmbed()
  14. .setTitle('**Done The Welcome Code Has Been Setup**')
  15. .addField('Channel:', `${room}`)
  16. .addField('Requested By:', `${message.author}`)
  17. .setThumbnail(message.author.avatarURL)
  18. .setFooter(`${client.user.username}`)
  19. message.channel.sendEmbed(embed)
  20. welcome[message.guild.id] = {
  21. channel: room,
  22. onoff: 'On',
  23. by: 'On',
  24. dm: 'Off'
  25. }
  26. fs.writeFile("./welcomer.json", JSON.stringify(welcome), (err) => {
  27. if (err) console.error(err)
  28. })
  29. }})
  30. client.on('message', message => {
  31.  
  32. if(message.content.startsWith(prefix + "toggleWelcome")) {
  33. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  34. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  35. if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  36. onoff: 'Off'
  37. }
  38. if(welcome[message.guild.id].onff === 'Off') return [message.channel.send(`**The Welcome Is __๐Ž๐__ !**`), welcome[message.guild.id].onoff = 'On']
  39. if(welcome[message.guild.id].onoff === 'On') return [message.channel.send(`**The Welcome Is __๐Ž๐…๐…__ !**`), welcome[message.guild.id].onoff = 'Off']
  40. fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  41. if (err) console.error(err)
  42. .catch(err => {
  43. console.error(err);
  44. });
  45. })
  46. }
  47.  
  48. })
  49.  
  50. client.on('message', message => {
  51.  
  52. if(message.content.startsWith(prefix + "toggleDM")) {
  53. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  54. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  55. if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  56. dm: 'Off'
  57. }
  58. if(welcome[message.guild.id].dm === 'Off') return [message.channel.send(`**The Welcome Dm Is __๐Ž๐__ !**`), welcome[message.guild.id].dm = 'On']
  59. if(welcome[message.guild.id].dm === 'On') return [message.channel.send(`**The Welcome Dm Is __๐Ž๐…๐…__ !**`), welcome[message.guild.id].dm = 'Off']
  60. fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  61. if (err) console.error(err)
  62. .catch(err => {
  63. console.error(err);
  64. });
  65. })
  66. }
  67.  
  68. })
  69.  
  70. client.on('message', message => {
  71.  
  72. if(message.content.startsWith(prefix + "toggle-inviter")) {
  73. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  74. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  75. if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  76. by: 'Off'
  77. }
  78. if(welcome[message.guild.id].by === 'Off') return [message.channel.send(`**The Invited By Is __๐Ž๐__ !**`), welcome[message.guild.id].by = 'On']
  79. if(welcome[message.guild.id].by === 'On') return [message.channel.send(`**The Invited By Is __๐Ž๐…๐…__ !**`), welcome[message.guild.id].by = 'Off']
  80. fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  81. if (err) console.error(err)
  82. .catch(err => {
  83. console.error(err);
  84. });
  85. })
  86. }
  87.  
  88. })
  89.  
  90.  
  91. client.on("guildMemberAdd", member => {
  92. if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  93. onoff: 'Off'
  94. }
  95. if(welcome[member.guild.id].onoff === 'Off') return;
  96. let welcomer = member.guild.channels.find('name', `${welcome[member.guild.id].channel}`)
  97. let memberavatar = member.user.avatarURL
  98. if (!welcomer) return;
  99. if(welcomer) {
  100. moment.locale('ar-ly');
  101. var mrx = member.user;
  102. let mrxembed = new Discord.RichEmbed()
  103. .setTitle(mrx.username,`:id: ${mrx.id} :hash:${mrx.discriminator}`)
  104. .addField('ยป ู…ุถู‰ ุนู„ู‰ ุฏุฎูˆู„ูƒ ุงู„ุฏูŠุณูƒูˆุฑุฏ',`${moment(member.user.createdAt).format('D/M/YYYY h:mm a')} **\n** \`${moment(member.user.createdAt).fromNow()}\``,true)
  105. .addField('ยป ู…ุถู‰ ุนู„ู‰ ุฏุฎูˆู„ูƒ ู„ู„ุณูŠุฑูุฑ',`${moment(member.joinedAt).format('D/M/YYYY h:mm a ')} \n\`\`${moment(member.joinedAt).startOf(' ').fromNow()}\`\``, true)
  106. .addField('ยป ุงู†ุช ุฑู‚ู…',`${member.guild.memberCount}`)
  107. .setThumbnail(mrx.avatarURL)
  108. .setFooter(client.user.username,client.user.avatarURL)
  109. welcomer.send({embed:mrxembed});
  110. }})
  111.  
  112.  
  113. client.on('guildMemberAdd',async member => {
  114. if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  115. onoff: 'Off'
  116. }
  117. if(welcome[member.guild.id].onoff === 'Off') return;
  118. const Canvas = require('canvas');
  119. const jimp = require('jimp');
  120. const w = ['./welcome_4.png'];
  121. let Image = Canvas.Image,
  122. canvas = new Canvas(800, 300),
  123. ctx = canvas.getContext('2d');
  124. ctx.patternQuality = 'bilinear';
  125. ctx.filter = 'bilinear';
  126. ctx.antialias = 'subpixel';
  127. ctx.shadowColor = 'rgba(0, 0, 0, 0.4)';
  128. ctx.shadowOffsetY = 2;
  129. ctx.shadowBlur = 2;
  130. ctx.stroke();
  131. ctx.beginPath();
  132.  
  133. fs.readFile(`${w[Math.floor(Math.random() * w.length)]}`, function (err, Background) {
  134. if (err) return console.log(err);
  135. let BG = Canvas.Image;
  136. let ground = new Image;
  137. ground.src = Background;
  138. ctx.drawImage(ground, 0, 0, 800, 300);
  139.  
  140. })
  141.  
  142. let url = member.user.displayAvatarURL.endsWith(".webp") ? member.user.displayAvatarURL.slice(5, -20) + ".png" : member.user.displayAvatarURL;
  143. jimp.read(url, (err, ava) => {
  144. if (err) return console.log(err);
  145. ava.getBuffer(jimp.MIME_PNG, (err, buf) => {
  146. if (err) return console.log(err);
  147.  
  148. ctx.font = '36px Arial';
  149. ctx.fontSize = '72px';
  150. ctx.fillStyle = "#ffffff";
  151. ctx.textAlign = "center";
  152. ctx.fillText(member.user.username, 545, 177);
  153.  
  154. ctx.font = '16px Arial Bold';
  155. ctx.fontSize = '72px';
  156. ctx.fillStyle = "#ffffff";
  157. ctx.textAlign = "center";
  158. ctx.fillText(`${member.guild.memberCount} Members`, 580, 200);
  159.  
  160. let Avatar = Canvas.Image;
  161. let ava = new Avatar;
  162. ava.src = buf;
  163. ctx.beginPath();
  164. ctx.arc(169.5, 148, 126.9, -100, Math.PI * 2, true);
  165. ctx.closePath();
  166. ctx.clip();
  167. ctx.drawImage(ava, 36, 21, 260, 260);
  168.  
  169. let c = member.guild.channels.find('name', `${welcome[member.guild.id].channel}`)
  170. if(!c) return;
  171. c.sendFile(canvas.toBuffer());
  172.  
  173. });
  174. });
  175. });
  176.  
  177. const invites = {};
  178.  
  179. const wait = require('util').promisify(setTimeout);
  180.  
  181. client.on('ready', () => {
  182. wait(1000);
  183.  
  184. client.guilds.forEach(g => {
  185. g.fetchInvites().then(guildInvites => {
  186. invites[g.id] = guildInvites;
  187. });
  188. });
  189. });
  190.  
  191. client.on('guildMemberAdd', member => {
  192. if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  193. by: 'Off'
  194. }
  195. if(welcome[member.guild.id].by === 'Off') return;
  196. member.guild.fetchInvites().then(guildInvites => {
  197. const ei = invites[member.guild.id];
  198. invites[member.guild.id] = guildInvites;
  199. const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
  200. const inviter = client.users.get(invite.inviter.id);
  201. const logChannel = member.guild.channels.find(channel => channel.name === `${welcome[member.guild.id].channel}`);
  202. if(!logChannel) return;
  203. setTimeout(() => {
  204. logChannel.send(`Invited By: <@${inviter.id}>`);
  205. },2000)
  206. });
  207. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement