Advertisement
Guest User

here

a guest
Jan 22nd, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2.  const moment = require('moment');
  3. const ms = require('ms')  
  4. const fs = require("fs");      
  5. const dateFormat = require('dateformat');
  6. const client = new Discord.Client();
  7. const Canvas = require("canvas"); //npm i canvas
  8. const prefix = "=" // برفكس
  9. let profile = JSON.parse(fs.readFileSync("profile.json", "utf8"))
  10.  
  11.  
  12.  
  13.  
  14. client.on("message", message => {
  15.     if (message.author.bot || !message.guild) return;
  16.     let score;
  17.    
  18.     if (message.guild) {
  19.       score = client.getScore.get(message.author.id, message.guild.id);
  20.       if (!score) {
  21.         score = { id: `${message.guild.id}-${message.author.id}`, user: message.author.id, guild: message.guild.id, points: 0, level: 1 };
  22.       }
  23.       score.points++;
  24.       const curLevel = Math.floor(0.1 * Math.sqrt(score.points));
  25.       client.setScore.run(score);
  26.     }
  27.     if (message.content.indexOf(prefix) !== 0) return;
  28.  
  29.     const args = message.content.slice(prefix.length).trim().split(/ +/g);
  30.     const command = args.shift().toLowerCase();
  31.  
  32.     if(command === "points") {
  33.       return message.reply(`You currently have ${score.points} points and are level ${score.level}!`);
  34.     }
  35.    
  36.     if(command === "give") {
  37.       if(!message.author.id === message.guild.owner) return message.reply("You're not the boss of me, you can't do that!");
  38.       const user = message.mentions.users.first() || client.users.get(args[0]);
  39.       if(!user) return message.reply("You must mention someone or give their ID!");
  40.       const pointsToAdd = parseInt(args[1], 10);
  41.       if(!pointsToAdd) return message.reply("You didn't tell me how many points to give...");
  42.           let userscore = client.getScore.get(user.id, message.guild.id);      
  43.       if (!userscore) {
  44.         userscore = { id: `${message.guild.id}-${user.id}`, user: user.id, guild: message.guild.id, points: 0, level: 1 };
  45.       }
  46.       userscore.points += pointsToAdd;
  47.       let userLevel = Math.floor(0.1 * Math.sqrt(score.points));
  48.       userscore.level = userLevel;
  49.       client.setScore.run(userscore);
  50.    
  51.       return message.channel.send(`${user.tag} has received ${pointsToAdd} points and now stands at ${userscore.points} points.`);
  52.     }
  53.    
  54.     if(command === "top") {
  55.       const top10 = sql.prepare("SELECT * FROM scores WHERE guild = ? ORDER BY points DESC LIMIT 10;").all(message.guild.id);
  56.       const embed = new Discord.RichEmbed()
  57.         .setTitle("**TOP 10 TEXT** :speech_balloon:")
  58.         .setAuthor('📋 Guild Score Leaderboards', message.guild.iconURL)
  59.         .setColor(0x00AE86);
  60.  
  61.       for(const data of top10) {
  62.         embed.addField(client.users.get(data.user).tag, `XP: \`${data.points}\` | LVL: \`${data.level}\``);
  63.       }
  64.       return message.channel.send({embed});
  65.     }
  66.    
  67.   });
  68.  
  69.  
  70.  
  71. client.on('message', message => {
  72.     var prefix = "#";
  73.   if (message.author.x5bz) return;
  74.   if (!message.content.startsWith(prefix)) return;
  75.  
  76.   let command = message.content.split(" ")[0];
  77.   command = command.slice(prefix.length);
  78.  
  79.   let args = message.content.split(" ").slice(1);
  80.  
  81.   if (command == "ban") {
  82.                if(!message.channel.guild) return message.reply('** This command only for servers**');
  83.          
  84.   if(!message.guild.member(message.author).hasPermission("BAN_MEMBERS")) return message.reply("**You Don't Have ` BAN_MEMBERS ` Permission**");
  85.   if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) return message.reply("**I Don't Have ` BAN_MEMBERS ` Permission**");
  86.   let user = message.mentions.users.first();
  87.   let reason = message.content.split(" ").slice(2).join(" ");
  88.   /*let b5bzlog = client.channels.find("name", "5bz-log");
  89.  
  90.   if(!b5bzlog) return message.reply("I've detected that this server doesn't have a 5bz-log text channel.");*/
  91.   if (message.mentions.users.size < 1) return message.channel.send(`https://cdn.pg.sa/fjxlms81nk.png`);
  92.   if(!reason) return message.channel.send(`https://cdn.pg.sa/fjxlms81nk.png`);
  93.   if (!message.guild.member(user)
  94.   .bannable) return message.reply(`This User Is Have High Role !`);
  95.  
  96.   message.guild.member(user).ban(7, user);
  97.  
  98.   const banembed = new Discord.RichEmbed()
  99.   .setAuthor(`BANNED!`, user.displayAvatarURL)
  100.   .setColor("RANDOM")
  101.   .setTimestamp()
  102.   .addField("**User:**",  '**[ ' + `${user.tag}` + ' ]**')
  103.   .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  104.   .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  105.   message.channel.send({
  106.     embed : banembed
  107.   })
  108. }
  109. });
  110. client.on('message', message => {
  111. if(message.content.startsWith(prefix +"server")){
  112.   if(!message.guild.member(message.author).hasPermission("ADMINISTRATOR")) return message.reply(`**هذه الخاصية للادارة فقط** :negative_squared_cross_mark: `)
  113. if(!message.channel.guild) return message.reply(' ');
  114. const millis = new Date().getTime() - message.guild.createdAt.getTime();
  115. const now = new Date();
  116. dateFormat(now, 'dddd, mmmm dS, yyyy, h:MM:ss TT');
  117. const verificationLevels = ['None', 'Low', 'Medium', 'Insane', 'Extreme'];
  118. const days = millis / 1000 / 60 / 60 / 24;
  119. let roles = client.guilds.get(message.guild.id).roles.map(r => r.name);
  120. var embed  = new Discord.RichEmbed()
  121. .setAuthor(message.guild.name, message.guild.iconURL)
  122. .addField("**🆔 Server ID:**", message.guild.id,true)
  123. .addField("**📅 Created On**", message.guild.createdAt.toLocaleString(),true)
  124. .addField("**👑 Owned by**",`${message.guild.owner.user.username}#${message.guild.owner.user.discriminator}`)
  125. .addField("👥 Members ",`[${message.guild.memberCount}]`,true)
  126. .addField('**💬 Channels **',`**${message.guild.channels.filter(m => m.type === 'text').size}**` + ' text | Voice  '+ `**${message.guild.channels.filter(m => m.type === 'voice').size}** `,true)
  127. .addField("**🌍 Others **" , message.guild.region,true)
  128. .addField("** 🔐 Roles **",`**[${message.guild.roles.size}]** Role `,true)
  129. .setColor('#000000')
  130. message.channel.sendEmbed(embed)
  131.  
  132. }
  133. });
  134. client.on('message', message => {
  135. if(!message.channel.guild) return;
  136. if(message.content.startsWith(prefix + 'move')) {
  137.  if (message.member.hasPermission("MOVE_MEMBERS")) {
  138.  if (message.mentions.users.size === 0) {
  139.  return message.channel.send("``لاستخدام الأمر اكتب هذه الأمر : " +prefix+ "move [USER]``")
  140. }
  141. if (message.member.voiceChannel != null) {
  142.  if (message.mentions.members.first().voiceChannel != null) {
  143.  var authorchannel = message.member.voiceChannelID;
  144.  var usermentioned = message.mentions.members.first().id;
  145. var embed = new Discord.RichEmbed()
  146.  .setTitle("Succes!")
  147.  .setColor("#000000")
  148.  .setDescription(`لقد قمت بسحب <@${usermentioned}> الى الروم الصوتي الخاص بك✅ `)
  149. var embed = new Discord.RichEmbed()
  150. .setTitle(`You are Moved in ${message.guild.name}`)
  151.  .setColor("RANDOM")
  152. .setDescription(`**<@${message.author.id}> Moved You To His Channel!\nServer --> ${message.guild.name}**`)
  153.  message.guild.members.get(usermentioned).setVoiceChannel(authorchannel).then(m => message.channel.send(embed))
  154. message.guild.members.get(usermentioned).send(embed)
  155. } else {
  156. message.channel.send("``لا تستطيع سحب "+ message.mentions.members.first() +" `يجب ان يكون هذه العضو في روم صوتي`")
  157. }
  158. } else {
  159.  message.channel.send("**``يجب ان تكون في روم صوتي لكي تقوم بسحب العضو أليك``**")
  160. }
  161. } else {
  162. message.react("❌")
  163. }
  164.  }
  165. });
  166. client.on("message", message => {
  167.     var args = message.content.split(' ').slice(1);
  168.     var msg = message.content.toLowerCase();
  169.     if( !message.guild ) return;
  170.     if( !msg.startsWith( prefix + 'role' ) ) return;
  171.     if(!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send(' **__ليس لديك صلاحيات__**');
  172.     if( msg.toLowerCase().startsWith( prefix + 'roleremove' ) ){
  173.         if( !args[0] ) return message.reply( '**:x: يرجى وضع الشخص المراد سحب منه الرتبة**' );
  174.         if( !args[1] ) return message.reply( '**:x: يرجى وضع الرتبة المراد سحبها من الشخص**' );
  175.         var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  176.         var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  177.         if( !role1 ) return message.reply( '**:x: يرجى وضع الرتبة المراد سحبها من الشخص**' );if( message.mentions.members.first() ){
  178.             message.mentions.members.first().removeRole( role1 );
  179.             return message.reply('**:white_check_mark: [ '+role1.name+' ] رتبة [ '+args[0]+' ] تم سحب من **');
  180.         }
  181.         if( args[0].toLowerCase() == "all" ){
  182.             message.guild.members.forEach(m=>m.removeRole( role1 ))
  183.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من الكل رتبة**');
  184.         } else if( args[0].toLowerCase() == "bots" ){
  185.             message.guild.members.filter(m=>m.user.bot).forEach(m=>m.removeRole(role1))
  186.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من البوتات رتبة**');
  187.         } else if( args[0].toLowerCase() == "humans" ){
  188.             message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.removeRole(role1))
  189.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من البشريين رتبة**');
  190.         }  
  191.     } else {
  192.         if( !args[0] ) return message.reply( '**:x: يرجى وضع الشخص المراد اعطائها الرتبة**' );
  193.         if( !args[1] ) return message.reply( '**:x: يرجى وضع الرتبة المراد اعطائها للشخص**' );
  194.         var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  195.         var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  196.         if( !role1 ) return message.reply( '**:x: يرجى وضع الرتبة المراد اعطائها للشخص**' );if( message.mentions.members.first() ){
  197.             message.mentions.members.first().addRole( role1 );
  198.             return message.reply('**:white_check_mark: [ '+role1.name+' ] رتبة [ '+args[0]+' ] تم اعطاء **');
  199.         }
  200.         if( args[0].toLowerCase() == "all" ){
  201.             message.guild.members.forEach(m=>m.addRole( role1 ))
  202.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم اعطاء الكل رتبة**');
  203.         } else if( args[0].toLowerCase() == "bots" ){
  204.             message.guild.members.filter(m=>m.user.bot).forEach(m=>m.addRole(role1))
  205.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم اعطاء البوتات رتبة**');
  206.         } else if( args[0].toLowerCase() == "humans" ){
  207.             message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.addRole(role1))
  208.             return  message.reply('**:white_check_mark: [ '+role1.name+' ] تم اعطاء البشريين رتبة**');
  209.         }
  210.     }
  211. });
  212. var AsciiTable = require('ascii-data-table').default
  213. client.on('message', message =>{
  214.  
  215.     if(message.content == "#roles"){
  216.         if(message.guild.member(message.author).hasPermission("ADMINISTRATOR"))
  217.         var
  218.         ros=message.guild.roles.size,
  219.         data = [['Rank', 'RoleName']]
  220.         for(let i =0;i<ros;i++){
  221.             if(message.guild.roles.array()[i].id !== message.guild.id){
  222.          data.push([i,`${message.guild.roles.filter(r => r.position == ros-i).map(r=>r.name)}`])
  223.         }}
  224.         let res = AsciiTable.table(data)
  225.  
  226.         message.channel.send(`**\`\`\`xl\n${res}\`\`\`**`);
  227.     }
  228. });
  229. client.on('ready', () => {
  230.   console.log('|===================================|');
  231.   console.log(`|  Users Size ${client.users.size}  |`);
  232.   console.log(`| Guilds Size ${client.guilds.size} |`);
  233.   console.log(`|===================================|`);
  234.   console.log(`|          ${client.user.tag}       |`);
  235.   console.log(`|===================================|`);
  236.   console.log(`|              Im Ready !           |`);
  237.   console.log(`|===================================|`);
  238. });
  239. client.on('message', msg => {
  240.   if (msg.author.bot) return;
  241.   if (!msg.content.startsWith(prefix)) return;
  242.   let command = msg.content.split(" ")[0];
  243.   command = command.slice(prefix.length);
  244.   let args = msg.content.split(" ").slice(1);
  245.  
  246.     if(command === "clear") {
  247.         const emoji = client.emojis.find("name", "wastebasket")
  248.     let textxt = args.slice(0).join("");
  249.     if(msg.member.hasPermission("MANAGE_MESSAGES")) {
  250.     if (textxt == "") {
  251.         msg.delete().then
  252.     msg.channel.send("***```ضع عدد الرسائل التي تريد مسحها 👌```***").then(m => m.delete(3000));
  253. } else {
  254.     msg.delete().then
  255.     msg.delete().then
  256.     msg.channel.bulkDelete(textxt);
  257.         msg.channel.send("```php\nعدد الرسائل التي تم مسحها: " + textxt + "\n```").then(m => m.delete(3000));
  258.         }    
  259.     }
  260. }
  261. });
  262. client.on('message', async message =>{
  263.   if (message.author.boss) return;
  264.  
  265. if (!message.content.startsWith(prefix)) return;
  266.     let command = message.content.split(" ")[0];
  267.      command = command.slice(prefix.length);
  268.     let args = message.content.split(" ").slice(1);
  269.     if (command == "mute") {
  270.         if (!message.channel.guild) return;
  271.         if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.reply("انت لا تملك صلاحيات !! ").then(msg => msg.delete(5000));
  272.         if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("البوت لايملك صلاحيات ").then(msg => msg.delete(5000));;
  273.         let user = message.mentions.users.first();
  274.         let muteRole = message.guild.roles.find("name", "Muted");
  275.         if (!muteRole) return message.reply("** لا يوجد رتبة الميوت 'Muted' **").then(msg => {msg.delete(5000)});
  276.         if (message.mentions.users.size < 1) return message.reply('** يجب عليك المنشن اولاً **').then(msg => {msg.delete(5000)});
  277.         let reason = message.content.split(" ").slice(2).join(" ");
  278.         message.guild.member(user).addRole(muteRole);
  279.         const muteembed = new Discord.RichEmbed()
  280.         .setColor("RANDOM")
  281.         .setAuthor(`Muted!`, user.displayAvatarURL)
  282.         .setThumbnail(user.displayAvatarURL)
  283.         .addField("**:busts_in_silhouette:  المستخدم**",  '**[ ' + `${user.tag}` + ' ]**',true)
  284.         .addField("**:hammer:  تم بواسطة **", '**[ ' + `${message.author.tag}` + ' ]**',true)
  285.         .addField("**:book:  السبب**", '**[ ' + `${reason}` + ' ]**',true)
  286.         .addField("User", user, true)
  287.         message.channel.send({embed : muteembed});
  288.         var muteembeddm = new Discord.RichEmbed()
  289.         .setAuthor(`Muted!`, user.displayAvatarURL)
  290.         .setDescription(`      
  291. ${user} انت معاقب بميوت كتابي بسبب مخالفة القوانين
  292. ${message.author.tag} تمت معاقبتك بواسطة
  293. [ ${reason} ] : السبب
  294. اذا كانت العقوبة عن طريق الخطأ تكلم مع المسؤلين
  295. `)
  296.         .setFooter(`في سيرفر : ${message.guild.name}`)
  297.         .setColor("RANDOM")
  298.     user.send( muteembeddm);
  299.   }
  300. if(command === `unmute`) {
  301.   if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.sendMessage("**ليس لديك صلاحية لفك عن الشخص ميوت**:x: ").then(m => m.delete(5000));
  302. if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("**ما عندي برمشن**").then(msg => msg.delete(6000))
  303.  
  304.   let toMute = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
  305.   if(!toMute) return message.channel.sendMessage("**عليك المنشن أولاّ**:x: ");
  306.  
  307.   let role = message.guild.roles.find (r => r.name === "Muted");
  308.  
  309.   if(!role || !toMute.roles.has(role.id)) return message.channel.sendMessage("**لم يتم اعطاء هذه شخص ميوت من الأساس**:x:")
  310.  
  311.   await toMute.removeRole(role)
  312.   message.channel.sendMessage("**لقد تم فك الميوت عن شخص بنجاح**:white_check_mark:");
  313.  
  314.   return;
  315.  
  316.   }
  317.  
  318. });
  319. client.on("message", message => {
  320.         if(!message.channel.guild) return;
  321.  if(message.author.bot) return;
  322.     if(message.content === prefix + "image"){
  323.         const embed = new Discord.RichEmbed()
  324.  
  325.     .setTitle(`This is  ** ${message.guild.name} **  Photo !`)
  326. .setAuthor(message.author.username, message.guild.iconrURL)
  327.   .setColor(0x164fe3)
  328.   .setImage(message.guild.iconURL)
  329.   .setURL(message.guild.iconrURL)
  330.                   .setTimestamp()
  331.  
  332.  message.channel.send({embed});
  333.     }
  334. });
  335. client.on('message', message => {
  336.   if (message.author.x5bz) return;
  337.   if (!message.content.startsWith(prefix)) return;
  338.  
  339.   let command = message.content.split(" ")[0];
  340.   command = command.slice(prefix.length);
  341.  
  342.   let args = message.content.split(" ").slice(1);
  343.  
  344.   if (command == "kick") {
  345.                if(!message.channel.guild) return message.reply('** This command only for servers**');
  346.          
  347.   if(!message.guild.member(message.author).hasPermission("KICK_MEMBERS")) return message.reply("**You Don't Have ` KICK_MEMBERS ` Permission**");
  348.   if(!message.guild.member(client.user).hasPermission("KICK_MEMBERS")) return message.reply("**I Don't Have ` KICK_MEMBERS ` Permission**");
  349.   let user = message.mentions.users.first();
  350.   let reason = message.content.split(" ").slice(2).join(" ");
  351.   if (message.mentions.users.size < 1) return message.reply("**https://cdn.discordapp.com/attachments/498625534549295114/498825358682882059/kick_metion.png**");
  352.   if(!reason) return message.reply ("**https://cdn.discordapp.com/attachments/498625534549295114/498825956983701514/kick_reson.png**");
  353.   if (!message.guild.member(user)
  354.   .kickable) return message.reply("**This User Is Have High Role**");
  355.  
  356.   message.guild.member(user).kick();
  357.  
  358.   const kickembed = new Discord.RichEmbed()
  359.   .setAuthor(`KICKED!`, user.displayAvatarURL)
  360.   .setColor("RANDOM")
  361.   .setTimestamp()
  362.   .addField("**User:**",  '**[ ' + `${user.tag}` + ' ]**')
  363.   .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  364.   .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  365.   message.channel.send({
  366.     embed : kickembed
  367.   })
  368. }
  369. });
  370. client.on('message', message => {
  371.          if(message.content === prefix + "closeroom") {
  372.                              if(!message.channel.guild) return message.reply('** This command only for servers**');
  373.  
  374.      if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply(' **__ليس لديك صلاحيات__**');
  375.                 message.channel.overwritePermissions(message.guild.id, {
  376.               SEND_MESSAGES: false
  377.  
  378.                 }).then(() => {
  379.                     message.reply("**__تم تقفيل الشات__ :white_check_mark: **")
  380.                 });
  381.                   }
  382.       if(message.content === prefix + "openroom") {
  383.                           if(!message.channel.guild) return message.reply('** This command only for servers**');
  384.  
  385.      if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply('**__ليس لديك صلاحيات__**');
  386.                 message.channel.overwritePermissions(message.guild.id, {
  387.               SEND_MESSAGES: true
  388.  
  389.                 }).then(() => {
  390.                     message.reply("**__تم فتح الشات__:white_check_mark:**")
  391.                 });
  392.       }
  393.          
  394. });
  395. client.on('message', message => {
  396.   if(message.content.includes('discord.gg')){
  397.                                           if(!message.channel.guild) return message.reply('** advertising me on DM ? :thinking:   **');
  398.       if (!message.member.hasPermissions(['ADMINISTRATOR'])){
  399.       message.delete()
  400.   return message.reply(`** Not allowed to advertising Here :angry: ! **`)
  401.   }
  402. }
  403. });
  404. client.on('message', message => {
  405.   if (message.content.startsWith(prefix +"avatar")) {
  406. if(!message.channel.guild) return;
  407.       var mentionned = message.mentions.users.first();
  408.   var client;
  409.     if(mentionned){
  410.         var client = mentionned; } else {
  411.         var client = message.author;
  412.     }
  413.       const embed = new Discord.RichEmbed()
  414.                          .addField('Requested by:', "<@" + message.author.id + ">")
  415.       .setColor(000000)
  416.       .setImage(`${client.avatarURL}`)
  417.     message.channel.sendEmbed(embed);
  418.   }
  419. });
  420. client.on('message', message => {
  421.   if (message.content === "#support") {
  422.   let embed = new Discord.RichEmbed()
  423. .setAuthor(message.author.username)
  424. .setColor("#9B59B6")
  425. .addField(" ** :gear: Server Support :gear: **" , "  **https://discord.gg/NgdvJy3**")
  426.  
  427.  
  428. message.channel.sendEmbed(embed);
  429.  }
  430. });
  431. client.on('message', message => {
  432. if(message.content.split(' ')[0] == prefix + 'dac') {  
  433. if (!message.channel.guild) return;
  434. if(!message.guild.member(message.author).hasPermission("MANAGE_CHANNELS")) return;
  435. if(!message.guild.member(client.user).hasPermission("MANAGE_CHANNELS")) return message.reply(`**I D'ont Have Permission For That !`);
  436. message.guild.channels.forEach(m => {
  437. m.delete();
  438. });
  439. }
  440. if(message.content.split(' ')[0] == prefix + 'dar') {
  441. if (!message.channel.guild) return;
  442. if(!message.guild.member(message.author).hasPermission("MANAGE_ROLES_OR_PERMISSIONS")) return;
  443. if(!message.guild.member(client.user).hasPermission("MANAGE_ROLES_OR_PERMISSIONS")) return message.reply(`**I D'ont Have Permission For That !`);
  444. message.guild.roles.forEach(m => {
  445. m.delete();
  446. });
  447. message.reply("`تم حذف جميع الرتب بنجاح`")
  448. }
  449. });
  450. client.on('message', message => {
  451.     if (message.content === "#inv") {
  452.         if(!message.channel.guild) return;
  453.     let embed = new Discord.RichEmbed()
  454.     .setAuthor(` ${message.author.username} `, message.author.avatarURL)      
  455.     .setTitle(`Click Here To Add Me `)
  456.     .setURL(`https://discordapp.com/api/oauth2/authorize?client_id=bot id&permissions=8&scope=bot`)  // حط اي دي بوتك
  457.     .setThumbnail(" https://cdn.discordapp.com/avatars/377904849783750667/6c76e412f18c142dfd711d05fb363869.png?size=2048")        
  458.  message.channel.sendEmbed(embed);
  459.    }
  460. });
  461.  
  462. client.on('message', message => {
  463.     if (message.author.bot) return;
  464.      if (message.content === prefix + "help") {
  465.       if(!message.member.hasPermission('ADMINISTRATOR')) return      message.channel.send('**للأسف لا تمتلك صلاحية** `ADMINISTRATOR`' );
  466.      message.channel.send('**تم ارسال رسالة في الخاص**');
  467.  
  468.  
  469.  
  470.  
  471.  message.author.sendMessage(`
  472.  **
  473. [❖═════ General Commands ═══════❖]
  474.  
  475.  #id معلومات عن حسابك الشخصي
  476.  
  477.  #server معلومات حول السيرفر
  478.  
  479.  #move سحب عضو الى رومك الصوتي
  480.  
  481.  #clear مسح الرسائل الموجوده في الروم بعدد
  482.  
  483.  #avatar يعرض اك صورتك الشخصية
  484.  
  485.  #image يعرض لك صورة السيرفر
  486.  
  487.  #credit يوريك كم الكريديت حقتك
  488.  
  489.  #daily يسوي لك سحب فلوس
  490.  
  491.  #rep يعطي ريب
  492.  
  493.  #profile معلومات عامة مع الصورة
  494.  
  495. [❖═════ Administrator Commands ═══════❖]
  496.  
  497.  #ban حضر عضو من السيرفر
  498.  
  499.  #kick طرد عضو من السيرفر
  500.  
  501.  #mute اعضاء ميوت كتابي لعضو في السيرفر
  502.  
  503.  #unmute فك الميوت عن عضو في السيرفر
  504.  
  505.  #dac حذف جميع رومات السيرفر
  506.  
  507.  #dar حذف جميع رتب السيرفر
  508.  
  509.  #openroom فتح المحادثة في الروم
  510.  
  511.  #closeroom قفل المحادثة في الرةوم
  512.  
  513.  #role اعطاء رتبه لشخض معين
  514.  
  515.  #role humans اعطاء رتب للبشريين
  516.  
  517.  #role bots اعطاء رتبه للبوتات
  518.  
  519.  #role all اعطاء رتبه للجميع سواء بشر او بوتات
  520.  
  521. [❖═════ Other ═══════❖]
  522.  
  523.  #support رابط سيرفر الدعم الفني
  524.  
  525.  #invite رابط اضافة البوت
  526.  
  527.  **`);
  528.  
  529.     }
  530. });
  531. client.on('message', message => {
  532.            if (message.content.startsWith(prefix + "id")) {
  533.      var args = message.content.split(" ").slice(1);
  534.      let user = message.mentions.users.first();
  535.      var men = message.mentions.users.first();
  536.         var heg;
  537.         if(men) {
  538.             heg = men
  539.         } else {
  540.             heg = message.author
  541.         }
  542.       var mentionned = message.mentions.members.first();
  543.          var h;
  544.         if(mentionned) {
  545.             h = mentionned
  546.         } else {
  547.             h = message.member
  548.         }
  549.                moment.locale('ar-TN');
  550.       var id = new  Discord.RichEmbed()
  551.       .setAuthor(message.author.username, message.author.avatarURL)
  552.     .setColor("#707070")
  553.     .addField(': دخولك لديسكورد قبل', `${moment(heg.createdTimestamp).format('YYYY/M/D HH:mm:ss')} **\n** \`${moment(heg.createdTimestamp).fromNow()}\`` ,true)
  554.     .addField(': انضمامك لسيرفر قبل', `${moment(h.joinedAt).format('YYYY/M/D HH:mm:ss')} \n \`${moment(h.joinedAt).fromNow()}\``, true)              
  555.     .setFooter(`Last Bot`, 'https://images-ext-2.discordapp.net/external/JpyzxW2wMRG2874gSTdNTpC_q9AHl8x8V4SMmtRtlVk/https/orcid.org/sites/default/files/files/ID_symbol_B-W_128x128.gif')                                
  556.     .setThumbnail(heg.avatarURL);
  557.     message.channel.send(id)
  558. }       });
  559.  
  560. client.on("message", message => {
  561.  
  562.   if (message.author.bot) return;
  563.   if(!message.channel.guild)return;
  564.   if (!profile[message.author.id]) profile[message.author.id] = {
  565.     tite: 'Super User',
  566.     rep: 0,
  567.     reps: 'NOT YET',
  568.     lastDaily:'Not Collected',
  569.     level: 0,
  570.     points: 0,
  571.     credits: 150,
  572.   };
  573.  
  574.  
  575. fs.writeFile('profile.json', JSON.stringify(profile), (err) => {
  576. if (err) console.error(err);
  577. })
  578. });
  579.  
  580. client.on('message', message => {
  581.  
  582.     if(message.content.startsWith(prefix + 'rep')) {
  583.       if(!message.channel.guild) return;
  584.                     moment.locale('en');
  585.                   var getvalueof = message.mentions.users.first()
  586.                     if(!getvalueof) return message.channel.send(`**:mag: |  ${message.author.username}, the user could not be found.    **`);
  587.                        if(getvalueof.id == message.author.id) return message.channel.send(`**${message.author.username}, you cant give yourself a reputation !**`)
  588.     if(profile[message.author.id].reps != moment().format('L')) {
  589.             profile[message.author.id].reps = moment().format('L');
  590.             profile[getvalueof.id].rep = Math.floor(profile[getvalueof.id].rep+1);
  591.          message.channel.send(`** :up:  |  ${message.author.username} has given ${getvalueof} a reputation point!**`)
  592.         } else {
  593.          message.channel.send(`**:stopwatch: |  ${message.author.username}, you can raward more reputation  ${moment().endOf('day').fromNow()} **`)
  594.         }
  595.        }
  596.        fs.writeFile('profile.json', JSON.stringify(profile), (err) => {
  597. if (err) console.error(err);
  598. })
  599. });
  600.  
  601. client.on("message", (message) => {
  602.   let men = message.mentions.users.first()
  603.  
  604.   if (message.author.bot) return;
  605.     if (message.author.id === client.user.id) return;
  606.     if(!message.channel.guild) return;
  607. if (message.content.startsWith(prefix + 'credit')) {
  608.   if(men) {
  609.     if (!profile[men.id]) profile[men.id] = {
  610.     lastDaily:'Not Collected',
  611.     credits: 1,
  612.   };
  613.   }
  614.   if(men) {
  615. message.channel.send(`** ${men.username}, :credit_card: balance` + " is `" + `${profile[men.id].credits}$` + "`.**")
  616. } else {
  617.   message.channel.send(`** ${message.author.username}, your :credit_card: balance` + " is `" + `${profile[message.author.id].credits}$` + "`.**")
  618. }
  619. }
  620.  
  621. if(message.content.startsWith(prefix + "daily")) {
  622.   if(profile[message.author.id].lastDaily != moment().format('day')) {
  623.     profile[message.author.id].lastDaily = moment().format('day')
  624.     profile[message.author.id].credits += 200
  625.      message.channel.send(`**${message.author.username} you collect your \`200\` :dollar: daily pounds**`)
  626. } else {
  627.     message.channel.send(`**:stopwatch: | ${message.author.username}, your daily :yen: credits refreshes ${moment().endOf('day').fromNow()}**`)
  628. }
  629.   }
  630.  
  631.  
  632.  let cont = message.content.slice(prefix.length).split(" ");
  633. let args = cont.slice(1);
  634. let sender = message.author
  635. if(message.content.startsWith(prefix + 'trans')) {
  636.           if (!args[0]) {
  637.             message.channel.send(`**Usage: ${prefix}trans @someone amount**`);
  638.          return;
  639.            }
  640.         // We should also make sure that args[0] is a number
  641.         if (isNaN(args[0])) {
  642.             message.channel.send(`**Usage: ${prefix}trans @someone amount**`);
  643.             return; // Remember to return if you are sending an error message! So the rest of the code doesn't run.
  644.              }
  645.             let defineduser = '';
  646.             let firstMentioned = message.mentions.users.first();
  647.             defineduser = (firstMentioned)
  648.             if (!defineduser) return message.channel.send(`**Usage: ${prefix}trans @someone amount**`);
  649.             var mentionned = message.mentions.users.first();
  650. if (!profile[sender.id]) profile[sender.id] = {}
  651. if (!profile[sender.id].credits) profile[sender.id].credits = 200;
  652. fs.writeFile('profile.json', JSON.stringify(profile), (err) => {
  653. if (err) console.error(err);
  654. })
  655.       var mando = message.mentions.users.id;
  656.       if  (!profile[defineduser.id]) profile[defineduser.id] = {}
  657.       if (!profile[defineduser.id].credits) profile[defineduser.id].credits = 200;
  658.       profile[defineduser.id].credits += (+args[0]);
  659.       profile[sender.id].credits += (-args[0]);
  660.       let mariam = message.author.username
  661. message.channel.send(`**:moneybag: | ${message.author.username}, has transferrerd ` + "`" + args[0] + "$` to " + `<@${defineduser.id}>**`)
  662. }
  663.  
  664.       });
  665.  
  666.       client.on('message', message => {
  667.           if(!profile[message.author.id]) profile[message.author.id] ={
  668.               points: 0,
  669.               level: 1
  670.           };
  671.           if(message.author.bot) return;
  672.           profile[message.author.id].points = Math.floor(profile[message.author.id].points+1);
  673.           if(profile[message.author.id].points > 100) {
  674.               profile[message.author.id].points = 0
  675.               profile[message.author.id].level = Math.floor(profile[message.author.id].level+1);
  676.               message.channel.send(`**${message.author.username}, You leveld up to __${profile[message.author.id].level}__**`)
  677.           }
  678.           fs.writeFile('profile.json', JSON.stringify(profile), (err) => {
  679. if (err) console.error(err);
  680. })
  681.       })
  682.  
  683.     client.on('message', message => {
  684.         let tit = message.content.split(" ").slice(1).join(" ");
  685.         if(message.content.startsWith(prefix + "title")) {
  686.         if(!profile[message.author.id].tite) profile[message.author.id].tite = "Hey im using Super"
  687.         if(!tit) {
  688.             message.channel.send("**Usage: <title <something>**");
  689.         } else {
  690.             profile[message.author.id].tite = tit
  691.             message.channel.send(`:ok:`)
  692.         }
  693.         }
  694.         fs.writeFile('profile.json', JSON.stringify(profile), (err) => {
  695. if (err) console.error(err);
  696. })
  697.     })
  698.  
  699.     client.on("message", message => {
  700.   if (message.author.bot) return;
  701.     if(!message.channel.guild) return;
  702. if (message.content.startsWith(prefix + "profile")) {
  703.                                let user = message.mentions.users.first();
  704.          var men = message.mentions.users.first();
  705.             var heg;
  706.             if(men) {
  707.                 heg = men
  708.             } else {
  709.                 heg = message.author
  710.             }
  711.           var mentionned = message.mentions.members.first();
  712.              var h;
  713.             if(mentionned) {
  714.                 h = mentionned
  715.             } else {
  716.                 h = message.member
  717.             }
  718.             var ment = message.mentions.users.first();
  719.             var getvalueof;
  720.             if(ment) {
  721.               getvalueof = ment;
  722.             } else {
  723.               getvalueof = message.author;
  724.             }
  725.    var mentionned = message.mentions.users.first();
  726.  
  727.     var client;
  728.       if(mentionned){
  729.           var client = mentionned;
  730.       } else {
  731.           var client = message.author;
  732.  
  733.       }
  734. if (!profile[getvalueof.id]) profile[getvalueof.id] = {points: 0,reps: "NOT YET",credits: 1, level: 1,tite: "HypeLC User", rep: 0, lastDaily: "NOT COLLECTED"};
  735.             let Image = Canvas.Image,
  736.             canvas = new Canvas(300, 300),
  737.             ctx = canvas.getContext('2d');
  738.             fs.readFile("Super.png", function (err, Background) { //امتداد الصورة
  739.             if (err) return console.log(err);
  740.             let BG = Canvas.Image;
  741.             let ground = new Image;
  742.             ground.src = Background;
  743.             ctx.drawImage(ground, 0, 0, 300, 300); // حجم الصورة
  744.  
  745. })
  746.  
  747.  
  748.  
  749.                 let url = getvalueof.displayAvatarURL.endsWith(".webp") ? getvalueof.displayAvatarURL.slice(5, -20) + ".png" : getvalueof.displayAvatarURL;
  750.                 jimp.read(url, (err, ava) => {
  751.                     if (err) return console.log(err);
  752.                     ava.getBuffer(jimp.MIME_PNG, (err, buf) => {
  753.                         if (err) return console.log(err);
  754.  
  755.                         //ur name
  756.                         ctx.font = 'bold 16px kathen'; // حجم الخط و نوعه
  757.                         ctx.fontSize = '40px'; // عرض الخط
  758.                         ctx.fillStyle = "#000000"; // لون الخط
  759.                         ctx.textAlign = "center"; // محاذا ة النص
  760.                         ctx.fillText(`${getvalueof.username}`, 153, 173) // احداثيات اسمك
  761.  
  762.                         //ur name
  763.                         ctx.font = 'bold 16px kathen'; // حجم الخط و نوعه
  764.                         ctx.fontSize = '40px'; // عرض الخط
  765.                         ctx.fillStyle = "#f1f1f1"; // لون الخط
  766.                         ctx.textAlign = "center"; // محاذا ة النص
  767.                         ctx.fillText(`${getvalueof.username}`, 151, 171) // احداثيات اسمك
  768.  
  769.                         //credit
  770.                         ctx.font = "bold 12px kathen" // نوع الخط وحجمه
  771.                         ctx.fontSize = '10px'; // عرض الخط
  772.                         ctx.fillStyle = "#f1f1f1" // لون الخط
  773.                         ctx.textAlign = "center"; // محاذا ة النص
  774.                         ctx.fillText(`$${profile[getvalueof.id].credits}`, 81, 159) // احداثيات المصاري
  775.  
  776.                         //poits
  777.                         ctx.font = "bold 12px kathen" // ن
  778.                         ctx.fontSize = '10px'; // عرض الخطوع الخط وحجمه
  779.                         ctx.fillStyle = "#f1f1f1" // لون الخط
  780.                         ctx.textAlign = "center"; // محاذا ة النص
  781.                         ctx.fillText(`${profile[getvalueof.id].points}`, 221, 159) // احداثيات النقاط
  782.  
  783.                         //Level
  784.                         ctx.font = "bold 27px kathen" // نوع الخط و حجمه
  785.                         ctx.fontSize = '10px'; // عرض الخط
  786.                         ctx.fillStyle = "#f1f1f1" // لون الخط
  787.                         ctx.textAlign = "center"; // محاذا ة النص
  788.                         ctx.fillText(`${profile[getvalueof.id].level}`, 221, 118) // احداثيات اللفل
  789.  
  790.                          //info
  791.                         ctx.font = "bold 12px kathen" // ن
  792.                         ctx.fontSize = '15px'; // عرض الخطوع الخط وحجمه
  793.                         ctx.fillStyle = "#000000" // لون الخط
  794.                         ctx.textAlign = "center"; // محاذا ة النص
  795.                         ctx.fillText(`${profile[getvalueof.id].tite}`, 150, 199) // احداثيات النقاط
  796.  
  797.                         //info
  798.                         ctx.font = "bold 12px kathen" // ن
  799.                         ctx.fontSize = '15px'; // عرض الخطوع الخط وحجمه
  800.                         ctx.fillStyle = "#f1f1f1" // لون الخط
  801.                         ctx.textAlign = "center"; // محاذا ة النص
  802.                         ctx.fillText(`${profile[getvalueof.id].tite}`, 150, 197) // احداثيات النقاط
  803.  
  804.                         // REP
  805.                         ctx.font = "bold 26px  kathen";
  806.                         ctx.fontSize = "50px";
  807.                         ctx.fillStyle = "#f1f1f1";
  808.                         ctx.textAlign = "center";
  809.                         ctx.fillText(`+${profile[getvalueof.id].rep}`, 80,117)
  810.  
  811.                         let Avatar = Canvas.Image;
  812.                         let ava = new Avatar;
  813.  
  814. ava.src = buf;
  815.                         ctx.beginPath();
  816.                         ctx.arc(75, 100, 780, 0, Math.PI*2, true);
  817.                         ctx.closePath();
  818.                         ctx.clip();
  819.                         ctx.drawImage(ava, 116, 82, 72, 72);
  820.  
  821. message.channel.startTyping()
  822. message.channel.sendFile(canvas.toBuffer())
  823. message.channel.stopTyping()
  824. })
  825. })
  826. }
  827. });
  828. function clean(text) {
  829.     if (typeof(text) === "string")
  830.       return text.replace(/`/g, "`" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
  831.     else
  832.         return text;
  833. }
  834.  
  835. client.on("ready", () => {
  836.   console.log("Vulnix | Logged in! Server count: ${client.guilds.size}");
  837.   client.user.setGame(`Support Magic |${prefix}new`);
  838. });
  839.  
  840.  
  841. client.on("message", (message) => {
  842.   if (!message.content.startsWith(prefix) || message.author.bot) return;
  843.  
  844.   if (message.content.toLowerCase().startsWith(prefix + `help`)) {
  845.     const embed = new Discord.RichEmbed()
  846.     .setTitle(`:mailbox_with_mail: Vulnix Help`)
  847.     .setColor(0xCF40FA)
  848.     .setDescription(`Hello! I'm Vulnix, the Discord bot for super cool support ticket stuff and more! Here are my commands:`)
  849.    .addField(`Tickets`, `[${prefix}new]() > Opens up a new ticket and tags the Support Team\n[${prefix}close]() > Closes a ticket that has been resolved or been opened by accident`)
  850.    .addField(`Other`, `[${prefix}help]() > Shows you this help menu your reading\n[${prefix}ping]() > Pings the bot to see how long it takes to react\n[${prefix}about]() > Tells you all about Vulnix`)
  851.    message.channel.send({ embed: embed });
  852.  }
  853.  
  854.  if (message.content.toLowerCase().startsWith(prefix + `ping`)) {
  855.    message.channel.send(`Hoold on!`).then(m => {
  856.    m.edit(`:ping_pong: Wew, made it over the ~waves~ ! **Pong!**\nMessage edit time is ` + (m.createdTimestamp - message.createdTimestamp) + `ms, Discord API heartbeat is ` + Math.round(client.ping) + `ms.`);
  857.    });
  858. }
  859.  
  860. if (message.content.toLowerCase().startsWith(prefix + `new`)) {
  861.    const reason = message.content.split(" ").slice(1).join(" ");
  862.    if (!message.guild.roles.exists("name", "Support Team")) return message.channel.send(`This server doesn't have a \`Support Team\` role made, so the ticket won't be opened.\nIf you are an administrator, make one with that name exactly and give it to users that should be able to see tickets.`);
  863.    if (message.guild.channels.exists("name", "ticket-" + message.author.id)) return message.channel.send(`You already have a ticket open.`);
  864.    message.guild.createChannel(`ticket-${message.author.id}`, "text").then(c => {
  865.        let role = message.guild.roles.find("name", "Support Team");
  866.        let role2 = message.guild.roles.find("name", "@everyone");
  867.        c.overwritePermissions(role, {
  868.            SEND_MESSAGES: true,
  869.            READ_MESSAGES: true
  870.        });
  871.        c.overwritePermissions(role2, {
  872.            SEND_MESSAGES: false,
  873.            READ_MESSAGES: false
  874.        });
  875.        c.overwritePermissions(message.author, {
  876.            SEND_MESSAGES: true,
  877.            READ_MESSAGES: true
  878.        });
  879.        message.channel.send(`:white_check_mark: Your ticket has been created, #${c.name}.`);
  880.        const embed = new Discord.RichEmbed()
  881.        .setColor(0xCF40FA)
  882.        .addField(`Hey ${message.author.username}!`, `Please try explain why you opened this ticket with as much detail as possible. Our **Support Team** will be here soon to help.`)
  883.        .setTimestamp();
  884.        c.send({ embed: embed });
  885.    }).catch(console.error);
  886. }
  887. if (message.content.toLowerCase().startsWith(prefix + `close`)) {
  888.    if (!message.channel.name.startsWith(`ticket-`)) return message.channel.send(`You can't use the close command outside of a ticket channel.`);
  889.  
  890.     message.channel.send(`Are you sure? Once confirmed, you cannot reverse this action!\nTo confirm, type \`-confirm\`. This will time out in 10 seconds and be cancelled.`)
  891.     .then((m) => {
  892.       message.channel.awaitMessages(response => response.content === '-confirm', {
  893.         max: 1,
  894.         time: 10000,
  895.         errors: ['time'],
  896.       })
  897.       .then((collected) => {
  898.           message.channel.delete();
  899.         })
  900.         .catch(() => {
  901.           m.edit('Ticket close timed out, the ticket was not closed.').then(m2 => {
  902.               m2.delete();
  903.           }, 3000);
  904.         });
  905.     });
  906. }
  907.  
  908. });
  909. client.on('message', message => {
  910.    
  911.    
  912.         if (message.author.id === client.user.id) return;
  913.         if (message.guild) {
  914.        let embed = new Discord.RichEmbed()
  915.         let args = message.content.split(' ').slice(1).join(' ');
  916.     if(message.content.split(' ')[0] == prefix + 'bc') {
  917.         if (!args[1]) {
  918.     message.channel.send("**اكتب شي بعد الكوماند**");
  919.     return;
  920.     }
  921.             message.guild.members.forEach(m => {
  922.        if(!message.member.hasPermission('ADMINISTRATOR')) return;
  923.                 var bc = new Discord.RichEmbed()
  924.                 .addField('» السيرفر :', `${message.guild.name}`)
  925.                 .addField('» المرسل : ', `${message.author.username}#${message.author.discriminator}`)
  926.                 .addField(' » الرسالة : ', args)
  927.                 .setColor('#ff0000')
  928.                 // m.send(`[${m}]`);
  929.                 m.send(`${m}`,{embed: bc});
  930.             });
  931.         }
  932.         } else {
  933.             return;
  934.         }
  935.     });
  936. var antispam = require("anti-spam"); //npm i anti-spam
  937.  
  938. antispam(client, {
  939.   warnBuffer: 3, //الحد الأقصى المسموح به من الرسائل لإرسالها في الفاصل الزمني قبل الحصول على تحذير.
  940.   maxBuffer: 5, // الحد الأقصى المسموح به من الرسائل لإرسالها في الفاصل الزمني قبل الحصول على ميوت.
  941.   interval: 1000, // مقدار الوقت قبل حصول باند
  942.   warningMessage: "stop spamming.", // رسالة تحذير اذا سوا سبام!
  943.   roleMessage: "Muted!!", // الرسالة الي تجي اذا شخص اخذ ميوت
  944.   roleName: "Muted", // اسم رتبة الميوت
  945.   maxDuplicatesWarning: 7, // عدد الرسايل الي قبل التحذيرات
  946.   maxDuplicatesBan: 10, // عدد الرسايل الي يقدر المستخدم يرسلها قبل الميوت
  947.   time: 10, // عدد الوقت الي يجلس لين تسحب رتبة الميوت من الشخص الحسبة برمجية وليست كتابية
  948. });
  949. client.on('message',async message => {
  950.    
  951.  
  952.   var time = moment().format('Do MMMM YYYY , hh:mm');
  953.   var room;
  954.   var title;
  955.   var duration;
  956.   var currentTime = new Date(),
  957. hours = currentTime.getHours() + 3 ,
  958. minutes = currentTime.getMinutes(),
  959. done = currentTime.getMinutes() + duration,
  960. seconds = currentTime.getSeconds();
  961. if (minutes < 10) {
  962. minutes = "0" + minutes;
  963. }
  964. var suffix = "AM";
  965. if (hours >= 12) {
  966. suffix = "PM";
  967. hours = hours - 12;
  968. }
  969. if (hours == 0) {
  970. hours = 12;
  971. }
  972.  
  973.   var filter = m => m.author.id === message.author.id;
  974.   if(message.content.startsWith(prefix + "gstart")) { // الامر
  975.  
  976.     if(!message.guild.member(message.author).hasPermission('MANAGE_GUILD')) return message.channel.send(':heavy_multiplication_x:| **يجب أن يكون لديك خاصية التعديل على السيرفر**');
  977.     message.channel.send(`:eight_pointed_black_star:| **Send Name channel For the Giveaway**`).then(msg => {
  978.       message.channel.awaitMessages(filter, {
  979.         max: 1,
  980.         time: 20000,
  981.         errors: ['time']
  982.       }).then(collected => {
  983.         let room = message.guild.channels.find('name' , collected.first().content);
  984.         if(!room) return message.channel.send(':heavy_multiplication_x:| **i Found It :(**');
  985.         room = collected.first().content;
  986.         collected.first().delete();
  987.         msg.edit(':eight_pointed_black_star:| **Time For The Giveaway**').then(msg => {
  988.           message.channel.awaitMessages(filter, {
  989.             max: 1,
  990.             time: 20000,
  991.             errors: ['time']
  992.           }).then(collected => {
  993.             if(!collected.first().content.match(/[1-60][s,m,h,d,w]/g)) return message.channel.send('**The Bot Not Support This Time**');
  994.             duration = collected.first().content
  995.             collected.first().delete();
  996.             msg.edit(':eight_pointed_black_star:| **Now send The Present **').then(msg => {
  997.               message.channel.awaitMessages(filter, {
  998.                 max: 1,
  999.                 time: 20000,
  1000.                 errors: ['time']
  1001.               }).then(collected => {
  1002.                 title = collected.first().content;
  1003.                 collected.first().delete();
  1004.                 msg.delete();
  1005.                 message.delete();
  1006.                 try {
  1007.                   let giveEmbed = new Discord.RichEmbed()
  1008.                   .setDescription(`**${title}** \nReact With 🎉 To Enter! \nTime remaining : ${duration} \n **Created at :** ${hours}:${minutes}:${seconds} ${suffix}`)
  1009.                   .setFooter(message.author.username, message.author.avatarURL);
  1010.                   message.guild.channels.find("name" , room).send(' :heavy_check_mark: **Giveaway Created** :heavy_check_mark:' , {embed: giveEmbed}).then(m => {
  1011.                      let re = m.react('🎉');
  1012.                      setTimeout(() => {
  1013.                        let users = m.reactions.get("🎉").users
  1014.                        let list = users.array().filter(u => u.id !== m.author.id !== client.user.id);
  1015.                        let gFilter = list[Math.floor(Math.random() * list.length) + 0]
  1016.                        let endEmbed = new Discord.RichEmbed()
  1017.                        .setAuthor(message.author.username, message.author.avatarURL)
  1018.                        .setTitle(title)
  1019.                        .addField('Giveaway Ended !🎉',`Winners : ${gFilter} \nEnded at :`)
  1020.                        .setTimestamp()
  1021.                      m.edit('** 🎉 GIVEAWAY ENDED 🎉**' , {embed: endEmbed});
  1022.                     message.guild.channels.find("name" , room).send(`**Congratulations ${gFilter}! You won The \`${title}\`**` , {embed: {}})
  1023.                 }, ms(duration));
  1024.             });
  1025.                 } catch(e) {
  1026.                 message.channel.send(`:heavy_multiplication_x:| **i Don't Have Prem**`);
  1027.                  console.log(e);
  1028.                }
  1029.              });
  1030.            });
  1031.          });
  1032.        });
  1033.      });
  1034.    });
  1035.  }
  1036. });
  1037.  
  1038. client.login("token");  // توكن حقق
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement