Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const client = new Discord.Client();
  3. const prefix = '$'
  4. const fs = require('fs')
  5. const welcome = JSON.parse(fs.readFileSync('./welcomer.json' , 'utf8'));
  6.  
  7. client.on('ready',  () => {
  8.             console.log(`Legend never die`);
  9.     client.user.setGame("Legends never die", "https://www.twitch.tv/idk");
  10. });
  11.  
  12. client.on('message', message => {
  13.            if (!message.channel.guild) return;
  14.  
  15.     let room = message.content.split(" ").slice(1);
  16.     let findroom = message.guild.channels.find('name', `${room}`)
  17.     if(message.content.startsWith(prefix + "setWelcomer")) {
  18.         if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  19.         if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  20. if(!room) return message.channel.send('Please Type The Channel Name')
  21. if(!findroom) return message.channel.send('Cant Find This Channel')
  22. let embed = new Discord.RichEmbed()
  23. .setTitle('**Done The Welcome Code Has Been Setup**')
  24. .addField('Channel:', `${room}`)
  25. .addField('Requested By:', `${message.author}`)
  26. .setThumbnail(message.author.avatarURL)
  27. .setFooter(`${client.user.username}`)
  28. message.channel.sendEmbed(embed)
  29. welcome[message.guild.id] = {
  30. channel: room,
  31. onoff: 'On',
  32. by: 'On',
  33. dm: 'Off'
  34. }
  35. fs.writeFile("./welcomer.json", JSON.stringify(welcome), (err) => {
  36. if (err) console.error(err)
  37. })
  38.     }})
  39. client.on('message', message => {
  40.  
  41.     if(message.content.startsWith(prefix + "toggleWelcome")) {
  42.         if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  43.         if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  44.         if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  45.           onoff: 'Off'
  46.         }
  47.           if(welcome[message.guild.id].onff === 'Off') return [message.channel.send(`**The Welcome Is __𝐎𝐍__ !**`), welcome[message.guild.id].onoff = 'On']
  48.           if(welcome[message.guild.id].onoff === 'On') return [message.channel.send(`**The Welcome Is __𝐎𝐅𝐅__ !**`), welcome[message.guild.id].onoff = 'Off']
  49.           fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  50.             if (err) console.error(err)
  51.             .catch(err => {
  52.               console.error(err);
  53.           });
  54.             })
  55.           }
  56.          
  57.         })
  58.        
  59.         client.on('message', message => {
  60.  
  61.     if(message.content.startsWith(prefix + "toggleDmwelcome")) {
  62.         if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  63.         if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  64.         if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  65.           dm: 'Off'
  66.         }
  67.           if(welcome[message.guild.id].dm === 'Off') return [message.channel.send(`**The Welcome Dm Is __𝐎𝐍__ !**`), welcome[message.guild.id].dm = 'On']
  68.           if(welcome[message.guild.id].dm === 'On') return [message.channel.send(`**The Welcome Dm Is __𝐎𝐅𝐅__ !**`), welcome[message.guild.id].dm = 'Off']
  69.           fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  70.             if (err) console.error(err)
  71.             .catch(err => {
  72.               console.error(err);
  73.           });
  74.             })
  75.           }
  76.          
  77.         })
  78.  
  79.         client.on('message', message => {
  80.  
  81.             if(message.content.startsWith(prefix + "toggleInvitedby")) {
  82.                 if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  83.                 if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
  84.                 if(!welcome[message.guild.id]) welcome[message.guild.id] = {
  85.                   by: 'Off'
  86.                 }
  87.                   if(welcome[message.guild.id].by === 'Off') return [message.channel.send(`**The Invited By Is __𝐎𝐍__ !**`), welcome[message.guild.id].by = 'On']
  88.                   if(welcome[message.guild.id].by === 'On') return [message.channel.send(`**The Invited By Is __𝐎𝐅𝐅__ !**`), welcome[message.guild.id].by = 'Off']
  89.                   fs.writeFile("./welcome.json", JSON.stringify(welcome), (err) => {
  90.                     if (err) console.error(err)
  91.                     .catch(err => {
  92.                       console.error(err);
  93.                   });
  94.                     })
  95.                   }
  96.                  
  97.                 })
  98.                
  99.  
  100. client.on("guildMemberAdd", member => {
  101.             if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  102.           onoff: 'Off'
  103.         }
  104.         if(welcome[member.guild.id].onoff === 'Off') return;
  105.     let welcomer = member.guild.channels.find('name', `${welcome[member.guild.id].channel}`)
  106.     let memberavatar = member.user.avatarURL
  107.       if (!welcomer) return;
  108.       if(welcomer) {
  109.          moment.locale('ar-ly');
  110.          var h = member.user;
  111.         let heroo = new Discord.RichEmbed()
  112.         .setColor('RANDOM')
  113.         .setThumbnail(h.avatarURL)
  114.         .setAuthor(h.username,h.avatarURL)
  115.         .addField(': تاريخ دخولك الدسكورد',`${moment(member.user.createdAt).format('D/M/YYYY h:mm a')} **\n** \`${moment(member.user.createdAt).fromNow()}\``,true)
  116.          .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")
  117.      welcomer.send({embed:heroo});
  118.       }})
  119.  
  120.  
  121. client.on('guildMemberAdd',async member => {
  122.             if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  123.           onoff: 'Off'
  124.         }
  125.     if(welcome[member.guild.id].onoff === 'Off') return;
  126.     const Canvas = require('canvas');
  127.     const jimp = require('jimp');
  128.     const w = ['./welcome_4.png'];
  129.           let Image = Canvas.Image,
  130.               canvas = new Canvas(800, 300),
  131.               ctx = canvas.getContext('2d');
  132.           ctx.patternQuality = 'bilinear';
  133.           ctx.filter = 'bilinear';
  134.           ctx.antialias = 'subpixel';
  135.           ctx.shadowColor = 'rgba(0, 0, 0, 0.4)';
  136.           ctx.shadowOffsetY = 2;
  137.           ctx.shadowBlur = 2;
  138.           ctx.stroke();
  139.           ctx.beginPath();
  140.    
  141.           fs.readFile(`${w[Math.floor(Math.random() * w.length)]}`, function (err, Background) {
  142.               if (err) return console.log(err);
  143.               let BG = Canvas.Image;
  144.               let ground = new Image;
  145.               ground.src = Background;
  146.               ctx.drawImage(ground, 0, 0, 800, 300);
  147.    
  148.   })
  149.    
  150.                   let url = member.user.displayAvatarURL.endsWith(".webp") ? member.user.displayAvatarURL.slice(5, -20) + ".png" : member.user.displayAvatarURL;
  151.                   jimp.read(url, (err, ava) => {
  152.                       if (err) return console.log(err);
  153.                       ava.getBuffer(jimp.MIME_PNG, (err, buf) => {
  154.                    if (err) return console.log(err);
  155.    
  156.             ctx.font = '36px Arial';
  157.             ctx.fontSize = '72px';
  158.             ctx.fillStyle = "#ffffff";
  159.             ctx.textAlign = "center";
  160.             ctx.fillText(member.user.username, 545, 177);
  161.            
  162.             ctx.font = '16px Arial Bold';
  163.             ctx.fontSize = '72px';
  164.             ctx.fillStyle = "#ffffff";
  165.             ctx.textAlign = "center";
  166.             ctx.fillText(`${member.guild.memberCount} Members`, 580, 200);
  167.            
  168.             let Avatar = Canvas.Image;
  169.             let ava = new Avatar;
  170.             ava.src = buf;
  171.             ctx.beginPath();
  172.             ctx.arc(169.5, 148, 126.9, -100, Math.PI * 2, true);
  173.             ctx.closePath();
  174.             ctx.clip();
  175.             ctx.drawImage(ava, 36, 21, 260, 260);
  176.              
  177.             let c = member.guild.channels.find('name', `${welcome[member.guild.id].channel}`)
  178.             if(!c) return;
  179.             c.sendFile(canvas.toBuffer());
  180.    
  181.   });
  182.   });
  183.   });
  184.  
  185.   const invites = {};
  186.  
  187. const wait = require('util').promisify(setTimeout);
  188.  
  189. client.on('ready', () => {
  190.   wait(1000);
  191.  
  192.   client.guilds.forEach(g => {
  193.     g.fetchInvites().then(guildInvites => {
  194.       invites[g.id] = guildInvites;
  195.     });
  196.   });
  197. });
  198.  
  199. client.on('guildMemberAdd', member => {
  200.                     if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  201.                   by: 'Off'
  202.                 }
  203.     if(welcome[member.guild.id].by === 'Off') return;
  204.   member.guild.fetchInvites().then(guildInvites => {
  205.     const ei = invites[member.guild.id];
  206.     invites[member.guild.id] = guildInvites;
  207.     const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
  208.     const inviter = client.users.get(invite.inviter.id);
  209.     const logChannel = member.guild.channels.find(channel => channel.name === `${welcome[member.guild.id].channel}`);
  210.     if(!logChannel) return;
  211.       setTimeout(() => {
  212.     logChannel.send(`Invited By: <@${inviter.id}>`);
  213.   },2000)
  214.   });
  215. });
  216.  
  217. client.on("guildMemberAdd", member => {
  218.                     if(!welcome[member.guild.id]) welcome[member.guild.id] = {
  219.                   dm: 'Off'
  220.                 }
  221.         if(welcome[member.guild.id].dm === 'Off') return;
  222.   member.createDM().then(function (channel) {
  223.   return channel.send(`:rose:  ولكم نورت السيرفر:rose:
  224. :crown:اسم العضو  ${member}:crown:  
  225. انت العضو رقم ${member.guild.memberCount} `)
  226. }).catch(console.error)
  227. })
  228.  
  229.  
  230. client.on('message', message => {
  231.               if(!message.channel.guild) return;
  232.     var prefix = "$";
  233.     if(message.content.startsWith(prefix + 'bc')) {
  234.     if(!message.channel.guild) return message.channel.send('**هذا الأمر فقط للسيرفرات**').then(m => m.delete(5000));
  235.   if(!message.member.hasPermission('ADMINISTRATOR')) return      message.channel.send('**للأسف لا تمتلك صلاحية** `ADMINISTRATOR`' );
  236.     let args = message.content.split(" ").join(" ").slice(2 + prefix.length);
  237.     let copy = "برودكاست يبوي";
  238.     let request = `Requested By ${message.author.username}`;
  239.     if (!args) return message.reply('**يجب عليك كتابة كلمة او جملة لإرسال البرودكاست**');message.channel.send(`**هل أنت متأكد من إرسالك البرودكاست؟ \nمحتوى البرودكاست:** \` ${args}\``).then(msg => {
  240.     msg.react('✅')
  241.     .then(() => msg.react('❌'))
  242.     .then(() =>msg.react('✅'))
  243.  
  244.     let reaction1Filter = (reaction, user) => reaction.emoji.name === '✅' && user.id === message.author.id;
  245.     let reaction2Filter = (reaction, user) => reaction.emoji.name === '❌' && user.id === message.author.id;
  246.  
  247.     let reaction1 = msg.createReactionCollector(reaction1Filter, { time: 12000 });
  248.     let reaction2 = msg.createReactionCollector(reaction2Filter, { time: 12000 });
  249.     reaction1.on("collect", r => {
  250.     message.channel.send(`☑ | Done ... The Broadcast Message Has Been Sent For ${message.guild.members.size} Members`).then(m => m.delete(5000));
  251.     message.guild.members.forEach(m => {
  252.     var bc = new
  253.        Discord.RichEmbed()
  254.        .setColor('#c700ff')
  255.        .addField('● من سيرفر ', message.guild.name, true)
  256.        .addField('● من', message.author.username, true)
  257.        .addField(':mega:الرسالة', args)
  258.        .setThumbnail(message.guild.iconURL);
  259.     m.send({ embed: bc })
  260.     msg.delete();
  261.     })
  262.     })
  263.     reaction2.on("collect", r => {
  264.     message.channel.send(`**تم الغاء البرودكاست**`).then(m => m.delete(5000));
  265.     msg.delete();
  266.     })
  267.     })
  268.     }
  269.     });
  270.  
  271.  
  272. client.on('message', message => {
  273.     if(message.content.startsWith(prefix + 'mvall')) {
  274.      if (!message.member.hasPermission("MOVE_MEMBERS")) return message.channel.send('**:x: You Dont Have Perms `MOVE_MEMBERS`**');
  275.        if(!message.guild.member(client.user).hasPermission("MOVE_MEMBERS")) return message.reply("**:x: I Dont Have Perms `MOVE_MEMBERS`**");
  276.     if (message.member.voiceChannel == null) return message.channel.send(`**You Have To Be In Room Voice**`)
  277.      var author = message.member.voiceChannelID;
  278.      var m = message.guild.members.filter(m=>m.voiceChannel)
  279.      message.guild.members.filter(m=>m.voiceChannel).forEach(m => {
  280.      m.setVoiceChannel(author)
  281.      })
  282.      message.channel.send(`**:white_check_mark: Success Moved All To Your Channel**`)
  283.  
  284.  
  285.      }
  286.        });
  287.  
  288. client.on("message", msg => { //Narox Dev
  289.     if(msg.author.bot) return;
  290.     if(msg.channel.type === 'dm') return;
  291.   let prefix = '$'; //البرفكس
  292.   let msgarray = msg.content.split(" ");
  293.   let cmd = msgarray[0];
  294.   let args = msgarray.slice(1);
  295.   if(cmd === `${prefix}warn`){//الامر
  296.    
  297.    
  298.  
  299.     let rUser = msg.guild.member(msg.mentions.users.first() || msg.guild.members.get(args[0]));
  300.   if(!rUser) return msg.channel.send("Couldn't find users.");
  301.       let reason = args.join(" ").slice(22);
  302.  
  303.       let reportembed = new Discord.RichEmbed()
  304.       .setDescription("Warn")
  305.       .setColor("BLACK")
  306.       .addField("Warn User", `${rUser} with ID: ${rUser.id}`)
  307.       .addField("Warn By", `${msg.author} with ID: ${msg.author.id}`)
  308.       .addField("Channel", msg.channel)
  309.       .addField("Time", msg.createdAt)
  310.       .addField("Reason",`${reason}`)
  311.      
  312.      
  313.       let reportchannel = msg.guild.channels.find(`name`,"warn-log"); //حط هنا اسم الروم الي يوريك بعض المعلومات
  314.       if(!reportchannel) return msg.channel.send("Couldn't find `warn-log` channel. "); //ط هنا اسم الروم الي يوريك بعض المعلومات
  315.      
  316.       msg.delete().catch(O_o=>{});
  317.       reportchannel.send(reportembed);
  318.       let role = msg.guild.roles.find(`name`, 'Warn');
  319.       if(!role) return msg.guild.channel.send("Could't find `warn` role.");
  320.       rUser.addRole(role);
  321.      
  322.           return;
  323.       }
  324.       });
  325.  
  326. client.on("message", msg => {// الحقوق محفوظ لذا سيرفر ناروكس ديفAll CopyRight For Narox Dev
  327.     if(msg.author.bot) return;
  328. if(msg.channel.type === 'dm') return;
  329.  
  330. let p = "$";//البرفكس
  331. let msgarray = msg.content.split(" ");
  332. let cmd = msgarray[0];
  333. let args = msgarray.slice(1);
  334.  
  335. if(cmd === `${p}report`){
  336.  
  337.  
  338.     let rUser = msg.guild.member(msg.mentions.users.first() || msg.guild.members.get(args[0]));
  339. if(!rUser) return msg.channel.send("Couldn't find users.");
  340.     let reason = args.join(" ").slice(22);
  341.  
  342.  
  343. let reportembed = new Discord.RichEmbed()
  344. .setDescription("Reports")
  345. .setColor("BLACK")
  346. .addField("Report User", `${rUser} with ID: ${rUser.id}`)
  347. .addField("Report By", `${msg.author} with ID: ${msg.author.id}`)
  348. .addField("Channel", msg.channel)
  349. .addField("Time", msg.createdAt)
  350. .addField("Reason",`${reason}`)
  351.  
  352.  
  353. let reportchannel = msg.guild.channels.find(`name`,"report")
  354. if(!reportchannel) return msg.channel.send("Couldn't find `اسم الروم` channel. ")
  355.  
  356. msg.delete().catch(O_o=>{});
  357. reportchannel.send(reportembed);
  358.     return;
  359. }
  360. });//الحقوق محفوظ لذا سيرفر ناروكس ديفAll CopyRight For Narox Dev
  361.  
  362.  
  363. client.on("message", message => {
  364.   let men = message.mentions.users.first();
  365.   if(message.content.startsWith(prefix + "vkick")) {
  366.     try {
  367.     if(!men) {
  368.       message.channel.send("**الرجاء اختيار شخص لطرده !**");
  369.       return;
  370.     }
  371.     if(!message.guild.member(men).voiceChannel) return message.channel.send("المراد طرده ليس في الغرف الصوتيه!");
  372.     if(!message.member.hasPermission("MOVE_MEMBERS")) return message.channel.send("ليست لديك صلحيات سحب الاعضاء")
  373.     if(!message.guild.me.hasPermission("MOVE_MEMBERS")) return message.channel.send("ليست لدي الصلاحيه لسحب الاعضاء");
  374.        if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send("ليست لدي الصلاحيات لانشاء رومات صوتيه")
  375.  
  376.     message.guild.createChannel(" VKick", "voice").then(c => {
  377.       message.guild.member(men).setVoiceChannel(c.id)
  378.     setTimeout(() => {
  379.       c.delete()
  380.     }, 100)
  381.     });
  382.     message.channel.send(`**لقد تم طرده من الرومات الصوتيه \`\`${men.username}\`\`**`)
  383. } catch (e) {
  384.   message.channel.send("لا يمكنني القيام بذلك بسبب الصلاحيات او ما شابه");
  385. }
  386.   }
  387. });
  388.  
  389. client.on('messageDelete', message => {
  390.     if(message.author.bot) return;
  391.     if(message.channel.type === 'dm') return;
  392.     if(!message.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  393.     if(!message.guild.member(client.user).hasPermission('MANAGE_MESSAGES')) return;
  394.  
  395.     var logChannel = message.guild.channels.find(c => c.name === 'log');
  396.     if(!logChannel) return;
  397.  
  398.     let messageDelete = new Discord.RichEmbed()
  399.     .setTitle('**[MESSAGE DELETE]**')
  400.     .setColor('RED')
  401.     .setThumbnail(message.author.avatarURL)
  402.     .setDescription(`**\n**:wastebasket: Successfully \`\`DELETE\`\` **MESSAGE** In ${message.channel}\n\n**Channel:** \`\`${message.channel.name}\`\` (ID: ${message.channel.id})\n**Message ID:** ${message.id}\n**Sent By:** <@${message.author.id}> (ID: ${message.author.id})\n**Message:**\n\`\`\`${message}\`\`\``)
  403.     .setTimestamp()
  404.     .setFooter(message.guild.name, message.guild.iconURL)
  405.  
  406.     logChannel.send(messageDelete);
  407. });
  408. client.on('messageUpdate', (oldMessage, newMessage) => {
  409.  
  410.     if(oldMessage.author.bot) return;
  411.     if(!oldMessage.channel.type === 'dm') return;
  412.     if(!oldMessage.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  413.     if(!oldMessage.guild.member(client.user).hasPermission('MANAGE_MESSAGES')) return;
  414.  
  415.     var logChannel = oldMessage.guild.channels.find(c => c.name === 'log');
  416.     if(!logChannel) return;
  417.  
  418.     if(oldMessage.content.startsWith('https://')) return;
  419.  
  420.     let messageUpdate = new Discord.RichEmbed()
  421.     .setTitle('**[MESSAGE EDIT]**')
  422.     .setThumbnail(oldMessage.author.avatarURL)
  423.     .setColor('BLUE')
  424.     .setDescription(`**\n**:wrench: Successfully \`\`EDIT\`\` **MESSAGE** In ${oldMessage.channel}\n\n**Channel:** \`\`${oldMessage.channel.name}\`\` (ID: ${oldMessage.channel.id})\n**Message ID:** ${oldMessage.id}\n**Sent By:** <@${oldMessage.author.id}> (ID: ${oldMessage.author.id})\n\n**Old Message:**\`\`\`${oldMessage}\`\`\`\n**New Message:**\`\`\`${newMessage}\`\`\``)
  425.     .setTimestamp()
  426.     .setFooter(oldMessage.guild.name, oldMessage.guild.iconURL)
  427.  
  428.     logChannel.send(messageUpdate);
  429. });
  430.  
  431.  
  432. // Roles Logs
  433. client.on('roleCreate', role => {
  434.  
  435.     if(!role.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  436.     if(!role.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  437.  
  438.     var logChannel = role.guild.channels.find(c => c.name === 'log');
  439.     if(!logChannel) return;
  440.  
  441.     role.guild.fetchAuditLogs().then(logs => {
  442.         var userID = logs.entries.first().executor.id;
  443.         var userAvatar = logs.entries.first().executor.avatarURL;
  444.  
  445.         let roleCreate = new Discord.RichEmbed()
  446.         .setTitle('**[ROLE CREATE]**')
  447.         .setThumbnail(userAvatar)
  448.         .setDescription(`**\n**:white_check_mark: Successfully \`\`CREATE\`\` Role.\n\n**Role Name:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`)
  449.         .setColor('GREEN')
  450.         .setTimestamp()
  451.         .setFooter(role.guild.name, role.guild.iconURL)
  452.  
  453.         logChannel.send(roleCreate);
  454.     })
  455. });
  456. client.on('roleDelete', role => {
  457.  
  458.     if(!role.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  459.     if(!role.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  460.  
  461.     var logChannel = role.guild.channels.find(c => c.name === 'log');
  462.     if(!logChannel) return;
  463.  
  464.     role.guild.fetchAuditLogs().then(logs => {
  465.         var userID = logs.entries.first().executor.id;
  466.         var userAvatar = logs.entries.first().executor.avatarURL;
  467.  
  468.         let roleDelete = new Discord.RichEmbed()
  469.         .setTitle('**[ROLE DELETE]**')
  470.         .setThumbnail(userAvatar)
  471.         .setDescription(`**\n**:white_check_mark: Successfully \`\`DELETE\`\` Role.\n\n**Role Name:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`)
  472.         .setColor('RED')
  473.         .setTimestamp()
  474.         .setFooter(role.guild.name, role.guild.iconURL)
  475.  
  476.         logChannel.send(roleDelete);
  477.     })
  478. });
  479. client.on('roleUpdate', (oldRole, newRole) => {
  480.  
  481.     if(!oldRole.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  482.     if(!oldRole.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  483.  
  484.     var logChannel = oldRole.guild.channels.find(c => c.name === 'log');
  485.     if(!logChannel) return;
  486.  
  487.     oldRole.guild.fetchAuditLogs().then(logs => {
  488.         var userID = logs.entries.first().executor.id;
  489.         var userAvatar = logs.entries.first().executor.avatarURL;
  490.  
  491.         if(oldRole.name !== newRole.name) {
  492.             let roleUpdateName = new Discord.RichEmbed()
  493.             .setTitle('**[ROLE NAME UPDATE]**')
  494.             .setThumbnail(userAvatar)
  495.             .setColor('BLUE')
  496.             .setDescription(`**\n**:white_check_mark: Successfully \`\`EDITED\`\` Role Name.\n\n**Old Name:** \`\`${oldRole.name}\`\`\n**New Name:** \`\`${newRole.name}\`\`\n**Role ID:** ${oldRole.id}\n**By:** <@${userID}> (ID: ${userID})`)
  497.             .setTimestamp()
  498.             .setFooter(oldRole.guild.name, oldRole.guild.iconURL)
  499.  
  500.             logChannel.send(roleUpdateName);
  501.         }
  502.         if(oldRole.hexColor !== newRole.hexColor) {
  503.             if(oldRole.hexColor === '#000000') {
  504.                 var oldColor = '`Default`';
  505.             }else {
  506.                 var oldColor = oldRole.hexColor;
  507.             }
  508.             if(newRole.hexColor === '#000000') {
  509.                 var newColor = '`Default`';
  510.             }else {
  511.                 var newColor = newRole.hexColor;
  512.             }
  513.             let roleUpdateColor = new Discord.RichEmbed()
  514.             .setTitle('**[ROLE COLOR UPDATE]**')
  515.             .setThumbnail(userAvatar)
  516.             .setColor('BLUE')
  517.             .setDescription(`**\n**:white_check_mark: Successfully \`\`EDITED\`\` **${oldRole.name}** Role Color.\n\n**Old Color:** ${oldColor}\n**New Color:** ${newColor}\n**Role ID:** ${oldRole.id}\n**By:** <@${userID}> (ID: ${userID})`)
  518.             .setTimestamp()
  519.             .setFooter(oldRole.guild.name, oldRole.guild.iconURL)
  520.  
  521.             logChannel.send(roleUpdateColor);
  522.         }
  523.         if(oldRole.permissions !== newRole.permissions) {
  524.             let roleUpdate = new Discord.RichEmbed()
  525.             .setTitle('**[UPDATE ROLE PERMISSIONS]**')
  526.             .setThumbnail(userAvatar)
  527.             .setColor('BLUE')
  528.             .setDescription(`**\n**:first_place: Successfully \`\`CHANGED\`\` **${oldRole.name}** Permissions!\n\n**Old Permissions:** \`\`${oldRole.permissions}\`\`\n**New Permissions:** \`\`${newRole.permissions}\`\`\n**By:** <@${userID}> (ID: ${userID})`)
  529.             .setTimestamp()
  530.             .setFooter(oldRole.guild.name, oldRole.guild.iconURL)
  531.            
  532.             logChannel.send(roleUpdate)
  533.         }
  534.     })
  535. });
  536.  
  537.  
  538. // Channels Log
  539. client.on('channelCreate', channel => {
  540.  
  541.     if(!channel.guild) return;
  542.     if(!channel.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  543.     if(!channel.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  544.  
  545.     var logChannel = channel.guild.channels.find(c => c.name === 'log');
  546.     if(!logChannel) return;
  547.  
  548.     if(channel.type === 'text') {
  549.         var roomType = 'Text';
  550.     }else
  551.     if(channel.type === 'voice') {
  552.         var roomType = 'Voice';
  553.     }else
  554.     if(channel.type === 'category') {
  555.         var roomType = 'Category';
  556.     }
  557.  
  558.     channel.guild.fetchAuditLogs().then(logs => {
  559.         var userID = logs.entries.first().executor.id;
  560.         var userAvatar = logs.entries.first().executor.avatarURL;
  561.  
  562.         let channelCreate = new Discord.RichEmbed()
  563.         .setTitle('**[CHANNEL CREATE]**')
  564.         .setThumbnail(userAvatar)
  565.         .setDescription(`**\n**:white_check_mark: Successfully \`\`CREATE\`\` **${roomType}** channel.\n\n**Channel Name:** \`\`${channel.name}\`\` (ID: ${channel.id})\n**By:** <@${userID}> (ID: ${userID})`)
  566.         .setColor('GREEN')
  567.         .setTimestamp()
  568.         .setFooter(channel.guild.name, channel.guild.iconURL)
  569.  
  570.         logChannel.send(channelCreate);
  571.     })
  572. });
  573. client.on('channelDelete', channel => {
  574.     if(!channel.guild) return;
  575.     if(!channel.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  576.     if(!channel.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  577.  
  578.     var logChannel = channel.guild.channels.find(c => c.name === 'log');
  579.     if(!logChannel) return;
  580.  
  581.     if(channel.type === 'text') {
  582.         var roomType = 'Text';
  583.     }else
  584.     if(channel.type === 'voice') {
  585.         var roomType = 'Voice';
  586.     }else
  587.     if(channel.type === 'category') {
  588.         var roomType = 'Category';
  589.     }
  590.  
  591.     channel.guild.fetchAuditLogs().then(logs => {
  592.         var userID = logs.entries.first().executor.id;
  593.         var userAvatar = logs.entries.first().executor.avatarURL;
  594.  
  595.         let channelDelete = new Discord.RichEmbed()
  596.         .setTitle('**[CHANNEL DELETE]**')
  597.         .setThumbnail(userAvatar)
  598.         .setDescription(`**\n**:white_check_mark: Successfully \`\`DELETE\`\` **${roomType}** channel.\n\n**Channel Name:** \`\`${channel.name}\`\` (ID: ${channel.id})\n**By:** <@${userID}> (ID: ${userID})`)
  599.         .setColor('RED')
  600.         .setTimestamp()
  601.         .setFooter(channel.guild.name, channel.guild.iconURL)
  602.  
  603.         logChannel.send(channelDelete);
  604.     })
  605. });
  606. client.on('channelUpdate', (oldChannel, newChannel) => {
  607.     if(!oldChannel.guild) return;
  608.  
  609.     var logChannel = oldChannel.guild.channels.find(c => c.name === 'log');
  610.     if(!logChannel) return;
  611.  
  612.     if(oldChannel.type === 'text') {
  613.         var channelType = 'Text';
  614.     }else
  615.     if(oldChannel.type === 'voice') {
  616.         var channelType = 'Voice';
  617.     }else
  618.     if(oldChannel.type === 'category') {
  619.         var channelType = 'Category';
  620.     }
  621.  
  622.     oldChannel.guild.fetchAuditLogs().then(logs => {
  623.         var userID = logs.entries.first().executor.id;
  624.         var userAvatar = logs.entries.first().executor.avatarURL;
  625.  
  626.         if(oldChannel.name !== newChannel.name) {
  627.             let newName = new Discord.RichEmbed()
  628.             .setTitle('**[CHANNEL EDIT]**')
  629.             .setThumbnail(userAvatar)
  630.             .setColor('BLUE')
  631.             .setDescription(`**\n**:wrench: Successfully Edited **${channelType}** Channel Name\n\n**Old Name:** \`\`${oldChannel.name}\`\`\n**New Name:** \`\`${newChannel.name}\`\`\n**Channel ID:** ${oldChannel.id}\n**By:** <@${userID}> (ID: ${userID})`)
  632.             .setTimestamp()
  633.             .setFooter(oldChannel.guild.name, oldChannel.guild.iconURL)
  634.  
  635.             logChannel.send(newName);
  636.         }
  637.         if(oldChannel.topic !== newChannel.topic) {
  638.             let newTopic = new Discord.RichEmbed()
  639.             .setTitle('**[CHANNEL EDIT]**')
  640.             .setThumbnail(userAvatar)
  641.             .setColor('BLUE')
  642.             .setDescription(`**\n**:wrench: Successfully Edited **${channelType}** Channel Topic\n\n**Old Topic:**\n\`\`\`${oldChannel.topic || 'NULL'}\`\`\`\n**New Topic:**\n\`\`\`${newChannel.topic || 'NULL'}\`\`\`\n**Channel:** ${oldChannel} (ID: ${oldChannel.id})\n**By:** <@${userID}> (ID: ${userID})`)
  643.             .setTimestamp()
  644.             .setFooter(oldChannel.guild.name, oldChannel.guild.iconURL)
  645.  
  646.             logChannel.send(newTopic);
  647.         }
  648.     })
  649. });
  650.  
  651.  
  652. // Guild Logs
  653. client.on('guildBanAdd', (guild, user) => {
  654.  
  655.     if(!guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  656.     if(!guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  657.  
  658.     var logChannel = guild.channels.find(c => c.name === 'log');
  659.     if(!logChannel) return;
  660.  
  661.     guild.fetchAuditLogs().then(logs => {
  662.         var userID = logs.entries.first().executor.id;
  663.         var userAvatar = logs.entries.first().executor.avatarURL;
  664.  
  665.         if(userID === client.user.id) return;
  666.  
  667.         let banInfo = new Discord.RichEmbed()
  668.         .setTitle('**[BANNED]**')
  669.         .setThumbnail(userAvatar)
  670.         .setColor('DARK_RED')
  671.         .setDescription(`**\n**:airplane: Successfully \`\`BANNED\`\` **${user.username}** From the server!\n\n**User:** <@${user.id}> (ID: ${user.id})\n**By:** <@${userID}> (ID: ${userID})`)
  672.         .setTimestamp()
  673.         .setFooter(guild.name, guild.iconURL)
  674.  
  675.         logChannel.send(banInfo);
  676.     })
  677. });
  678. client.on('guildBanRemove', (guild, user) => {
  679.     if(!guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  680.     if(!guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  681.  
  682.     var logChannel = guild.channels.find(c => c.name === 'log');
  683.     if(!logChannel) return;
  684.  
  685.     guild.fetchAuditLogs().then(logs => {
  686.         var userID = logs.entries.first().executor.id;
  687.         var userAvatar = logs.entries.first().executor.avatarURL;
  688.  
  689.         let unBanInfo = new Discord.RichEmbed()
  690.         .setTitle('**[UNBANNED]**')
  691.         .setThumbnail(userAvatar)
  692.         .setColor('GREEN')
  693.         .setDescription(`**\n**:unlock: Successfully \`\`UNBANNED\`\` **${user.username}** From the server\n\n**User:** <@${user.id}> (ID: ${user.id})\n**By:** <@${userID}> (ID: ${userID})`)
  694.         .setTimestamp()
  695.         .setFooter(guild.name, guild.iconURL)
  696.  
  697.         logChannel.send(unBanInfo);
  698.     })
  699. });
  700. client.on('guildUpdate', (oldGuild, newGuild) => {
  701.  
  702.     if(!oldGuild.member(client.user).hasPermission('EMBED_LINKS')) return;
  703.     if(!oldGuild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  704.  
  705.     var logChannel = oldGuild.channels.find(c => c.id === guildSettings[oldGuild.id].logChannel);
  706.     if(!logChannel) return;
  707.  
  708.     oldGuild.fetchAuditLogs().then(logs => {
  709.         var userID = logs.entries.first().executor.id;
  710.         var userAvatar = logs.entries.first().executor.avatarURL;
  711.  
  712.         if(oldGuild.name !== newGuild.name) {
  713.             let guildName = new Discord.RichEmbed()
  714.             .setTitle('**[CHANGE GUILD NAME]**')
  715.             .setThumbnail(userAvatar)
  716.             .setColor('BLUE')
  717.             .setDescription(`**\n**:white_check_mark: Successfully \`\`EDITED\`\` The guild name.\n\n**Old Name:** \`\`${oldGuild.name}\`\`\n**New Name:** \`\`${newGuild.name}\`\`\n**By:** <@${userID}> (ID: ${userID})`)
  718.             .setTimestamp()
  719.             .setFooter(newGuild.name, oldGuild.iconURL)
  720.  
  721.             logChannel.send(guildName)
  722.         }
  723.         if(oldGuild.region !== newGuild.region) {
  724.             let guildRegion = new Discord.RichEmbed()
  725.             .setTitle('**[CHANGE GUILD REGION]**')
  726.             .setThumbnail(userAvatar)
  727.             .setColor('BLUE')
  728.             .setDescription(`**\n**:white_check_mark: Successfully \`\`EDITED\`\` The guild region.\n\n**Old Region:** ${oldGuild.region}\n**New Region:** ${newGuild.region}\n**By:** <@${userID}> (ID: ${userID})`)
  729.             .setTimestamp()
  730.             .setFooter(oldGuild.name, oldGuild.iconURL)
  731.  
  732.             logChannel.send(guildRegion);
  733.         }
  734.         if(oldGuild.verificationLevel !== newGuild.verificationLevel) {
  735.             if(oldGuild.verificationLevel === 0) {
  736.                 var oldVerLvl = 'Very Easy';
  737.             }else
  738.             if(oldGuild.verificationLevel === 1) {
  739.                 var oldVerLvl = 'Easy';
  740.             }else
  741.             if(oldGuild.verificationLevel === 2) {
  742.                 var oldVerLvl = 'Medium';
  743.             }else
  744.             if(oldGuild.verificationLevel === 3) {
  745.                 var oldVerLvl = 'Hard';
  746.             }else
  747.             if(oldGuild.verificationLevel === 4) {
  748.                 var oldVerLvl = 'Very Hard';
  749.             }
  750.  
  751.             if(newGuild.verificationLevel === 0) {
  752.                 var newVerLvl = 'Very Easy';
  753.             }else
  754.             if(newGuild.verificationLevel === 1) {
  755.                 var newVerLvl = 'Easy';
  756.             }else
  757.             if(newGuild.verificationLevel === 2) {
  758.                 var newVerLvl = 'Medium';
  759.             }else
  760.             if(newGuild.verificationLevel === 3) {
  761.                 var newVerLvl = 'Hard';
  762.             }else
  763.             if(newGuild.verificationLevel === 4) {
  764.                 var newVerLvl = 'Very Hard';
  765.             }
  766.  
  767.             let verLog = new Discord.RichEmbed()
  768.             .setTitle('**[GUILD VERIFICATION LEVEL CHANGE]**')
  769.             .setThumbnail(userAvatar)
  770.             .setColor('BLUE')
  771.             .setDescription(`**\n**:white_check_mark: Successfully \`\`EDITED\`\` Guild verification level.\n\n**Old Verification Level:** ${oldVerLvl}\n**New Verification Level:** ${newVerLvl}\n**By:** <@${userID}> (ID: ${userID})`)
  772.             .setTimestamp()
  773.             .setFooter(oldGuild.name, oldGuild.iconURL)
  774.  
  775.             logChannel.send(verLog);
  776.         }
  777.     })
  778. });
  779. client.on('guildMemberUpdate', (oldMember, newMember) => {
  780.     var logChannel = oldMember.guild.channels.find(c => c.name === 'log');
  781.     if(!logChannel) return;
  782.  
  783.     oldMember.guild.fetchAuditLogs().then(logs => {
  784.         var userID = logs.entries.first().executor.id;
  785.         var userAvatar = logs.entries.first().executor.avatarURL;
  786.         var userTag = logs.entries.first().executor.tag;
  787.  
  788.         if(oldMember.nickname !== newMember.nickname) {
  789.             if(oldMember.nickname === null) {
  790.                 var oldNM = '\`\`اسمه الاصلي\`\`';
  791.             }else {
  792.                 var oldNM = oldMember.nickname;
  793.             }
  794.             if(newMember.nickname === null) {
  795.                 var newNM = '\`\`اسمه الاصلي\`\`';
  796.             }else {
  797.                 var newNM = newMember.nickname;
  798.             }
  799.  
  800.             let updateNickname = new Discord.RichEmbed()
  801.             .setTitle('**[UPDATE MEMBER NICKNAME]**')
  802.             .setThumbnail(userAvatar)
  803.             .setColor('BLUE')
  804.             .setDescription(`**\n**:spy: Successfully \`\`CHANGE\`\` Member Nickname.\n\n**User:** ${oldMember} (ID: ${oldMember.id})\n**Old Nickname:** ${oldNM}\n**New Nickname:** ${newNM}\n**By:** <@${userID}> (ID: ${userID})`)
  805.             .setTimestamp()
  806.             .setFooter(oldMember.guild.name, oldMember.guild.iconURL)
  807.  
  808.             logChannel.send(updateNickname);
  809.         }
  810.         if(oldMember.roles.size < newMember.roles.size) {
  811.             let role = newMember.roles.filter(r => !oldMember.roles.has(r.id)).first();
  812.  
  813.             let roleAdded = new Discord.RichEmbed()
  814.             .setTitle('**[ADDED ROLE TO MEMBER]**')
  815.             .setThumbnail(oldMember.guild.iconURL)
  816.             .setColor('GREEN')
  817.             .setDescription(`**\n**:white_check_mark: Successfully \`\`ADDED\`\` Role to **${oldMember.user.username}**\n\n**User:** <@${oldMember.id}> (ID: ${oldMember.user.id})\n**Role:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`)
  818.             .setTimestamp()
  819.             .setFooter(userTag, userAvatar)
  820.  
  821.             logChannel.send(roleAdded);
  822.         }
  823.         if(oldMember.roles.size > newMember.roles.size) {
  824.             let role = oldMember.roles.filter(r => !newMember.roles.has(r.id)).first();
  825.  
  826.             let roleRemoved = new Discord.RichEmbed()
  827.             .setTitle('**[REMOVED ROLE FROM MEMBER]**')
  828.             .setThumbnail(oldMember.guild.iconURL)
  829.             .setColor('RED')
  830.             .setDescription(`**\n**:negative_squared_cross_mark: Successfully \`\`REMOVED\`\` Role from **${oldMember.user.username}**\n\n**User:** <@${oldMember.user.id}> (ID: ${oldMember.id})\n**Role:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`)
  831.             .setTimestamp()
  832.             .setFooter(userTag, userAvatar)
  833.  
  834.             logChannel.send(roleRemoved);
  835.         }
  836.     })
  837.     if(oldMember.guild.owner.user.id !== newMember.guild.owner.user.id) {
  838.         let newOwner = new Discord.RichEmbed()
  839.         .setTitle('**[UPDATE GUILD OWNER]**')
  840.         .setThumbnail(oldMember.guild.iconURL)
  841.         .setColor('GREEN')
  842.         .setDescription(`**\n**:white_check_mark: Successfully \`\`TRANSFER\`\` The Owner Ship.\n\n**Old Owner:** <@${oldMember.user.id}> (ID: ${oldMember.user.id})\n**New Owner:** <@${newMember.user.id}> (ID: ${newMember.user.id})`)
  843.         .setTimestamp()
  844.         .setFooter(oldMember.guild.name, oldMember.guild.iconURL)
  845.  
  846.         logChannel.send(newOwner);
  847.     }
  848. });
  849. client.on('guildMemberAdd', member => {
  850.   var logChannel = member.guild.channels.find(c => c.name === 'log');
  851.   if(!logChannel) return;
  852.  
  853.   let newMember = new Discord.RichEmbed()
  854.   .setTitle('**[NEW MEMBER ADDED]**')
  855.   .setThumbnail(member.user.avatarURL)
  856.   .setColor('GREEN')
  857.   .setDescription(`**\n**:arrow_lower_right: Joined **${member.user.username}** To the server!\n\n**User:** <@${member.user.id}> (ID: ${member.user.id})\n**Days In Discord:** ${Days(member.user.createdAt)}`)
  858.   .setTimestamp()
  859.   .setFooter(member.user.tag, member.user.avatarURL)
  860.  
  861.   logChannel.send(newMember);
  862. });
  863. function Days(date) {
  864.     let now = new Date();
  865.     let diff = now.getTime() - date.getTime();
  866.     let days = Math.floor(diff / 86400000);
  867.     return days + (days == 1 ? " day" : " days") + " ago";
  868. }
  869. client.on('guildMemberRemove', member => {
  870.   var logChannel = member.guild.channels.find(c => c.name === 'log');
  871.   if(!logChannel) return;
  872.  
  873.   let leaveMember = new Discord.RichEmbed()
  874.   .setTitle('**[LEAVE MEMBER]**')
  875.   .setThumbnail(member.user.avatarURL)
  876.   .setColor('GREEN')
  877.   .setDescription(`**\n**:arrow_upper_left: Leave **${member.user.username}** From the server.\n\n**User:** <@${member.user.id}> (ID: ${member.user.id})`)
  878.   .setTimestamp()
  879.   .setFooter(member.user.tag, member.user.avatarURL)
  880.  
  881.   logChannel.send(leaveMember);
  882. });
  883.  
  884.  
  885. // Voice Logs
  886. client.on('voiceStateUpdate', (voiceOld, voiceNew) => {
  887.  
  888.     if(!voiceOld.guild.member(client.user).hasPermission('EMBED_LINKS')) return;
  889.     if(!voiceOld.guild.member(client.user).hasPermission('VIEW_AUDIT_LOG')) return;
  890.  
  891.     var logChannel = voiceOld.guild.channels.find(c => c.name === 'log');
  892.     if(!logChannel) return;
  893.  
  894.     voiceOld.guild.fetchAuditLogs().then(logs => {
  895.         var userID = logs.entries.first().executor.id;
  896.         var userTag = logs.entries.first().executor.tag;
  897.         var userAvatar = logs.entries.first().executor.avatarURL;
  898.  
  899. // Server Muted Voice
  900.         if(voiceOld.serverMute === false && voiceNew.serverMute === true) {
  901.             let serverMutev = new Discord.RichEmbed()
  902.             .setTitle('**[VOICE MUTE]**')
  903.             .setThumbnail('https://images-ext-1.discordapp.net/external/pWQaw076OHwVIFZyeFoLXvweo0T_fDz6U5C9RBlw_fQ/https/cdn.pg.sa/UosmjqDNgS.png')
  904.             .setColor('RED')
  905.             .setDescription(`**User:** <@${voiceOld.user.id}> (ID: ${voiceOld.user.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`)
  906.             .setTimestamp()
  907.             .setFooter(userTag, userAvatar)
  908.  
  909.             logChannel.send(serverMutev);
  910.         }
  911. // Server UnMuted Voice
  912.         if(voiceOld.serverMute === true && voiceNew.serverMute === false) {
  913.             let serverUnmutev = new Discord.RichEmbed()
  914.             .setTitle('**[VOICE UNMUTE]**')
  915.             .setThumbnail('https://images-ext-1.discordapp.net/external/u2JNOTOc1IVJGEb1uCKRdQHXIj5-r8aHa3tSap6SjqM/https/cdn.pg.sa/Iy4t8H4T7n.png')
  916.             .setColor('GREEN')
  917.             .setDescription(`**User:** <@${voiceOld.user.id}> (ID: ${voiceOld.user.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`)
  918.             .setTimestamp()
  919.             .setFooter(userTag, userAvatar)
  920.  
  921.             logChannel.send(serverUnmutev);
  922.         }
  923. // Server Deafen Voice
  924.         if(voiceOld.serverDeaf === false && voiceNew.serverDeaf === true) {
  925.             let serverDeafv = new Discord.RichEmbed()
  926.             .setTitle('**[VOICE DEAFEN]**')
  927.             .setThumbnail('https://images-ext-1.discordapp.net/external/7ENt2ldbD-3L3wRoDBhKHb9FfImkjFxYR6DbLYRjhjA/https/cdn.pg.sa/auWd5b95AV.png')
  928.             .setColor('RED')
  929.             .setDescription(`**User:** <@${voiceOld.user.id}> (ID: ${voiceOld.user.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`)
  930.             .setTimestamp()
  931.             .setFooter(userTag, userAvatar)
  932.  
  933.             logChannel.send(serverDeafv);
  934.         }
  935. // Server UnDeafen Voice
  936.         if(voiceOld.serverDeaf === true && voiceNew.serverDeaf === false) {
  937.             let serverUndeafv = new Discord.RichEmbed()
  938.             .setTitle('**[VOICE UNDEAFEN]**')
  939.             .setThumbnail('https://images-ext-2.discordapp.net/external/s_abcfAlNdxl3uYVXnA2evSKBTpU6Ou3oimkejx3fiQ/https/cdn.pg.sa/i7fC8qnbRF.png')
  940.             .setColor('GREEN')
  941.             .setDescription(`**User:** <@${voiceOld.user.id}> (ID: ${voiceOld.user.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`)
  942.             .setTimestamp()
  943.             .setFooter(userTag, userAvatar)
  944.  
  945.             logChannel.send(serverUndeafv);
  946.         }
  947.     })
  948. // Join Voice Channel
  949.     if(voiceOld.voiceChannelID !== voiceNew.voiceChannelID && !voiceOld.voiceChannel) {
  950.         let voiceJoin = new Discord.RichEmbed()
  951.         .setTitle('**[JOIN VOICE ROOM]**')
  952.         .setColor('GREEN')
  953.         .setThumbnail(voiceOld.user.avatarURL)
  954.         .setDescription(`**\n**:arrow_lower_right: Successfully \`\`JOIN\`\` To Voice Channel.\n\n**Channel:** \`\`${voiceNew.voiceChannel.name}\`\` (ID: ${voiceNew.voiceChannelID})\n**User:** ${voiceOld} (ID: ${voiceOld.id})`)
  955.         .setTimestamp()
  956.         .setFooter(voiceOld.user.tag, voiceOld.user.avatarURL)
  957.  
  958.         logChannel.send(voiceJoin);
  959.     }
  960. // Leave Voice Channel
  961.     if(voiceOld.voiceChannelID !== voiceNew.voiceChannelID && !voiceNew.voiceChannel) {
  962.         let voiceLeave = new Discord.RichEmbed()
  963.         .setTitle('**[LEAVE VOICE ROOM]**')
  964.         .setColor('GREEN')
  965.         .setThumbnail(voiceOld.user.avatarURL)
  966.         .setDescription(`**\n**:arrow_upper_left: Successfully \`\`LEAVE\`\` From Voice Channel.\n\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannelID})\n**User:** ${voiceOld} (ID: ${voiceOld.id})`)
  967.         .setTimestamp()
  968.         .setFooter(voiceOld.user.tag, voiceOld.user.avatarURL)
  969.  
  970.         logChannel.send(voiceLeave);
  971.     }
  972. // Changed Voice Channel
  973.     if(voiceOld.voiceChannelID !== voiceNew.voiceChannelID && voiceNew.voiceChannel && voiceOld.voiceChannel != null) {
  974.         let voiceLeave = new Discord.RichEmbed()
  975.         .setTitle('**[CHANGED VOICE ROOM]**')
  976.         .setColor('GREEN')
  977.         .setThumbnail(voiceOld.user.avatarURL)
  978.         .setDescription(`**\n**:repeat: Successfully \`\`CHANGED\`\` The Voice Channel.\n\n**From:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannelID})\n**To:** \`\`${voiceNew.voiceChannel.name}\`\` (ID: ${voiceNew.voiceChannelID})\n**User:** ${voiceOld} (ID: ${voiceOld.id})`)
  979.         .setTimestamp()
  980.         .setFooter(voiceOld.user.tag, voiceOld.user.avatarURL)
  981.  
  982.         logChannel.send(voiceLeave);
  983.     }
  984. });
  985.  
  986.  client.on('message', message => {
  987.  
  988.  var ms = require('ms')
  989.  
  990.  var moment = require('moment');
  991.  
  992.  var prefix = "$"
  993.  
  994.  if (message.author.x5bz) return;
  995.  
  996.  if (!message.content.startsWith(prefix)) return;
  997.  
  998.  let command = message.content.split(" ")[0];
  999.  
  1000.  command = command.slice(prefix.length);
  1001.  
  1002.  let args = message.content.split(" ").slice(1);
  1003.  
  1004.  let messageArray = message.content.split(" ");
  1005.  
  1006.  let embed = new Discord.RichEmbed()
  1007.  
  1008. .setImage("https://cdn.discordapp.com/attachments/533998985455599626/534006078774575105/test_ttttt.png")
  1009.  
  1010.  if (command == "ban") {
  1011.  
  1012.  if(!message.channel.guild) return message.reply('** This command only for servers**');
  1013.          
  1014.  if(!message.guild.member(message.author).hasPermission("BAN_MEMBERS")) return message.reply("**:x: You Don't Have ` BAN_MEMBERS ` Permission**");
  1015.  
  1016.  if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) return message.reply("**:x: I Don't Have ` BAN_MEMBERS ` Permission**");
  1017.  
  1018.  let user = message.mentions.users.first();
  1019.  
  1020.  let Reason = message.content.split(" ").slice(3).join(" ");
  1021.  
  1022.  let time = messageArray[2];
  1023.  
  1024.  if (message.mentions.users.size < 1) return message.channel.sendEmbed(embed)
  1025.  
  1026.  if (!message.guild.member(user).bannable) return message.reply("**:x:I Don't Have Permission For Ban This User**");
  1027.  
  1028.  if(!time.match(/[1-60][s,m,h,d,w]/g))  return message.channel.send(':x: This Time Is Incorrect')
  1029.  
  1030.  if(!Reason)  {
  1031.  
  1032.  message.guild.member(user).ban({reason: Reason})
  1033.  
  1034.  }
  1035.  
  1036.   if(!Reason && time) {
  1037.  
  1038.   message.guild.member(user).ban(7, user);
  1039.  
  1040.   }  
  1041.  
  1042.   if(!time) {
  1043.  
  1044.   message.guild.member(user).ban(7, user);
  1045.  
  1046.   }
  1047.   if(time) {
  1048.  
  1049.   setTimeout(() => {
  1050.  
  1051.   message.guild.unban(user);
  1052.  
  1053.   }, ms(time));
  1054.  
  1055.   }
  1056.  
  1057.   if(time && Reason && user) {
  1058.  
  1059.   message.guild.member(user).ban({reason: Reason})
  1060.  
  1061.   setTimeout(() => {
  1062.  
  1063.   message.guild.unban(user);
  1064.  
  1065.   }, ms(time));
  1066.  
  1067.   }
  1068.  
  1069.   message.channel.send(`:white_check_mark:  ${user.tag} banned from the server ! :airplane:`)
  1070.  
  1071.   }
  1072.  
  1073.   });
  1074.  
  1075. //probot banned code with duration + reason //by @! ̓$̵ , ̱̍R̴͠ev͘enge̺̻ء ̀,.ͨ̂ 🚭#0453
  1076.  
  1077. client.on('message', message => {
  1078.  
  1079.   var ms = require('ms')
  1080.  
  1081.   var moment = require('moment');
  1082.  
  1083.   var prefix = "$"
  1084.    
  1085.   if (message.author.x5bz) return;
  1086.  
  1087.   if (!message.content.startsWith(prefix)) return;
  1088.  
  1089.   let command = message.content.split(" ")[0];
  1090.  
  1091.   command = command.slice(prefix.length);
  1092.  
  1093.   let args = message.content.split(" ").slice(1);
  1094.  
  1095.   let messageArray = message.content.split(" ");
  1096.  
  1097.   let muteRole = message.guild.roles.find("name", "Muted");
  1098.  
  1099.   let embed = new Discord.RichEmbed()
  1100.  
  1101.  .setImage("https://cdn.discordapp.com/attachments/533998985455599626/534004781568622592/test.png")
  1102.  
  1103.   if (command == "mute") {
  1104.    
  1105.   if(!muteRole) return message.guild.createRole({ name: "Muted", permissions: [] });
  1106.  
  1107.   if(!message.channel.guild) return message.reply('** This command only for servers**');
  1108.          
  1109.   if(!message.guild.member(message.author).hasPermission("MUTE_MEMBERS")) return message.reply("**:x: You Don't Have ` MUTE_MEMBERS ` Permission**");
  1110.  
  1111.   if(!message.guild.member(client.user).hasPermission("MUTE_MEMBERS")) return message.reply("**:x: I Don't Have ` MUTE_MEMBERS ` Permission**");
  1112.  
  1113.   let user = message.mentions.users.first();
  1114.  
  1115.   let Reason = message.content.split(" ").slice(4).join(" ");
  1116.  
  1117.   let time = messageArray[2];
  1118.  
  1119.   if (message.mentions.users.size < 1) return message.channel.sendEmbed(embed)
  1120.    
  1121.   if (!message.guild.member(user).bannable) return message.reply("**:x:I Don't Have Permission For Mute This User**");
  1122.  
  1123.   if(!Reason)  {
  1124.  
  1125.     message.guild.member(user).addRole(muteRole);
  1126.  
  1127.   }
  1128.  
  1129.    if(!Reason && time) {
  1130.  
  1131.     message.guild.member(user).addRole(muteRole);
  1132.  
  1133.    }  
  1134.  
  1135.    if(!time) {
  1136.  
  1137.     message.guild.member(user).addRole(muteRole);
  1138.  
  1139.    }
  1140.    if(time) {
  1141.     if(!time.match(/[1-60][s,m,h,d,w]/g))  return message.channel.send(':x: This Time Is Incorrect')
  1142.  
  1143.    setTimeout(() => {
  1144.  
  1145.     message.guild.member(user).removeRole(muteRole);
  1146.  
  1147.    }, ms(time));
  1148.  
  1149.    }
  1150.  
  1151.    if(time && Reason && user) {
  1152.  
  1153.     message.guild.member(user).addRole(muteRole);
  1154.  
  1155.    setTimeout(() => {
  1156.  
  1157.     message.guild.member(user).removeRole(muteRole);
  1158.    
  1159.    }, ms(time));
  1160.  
  1161.    }
  1162.  
  1163.    message.channel.send(`:white_check_mark: ${user} has been muted ! :zipper_mouth:`)
  1164.  
  1165.    }
  1166.  
  1167.    });
  1168.  
  1169.  
  1170.  
  1171. client.on('message', function(message) {
  1172.     if(!message.channel.guild) return;
  1173. if(message.content ===  '$color 100') {
  1174. if(message.member.hasPermission('MANAGE_ROLES')) {
  1175. setInterval(function(){})
  1176. message.channel.send('سيتم عمل الالوان انتظر ...')//Narox
  1177. }else{
  1178. message.channel.send('** يجب ان يكون لديك برمشن ،"MANAGE_ROLES" ❌**')
  1179. }
  1180. }
  1181. });
  1182. //Narox
  1183. client.on('message', message=>{
  1184. if (message.content ===  '$color 100'){
  1185. if(!message.channel.guild) return;
  1186. if (message.member.hasPermission('MANAGE_ROLES')){
  1187.   setInterval(function(){})
  1188.     let count = 0;
  1189.     let ecount = 0;
  1190. for(let x = 1; x < 100; x++){//اذا تريد ان تقوم بزياده الالوان قم بتعديل رقم 100
  1191. message.guild.createRole({name:x,
  1192. color: 'RANDOM'})
  1193. }
  1194. }
  1195. }
  1196. });
  1197.  
  1198.           client.on('message', message => {
  1199.             let args = message.content.split(' ').slice(1);
  1200.             if(message.content.split(' ')[0] == `${prefix}color`){
  1201.             const embedd = new Discord.RichEmbed()
  1202.             .setFooter('Requested by '+message.author.username, message.author.avatarURL)
  1203.             .setDescription(`**لا يوجد لون بهذا الأسم ** ❌ `)
  1204.             .setColor(`ff0000`)
  1205.            
  1206.             if(!isNaN(args) && args.length > 0)
  1207.            
  1208.            
  1209.             if    (!(message.guild.roles.find("name",`${args}`))) return  message.channel.sendEmbed(embedd);
  1210.            
  1211.            
  1212.             var a = message.guild.roles.find("name",`${args}`)
  1213.              if(!a)return;
  1214.             const embed = new Discord.RichEmbed()
  1215.            
  1216.             .setFooter('Requested by '+message.author.username, message.author.avatarURL)
  1217.             .setDescription(`**Done , تم تغير لونك . ✅ **`)
  1218.            
  1219.             .setColor(`${a.hexColor}`)
  1220.             message.channel.sendEmbed(embed);
  1221.             if (!args)return;
  1222.             setInterval(function(){})
  1223.                let count = 0;
  1224.                let ecount = 0;
  1225.             for(let x = 1; x < 201; x++){
  1226.            
  1227.             message.member.removeRole(message.guild.roles.find("name",`${x}`))
  1228.            
  1229.             }
  1230.              message.member.addRole(message.guild.roles.find("name",`${args}`));
  1231.            
  1232.            
  1233.             }
  1234.             });
  1235.  
  1236.  
  1237.         client.on('message', message => {
  1238.     if (message.content === ('$bot')) {
  1239.     message.channel.send({
  1240.         embed: new Discord.RichEmbed()
  1241.             .setAuthor(client.user.username,client.user.avatarURL)
  1242.             .setThumbnail(client.user.avatarURL)
  1243.             .setColor('RANDOM')
  1244.             .addField('**Bot Ping**🚀 :' , [`${Date.now() - message.createdTimestamp}` + 'MS'], true)
  1245.             .addField('**Servers**📚 :', [client.guilds.size], true)
  1246.             .addField('**Channels**📝 :' , `[ ${client.channels.size} ]` , true)
  1247.             .addField('**Users**🔮 :' ,`[ ${client.users.size} ]` , true)
  1248.             .addField('**Bot Name**🔰 :' , `[ ${client.user.tag} ]` , true)
  1249.             .addField('**Bot Owner**👑 :' , `[<@462387183295266856>]` , true)
  1250.             .setFooter(message.author.username, message.author.avatarURL)
  1251.     })
  1252. }
  1253. });
  1254.  
  1255. const devs = ["462387183295266856"]
  1256.  
  1257. const adminprefix = "$";//Narox
  1258. client.on('message', message => {
  1259.     var argresult = message.content.split(` `).slice(1).join(' ');
  1260.       if (!devs.includes(message.author.id)) return;
  1261.      
  1262.   if (message.content.startsWith(adminprefix + 'pt')) {
  1263.     client.user.setGame(argresult);
  1264.       message.channel.sendMessage(`**:white_check_mark:   ${argresult}**`)
  1265.   } else
  1266.     if (message.content === (adminprefix + "Percie")) {
  1267.     message.guild.leave();        
  1268.   } else  
  1269.   if (message.content.startsWith(adminprefix + 'wt')) {// لجعل البوت في حاله الواتشنق
  1270.   client.user.setActivity(argresult, {type:'WATCHING'});
  1271.       message.channel.sendMessage(`**:white_check_mark:   ${argresult}**`)
  1272.   } else
  1273.   if (message.content.startsWith(adminprefix + 'setprefix')) {//لتغير البريفكس
  1274.   client.user.setPrefix(argresult).then
  1275.       message.channel.send(`**Prefix Changed :white_check_mark: ${argresult}** `)
  1276.   } else
  1277.   if (message.content.startsWith(adminprefix + 'ls')) {// لجعل البوت في حاله الاستماع
  1278.   client.user.setActivity(argresult , {type:'LISTENING'});
  1279.       message.channel.sendMessage(`**:white_check_mark:   ${argresult}**`)
  1280.   } else     //Narox
  1281.     if (message.content.startsWith(adminprefix + 'setname')) {// لتغير اسم البوت
  1282.   client.user.setUsername(argresult).then
  1283.       message.channel.sendMessage(`**${argresult}** : Done `)
  1284.   return message.reply("**Name Changed :white_check_mark:**");
  1285.   } else
  1286.     if (message.content.startsWith(adminprefix + 'setavatar')) {// لتغير صوره البوت
  1287.   client.user.setAvatar(argresult);
  1288.     message.channel.sendMessage(`**${argresult}** : تم تغير صورة البوت`);
  1289.         } else    
  1290.   if (message.content.startsWith(adminprefix + 'st')) {// لعمل ستريمنق للبوت
  1291.     client.user.setGame(argresult, "https://www.twitch.tv/idk");
  1292.       message.channel.sendMessage(`**:white_check_mark:   ${argresult}**`)
  1293.   }
  1294.     if(message.content === adminprefix + "restart") {// لعمل ريسترت للبوت
  1295.       if (!devs.includes(message.author.id)) return;
  1296.           message.channel.send(`:warning:**Bot restarting by ${message.author.username}**`);
  1297.         console.log("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  1298.         console.log(`⚠️ Bot restarting... ⚠️`);
  1299.         console.log("===============================================\n\n");
  1300.         client.destroy();
  1301.         child_process.fork(__dirname + "/bot.js");
  1302.         console.log(`Bot Successfully Restarted`);
  1303.     }
  1304.  
  1305.   });
  1306.  
  1307.  
  1308. client.on('message', message => {
  1309.                                 if(!message.channel.guild) return;
  1310.                         if (message.content.startsWith('ping')) {
  1311.                             if(!message.channel.guild) return;
  1312.                             var msg = `${Date.now() - message.createdTimestamp}`
  1313.                             var api = `${Math.round(client.ping)}`
  1314.                             if (message.author.bot) return;
  1315.                         let embed = new Discord.RichEmbed()
  1316.                         .setAuthor(message.author.username,message.author.avatarURL)
  1317.                         .setColor('RANDOM')
  1318.                         .addField('**Time Taken:**',msg + " ms 📶 ")
  1319.                         .addField('**WebSocket:**',api + " ms 📶 ")
  1320.          message.channel.send({embed:embed});
  1321.                         }
  1322.                     });
  1323.  
  1324.  
  1325. client.on('message', message => {
  1326.   if (message.author.x5bz) return;
  1327.   if (!message.content.startsWith(prefix)) return;
  1328.  
  1329.   let command = message.content.split(" ")[0];
  1330.   command = command.slice(prefix.length);
  1331.  
  1332.   let args = message.content.split(" ").slice(1);//Narox
  1333.  
  1334.   if (command == "kick") {
  1335.                if(!message.channel.guild) return message.reply('** This command only for servers**');
  1336.          
  1337.   if(!message.guild.member(message.author).hasPermission("KICK_MEMBERS")) return message.reply("**You Don't Have ` KICK_MEMBERS ` Permission**");
  1338.   if(!message.guild.member(client.user).hasPermission("KICK_MEMBERS")) return message.reply("**I Don't Have ` KICK_MEMBERS ` Permission**");
  1339.   let user = message.mentions.users.first();
  1340.   let reason = message.content.split(" ").slice(2).join(" ");//Narox
  1341.   if (message.mentions.users.size < 1) return message.reply("**منشن شخص**");
  1342.   if(!reason) return message.reply ("**اكتب سبب الطرد**");
  1343.   if (!message.guild.member(user)
  1344.   .kickable) return message.reply("**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**");//Narox
  1345.  
  1346.   message.guild.member(user).kick();//Narox
  1347.  
  1348.   const kickembed = new Discord.RichEmbed()//Narox
  1349.   .setAuthor(`KICKED!`, user.displayAvatarURL)
  1350.   .setColor("RANDOM")
  1351.   .setTimestamp()//Narox
  1352.   .addField("**User:**",  '**[ ' + `${user.tag}` + ' ]**')
  1353.   .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  1354.   .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  1355.   message.channel.send({//Narox
  1356.     embed : kickembed
  1357.   })//Narox
  1358. }
  1359. });
  1360.  
  1361. client.on("message", (message) => {
  1362.     if(message.content.startsWith(prefix+"gmail")) {
  1363.         message.channel.send(JSON.stringify({
  1364.             email: Math.random().toString(36).slice(4).trim()+"@gmail.com",
  1365.             password: Math.random().toString(36).slice(4).trim()
  1366.         }))
  1367.     }
  1368. })
  1369.  
  1370. client.on("message", message => {
  1371.     var prefix = "$"
  1372.     if (!message.content.startsWith(prefix)) return;
  1373.       let command = message.content.split(" ")[0];
  1374.       command = command.slice(prefix.length);
  1375.         if(command === "mcskin") {
  1376.                 const args = message.content.split(" ").slice(1).join(" ")
  1377.         if (!args) return message.channel.send("**اكتب اسم السكن الي تبيه**");
  1378.         const image = new Discord.Attachment(`https://minotar.net/armor/body/${args}`, "skin.png");
  1379.     message.channel.send(image)
  1380.         }
  1381.     });
  1382.  
  1383. client.on('message', message => {
  1384.              if (!message.channel.guild) return;
  1385.      if(message.content =='$members')
  1386.      var IzRo = new Discord.RichEmbed()
  1387.      .setThumbnail(message.author.avatarURL)
  1388.      .setFooter(message.author.username, message.author.avatarURL)
  1389.      .setTitle('🌷| Members info')
  1390.      .addBlankField(true)
  1391.      .addField('📗| Online ',
  1392.      `${message.guild.members.filter(m=>m.presence.status == 'online').size}`)
  1393.      .addField('📕| DND',`${message.guild.members.filter(m=>m.presence.status == 'dnd').size}`)
  1394.      .addField('📙| idle',`${message.guild.members.filter(m=>m.presence.status == 'idle').size}`)
  1395.      .addField('📓| Offline ',`${message.guild.members.filter(m=>m.presence.status == 'offline').size}`)
  1396.      .addField('Members Count',`${message.guild.memberCount}`)
  1397.      message.channel.send(IzRo);
  1398.    });
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430. client.login(process.env.BOT_TOKEN)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement