Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const moment = require('moment');
  4. const request = require('request');
  5. const jimp = require('jimp');
  6. const Canvas = require('canvas');
  7. const fs = require("fs");
  8.  
  9. client.on('ready', () => {
  10. console.log(`Logged in as ${client.user.tag}!`);
  11. });
  12.  
  13. const sWlc = {}
  14. client.on('message', message => {
  15. var prefix = "!";
  16. if(message.channel.type === "dm") return;
  17. if(message.author.bot) return;
  18. if(!sWlc[message.guild.id]) sWlc[message.guild.id] = {
  19. channel: "welcome"
  20. }
  21. const channel = sWlc[message.guild.id].channel
  22. if (message.content.startsWith(prefix + "setwelcomer")) {
  23. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  24. let newChannel = message.content.split(' ').slice(1).join(" ")
  25. if(!newChannel) return message.reply(`**${prefix}setwelcomer <channel name>**`)
  26. sWlc[message.guild.id].channel = newChannel
  27. message.channel.send(`**${message.guild.name}'s channel has been changed to ${newChannel}**`);
  28. }
  29. });
  30.  
  31. client.on("guildMemberAdd", member => {
  32. if(!sWlc[member.guild.id]) sWlc[member.guild.id] = {
  33. channel: "welcome"
  34. }
  35. const channel = sWlc[member.guild.id].channel
  36. const sChannel = sWlc[member.guild.id].channel
  37. let welcomer = member.guild.channels.find('name', sChannel);
  38. let memberavatar = member.user.avatarURL
  39. if (!welcomer) return;
  40. if(welcomer) {
  41. moment.locale('ar-ly');
  42. var h = member.user;
  43. let heroo = new Discord.RichEmbed()
  44. .setColor('RANDOM')
  45. .setThumbnail(h.avatarURL)
  46. .setAuthor(h.username,h.avatarURL)
  47. .addField(': تاريخ دخولك الدسكورد',`${moment(member.user.createdAt).format('D/M/YYYY h:mm a')} **\n** \`${moment(member.user.createdAt).fromNow()}\``,true)
  48. .addField(': تاريخ دخولك السيرفر',`${moment(member.joinedAt).format('D/M/YYYY h:mm a ')} \n\`\`${moment(member.joinedAt).startOf(' ').fromNow()}\`\``, true)
  49. .setFooter(`${h.tag}`,"https://images-ext-2.discordapp.net/external/JpyzxW2wMRG2874gSTdNTpC_q9AHl8x8V4SMmtRtlVk/https/orcid.org/sites/default/files/files/ID_symbol_B-W_128x128.gif")
  50. welcomer.send({embed:heroo});
  51.  
  52. var Canvas = require('canvas')
  53. var jimp = require('jimp')
  54. const w = ['swlc.png'];
  55.  
  56. let Image = Canvas.Image,
  57. canvas = new Canvas(557, 241),
  58. ctx = canvas.getContext('2d');
  59.  
  60. fs.readFile(`${w[Math.floor(Math.random() * w.length)]}`, function (err, Background) {
  61. if (err) return console.log(err)
  62. let BG = Canvas.Image;
  63. let ground = new Image;
  64. ground.src = Background;
  65. ctx.drawImage(ground, 0, 0, 557, 241);
  66.  
  67. })
  68.  
  69. let url = member.user.displayAvatarURL.endsWith(".webp") ? member.user.displayAvatarURL.slice(5, -20) + ".gif" : member.user.displayAvatarURL;
  70. jimp.read(url, (err, ava) => {
  71. if (err) return console.log(err);
  72. ava.getBuffer(jimp.MIME_PNG, (err, buf) => {
  73. if (err) return console.log(err);
  74.  
  75. ctx.font = '30px Arial Bold';
  76. ctx.fontSize = '20px';
  77. ctx.fillStyle = "#FFFFFF";
  78. ctx.fillText(member.user.username, 245, 150);
  79.  
  80. //NAMEً
  81. ctx.font = '30px Arial';
  82. ctx.fontSize = '28px';
  83. ctx.fillStyle = "#FFFFFF";
  84. ctx.fillText(`welcome to server`, 245, 80);
  85.  
  86. //AVATARً
  87. let Avatar = Canvas.Image;
  88. let ava = new Avatar;
  89. ava.src = buf;
  90. ctx.beginPath();
  91. ctx.arc(120.8, 120.5, 112.3, 0, Math.PI*2, true);
  92. ctx.closePath();
  93.  
  94. ctx.clip();
  95.  
  96. ctx.drawImage(ava, 7, 8, 227, 225);
  97. ctx.closePath();
  98.  
  99.  
  100. welcomer.sendFile(canvas.toBuffer())
  101.  
  102.  
  103.  
  104. })
  105. })
  106.  
  107. }
  108. });
  109.  
  110.  
  111. // THIS MUST BE THIS WAY
  112. client.login(process.env.BOT_TOKEN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement