gaber-elsayed

Prince Bot

Feb 1st, 2020
655
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 106.36 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const devs = ['455653515881218048','519312154558464021',''];
  3. const prefix = "t";
  4. const adminprefix = "-v"
  5. const db = require('quick.db');
  6. const client = new Discord.Client();
  7. const giphy = require('giphy-api')();
  8. const googl = require('goo.gl');
  9. const translate = require('google-translate-api');
  10. const fs = require("fs");
  11. const canvas = require("canvas");
  12. const getYoutubeID = require('get-youtube-id');
  13. const moment = require("moment");
  14. const { Client, Util } = require('discord.js');
  15. const UserBlocked = new Set();
  16. const jimp = require('jimp');
  17. const math = require('math-expression-evaluator');
  18. const stripIndents = require('common-tags').stripIndents;
  19. const figlet = require('figlet');
  20. const google = require('google-it');
  21. const queue = new Map();
  22. const zalgo = require('zalgolize');
  23. const fetchVideoInfo = require('youtube-info');
  24. const YouTube = require('simple-youtube-api');
  25. const ytdl = require('ytdl-core');
  26. const youtube = new YouTube("AIzaSyAdORXg7UZUo7sePv97JyoDqtQVi3Ll0b8");
  27. const sql = require("sqlite");
  28. const dateFormat = require('dateformat');
  29. const pretty = require('pretty-ms')
  30.  
  31.  
  32.  
  33. client.on('ready', () => {
  34. console.log(`Logged in as ${client.user.tag}!`);
  35. console.log('')
  36. console.log('')
  37. console.log('?[?????????????????????????????????????????????????????????????????]?')
  38. console.log(`[Start] ${new Date()}`);
  39. console.log('?[?????????????????????????????????????????????????????????????????]?')
  40. console.log('')
  41. console.log('?[?????????????????????????????????????]?');
  42. console.log(`Logged in as * [ " ${client.user.username} " ]`);
  43. console.log('')
  44. console.log(`Informations About ${client.user.username}:`)
  45. console.log('')
  46. console.log(`Servers! [ " ${client.guilds.size} " ]`);
  47. console.log(`Users! [ " ${client.users.size} " ]`);
  48. console.log(`Channels! [ " ${client.channels.size} " ]`);
  49. console.log(`Arch! [ " ${process.arch} " ]`);
  50. console.log(`Platform! [ " ${process.platform} " ]`);
  51. console.log(`Node Version! [ " ${process.version}" ]`);
  52. console.log(`Prefix! [ " ${prefix}" ]`);
  53. console.log(`Language! [ " NodeJS " ]`);
  54. console.log(`Ram Usage! [ " ${(process.memoryUsage().rss / 1048576).toFixed()}MB " ]`);
  55. console.log('?[????????????????????????????????????]?')
  56. console.log('')
  57. console.log('?[????????????]?')
  58. console.log(`${client.user.username} Is Online`)
  59. console.log('?[????????????]?')
  60. console.log('')
  61. console.log('?[????????????]?')
  62. console.log('Created By: Prince Bot™ ')
  63. console.log('?[????????????]?')
  64. });
  65.  
  66.  
  67.  
  68. // // // // // // // // //
  69.  
  70. let antibots = JSON.parse(fs.readFileSync('./antibots.json' , 'utf8'));//require antihack.json file
  71. client.on('message', message => {
  72. if(message.content.startsWith(prefix + "antibots on")) {
  73. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  74. if(message.author.id !== message.guild.ownerID) return message.channel.send('**Sorry but you must be the server owner to use this command!**' );
  75. antibots[message.guild.id] = {
  76. onoff: 'On',
  77. }
  78. message.channel.send(`**AntiBots On**`)
  79. fs.writeFile("./antibots.json", JSON.stringify(antibots), (err) => {
  80. if (err) console.error(err)
  81. .catch(err => {
  82. console.error(err);
  83. });
  84. });
  85. }
  86.  
  87.  
  88. if(message.content.startsWith(prefix + "antibots off")) {
  89. if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
  90. if(message.author.id !== message.guild.ownerID) return message.channel.send('**Sorry but you must be the server owner to use this command!**' );antibots[message.guild.id] = {
  91. onoff: 'Off',
  92. }
  93. message.channel.send(`**AntiBots Off**`)
  94. fs.writeFile("./antibots.json", JSON.stringify(antibots), (err) => {
  95. if (err) console.error(err)
  96. .catch(err => {
  97. console.error(err);
  98. });
  99. });
  100. }
  101.  
  102. })
  103.  
  104. client.on("guildMemberAdd", member => {
  105. if(!antibots[member.guild.id]) antibots[member.guild.id] = {
  106. onoff: 'Off'
  107. }
  108. if(antibots[member.guild.id].onoff === 'Off') return;
  109. if(member.user.bot) return member.kick()
  110. })
  111.  
  112. fs.writeFile("./antibots.json", JSON.stringify(antibots), (err) => {
  113. if (err) console.error(err)
  114. .catch(err => {
  115. console.error(err);
  116. });
  117. })
  118.  
  119.  
  120.  
  121.  
  122.  
  123. // // // // // // // // // // // // // // // // //
  124.  
  125.  
  126. client.on('message', message => {
  127. if (message.content.startsWith(prefix + 'help')) { /// This is The DMS Code Send The Help In DMS // Code By NotGucci
  128. let pages = [`
  129. ***__ All Rights Are Save__***
  130. **
  131. ... Prince Bot™ :gear:? ...
  132. برنس بوت :gear:? : هو بوت يحتوي علي الكثير من الميزات القوية مثل ( مضاد الجحفله ) كم انه يعمل علي خوادم مستقله لمدة 24 ساعة با استمرار :fire:
  133. • BY Prince Team •
  134. **
  135. ***__ •>قائمة الاومر :gear: <•__***
  136. **
  137. ?-----------------------------------------?
  138. الاوامر العامة :globe_with_meridians: •
  139. > | -Diamond : التحويل ومعرفة الرصيد
  140. > | -daily : الحصول على الكريدت اليومي
  141. > | -mcskin : لعرض اسكنك في ماين كرافت
  142. > | -bot : معلومات البوت
  143. > | -new : لفتح تذكرة
  144. > | -id : معلومات عن حسابك الشخصي
  145. > | -avatar : يعرض لك صورتك الشخصية
  146. > | -image : يعرض لك صورة السيرفر
  147. > | -count : عدد الاشخاص في السيرفر
  148. > | -emojis : ايموجيات السيرفر
  149. > | -ping لمعرفه سرعه اتصال البوت
  150. ?-----------------------------------------?
  151. الاوامر الاداريه :lock: •
  152. > | -setleave : لتحديد رساله عند خروج العضو من السيرفر
  153. > | -setphoto : لتحديد روم للصور فقط
  154. > | -togglephoto : لتفعيل والغاء روم تحديد الصور
  155. > | -infophoto : معلومات عن روم تحديد الصور
  156. > | - SetRivex : (لانشاء رينبو (الوان متحركة
  157. > | -ccolors :لمسح جميع الالوان
  158. > | -server : معلومات حول السيرفر
  159. > | -autorole : اعطاء رتبة تلقائي عند دخول الشخص للسيرفر
  160. > | -bc : رساله جماعيه لجميع اعضاء السيرفر
  161. > | -offroom : قفل المحادثة في الروم
  162. > | -onroom : فتح المحادثة في الروم
  163. > | -move : لسحب شخص الي رومك الصوتي
  164. > | -mvall : لسحب الجميع الي روومك
  165. > | -ban : حضر عضو من السيرفر
  166. > | -kick : طرد عضو من السيرفر
  167. > | -mute : اعضاء ميوت كتابي و صوتي لعضو في السيرفر
  168. > | -unmute : لفك الميوت عن الشخص
  169. > | -clear : مسح الرسائل الموجوده في الروم بعدد او بدون
  170. ?-----------------------------------------?
  171. أوامر الحماية :shield: •
  172. > | -antibots <on/off> : لمنع دخول البوتات للسيرفر
  173. ?-----------------------------------------?
  174. أوامر اخرى :link: •
  175. > | -sup : لترى سيرفر المساعدة
  176. > | -inv : لدعوت البوت الي سيرفرك
  177. **
  178. `]
  179. let page = 1;
  180.  
  181. let embed = new Discord.RichEmbed()
  182. .setColor('RANDOM')
  183. .setFooter(`Page ${page} of ${pages.length}`)
  184. .setDescription(pages[page-1])
  185.  
  186. message.author.sendEmbed(embed).then(msg => {
  187.  
  188. msg.react('?').then( r => {
  189. msg.react('?')
  190.  
  191.  
  192. const backwardsFilter = (reaction, user) => reaction.emoji.name === '?' && user.id === message.author.id;
  193. const forwardsFilter = (reaction, user) => reaction.emoji.name === '?' && user.id === message.author.id;
  194.  
  195.  
  196. const backwards = msg.createReactionCollector(backwardsFilter, { time: 2000000});
  197. const forwards = msg.createReactionCollector(forwardsFilter, { time: 2000000});
  198.  
  199.  
  200.  
  201. backwards.on('collect', r => {
  202. if (page === 1) return;
  203. page--;
  204. embed.setDescription(pages[page-1]);
  205. embed.setFooter(`Page ${page} of ${pages.length}`);
  206. msg.edit(embed)
  207. })
  208. forwards.on('collect', r => {
  209. if (page === pages.length) return;
  210.  
  211. page++;
  212. embed.setDescription(pages[page-1]);
  213. embed.setFooter(`Page ${page} of ${pages.length}`);
  214. msg.edit(embed)
  215. })
  216. })
  217. })
  218. }
  219. });
  220. client.on('message', message => {
  221. if (message.content === (prefix + "help")) {
  222. let embed = new Discord.RichEmbed()
  223. .setAuthor(message.author.username)
  224. .setColor("#8650a7")
  225. .addField("Done" , "** :ballot_box_with_check:Check Your Dm **")
  226. message.channel.sendEmbed(embed);
  227. }
  228. });
  229.  
  230.  
  231. // // // // // // // // // // // // // // // // //
  232.  
  233. client.on('message',async message => {
  234. if(message.content.startsWith(prefix + "setVoice")) {
  235. if(!message.guild.member(message.author).hasPermissions('MANAGE_CHANNELS')) return message.reply('? **ليس لديك الصلاحيات الكافية**');
  236. if(!message.guild.member(client.user).hasPermissions(['MANAGE_CHANNELS','MANAGE_ROLES_OR_PERMISSIONS'])) return message.reply('? **ليس معي الصلاحيات الكافية**');
  237. message.channel.send('?| **تم عمل الروم بنجاح**');
  238. message.guild.createChannel(`Voice Online : [ ${message.guild.members.filter(m => m.voiceChannel).size} ]` , 'voice').then(c => {
  239. console.log(`Voice online channel setup for guild: \n ${message.guild.name}`);
  240. c.overwritePermissions(message.guild.id, {
  241. CONNECT: false,
  242. SPEAK: false
  243. });
  244. setInterval(function() {
  245. c.setName(`Voice Online : [ ${message.guild.members.filter(m => m.voiceChannel).size} ]`)
  246. },1000);
  247. });
  248. }
  249. });
  250.  
  251. client.on('message',async message => {
  252. if(message.content.startsWith(prefix + "setCount")) {
  253. if(!message.guild.member(message.author).hasPermissions('MANAGE_CHANNELS')) return message.reply('? **ليس لديك الصلاحيات الكافية**');
  254. if(!message.guild.member(client.user).hasPermissions(['MANAGE_CHANNELS','MANAGE_ROLES_OR_PERMISSIONS'])) return message.reply('? **ليس معي الصلاحيات الكافية**');
  255. message.channel.send('?| **تم عمل الروم بنجاح**');
  256. message.guild.createChannel(`Members Count : [ ${message.guild.members.size} ]` , 'voice').then(c => {
  257. console.log(`Count Members channel setup for guild: \n ${message.guild.name}`);
  258. c.overwritePermissions(message.guild.id, {
  259. CONNECT: false,
  260. SPEAK: false
  261. });
  262. setInterval(function() {
  263. c.setName(`Members Count : [ ${message.guild.members.size} ]`)
  264. },1000);
  265. });
  266. }
  267. });
  268.  
  269.  
  270. client.on('message',async message => {
  271. if(message.content.startsWith(prefix + "setTime")) {
  272. if(!message.guild.member(message.author).hasPermission('MANAGE_CHANNELS')) return message.reply('? **ليس لديك الصلاحيات الكافية**');
  273. if(!message.guild.member(client.user).hasPermission(['MANAGE_CHANNELS','MANAGE_ROLES_OR_PERMISSIONS'])) return message.reply('? **ليس معي الصلاحيات الكافية**');
  274. message.channel.send('?| **تم عمل الروم بنجاح**');
  275. message.guild.createChannel("?? - Time 00", 'voice').then((c) => {
  276. console.log(`Time channel setup for guild: \n ${message.guild.name}`);
  277. c.overwritePermissions(message.guild.id, {
  278. CONNECT: false,
  279. SPEAK: false
  280. });
  281. setInterval(function() {
  282.  
  283. var currentTime = new Date(),
  284. hours = currentTime.getHours() + 3 ,
  285. minutes = currentTime.getMinutes(),
  286. seconds = currentTime.getSeconds(),
  287. years = currentTime.getFullYear(),
  288. month = currentTime.getMonth(),
  289. day = currentTime.getDate(),
  290. week = currentTime.getDay();
  291.  
  292. if (minutes < 10) {
  293. minutes = "0" + minutes;
  294. }
  295. var suffix = "AM";
  296. if (hours >= 12) {
  297. suffix = "PM";
  298. hours = hours - 12;
  299. }
  300. if (hours == 0) {
  301. hours = 12;
  302. }
  303.  
  304. c.setName("?? - Time ?" + hours + ":" + minutes +" " + suffix + "?");
  305. },1000);
  306. });
  307. }
  308. });
  309.  
  310.  
  311.  
  312. client.on('message',async message => {
  313. if(message.content.startsWith(prefix + "setDate")) {
  314. var currentTime = new Date(),
  315. years = currentTime.getFullYear(),
  316. month = currentTime.getMonth() + 1,
  317. day = currentTime.getDate(),
  318. week = currentTime.getDay();
  319. if(!message.guild.member(message.author).hasPermissions('MANAGE_CHANNELS')) return message.reply('? **ليس لديك الصلاحيات الكافية**');
  320. if(!message.guild.member(client.user).hasPermissions(['MANAGE_CHANNELS','MANAGE_ROLES_OR_PERMISSIONS'])) return message.reply('? **ليس معي الصلاحيات الكافية**');
  321. message.channel.send('?| **تم عمل الروم بنجاح**');
  322. message.guild.createChannel("?? - Date " + "?" + day + "-" + month + "-" + years + "?" , 'voice').then(c => {
  323. console.log(`Date channel setup for guild: \n ${message.guild.name}`);
  324. c.overwritePermissions(message.guild.id, {
  325. CONNECT: false,
  326. SPEAK: false
  327. });
  328. setInterval(function() {
  329. c.setName("?? - Date " + "?" + day + "-" + month + "-" + years + "?")
  330. },1000);
  331. });
  332. }
  333. });
  334.  
  335. client.on('message',async message => {
  336. var moment = require('moment');
  337. if(message.content.startsWith(prefix + "setDays")) {
  338. if(!message.guild.member(message.author).hasPermissions('MANAGE_CHANNELS')) return message.reply('? **ليس لديك الصلاحيات الكافية**');
  339. if(!message.guild.member(client.user).hasPermissions(['MANAGE_CHANNELS','MANAGE_ROLES_OR_PERMISSIONS'])) return message.reply('? **ليس معي الصلاحيات الكافية**');
  340. message.channel.send('?| **تم عمل الروم بنجاح**');
  341. message.guild.createChannel(`Day : ${moment().format('dddd')}` , 'voice').then(c => {
  342. console.log(`Day channel setup for guild: \n ${message.guild.name}`);
  343. c.overwritePermissions(message.guild.id, {
  344. CONNECT: false,
  345. SPEAK: false
  346. });
  347. setInterval(function() {
  348. c.setName(`?? - Day : ?${moment().format('dddd')}?`);
  349. },1000);
  350. });
  351. }
  352. });
  353.  
  354.  
  355.  
  356. // // // // // // // // // // // // // // // // //
  357.  
  358. client.on("guildCreate", () => {
  359. client.user.setActivity(`${prefix}help | Server :${client.guilds.size} `,'https://www.twitch.tv/2');
  360. });
  361. client.on("guildDelete", () => {
  362. client.user.setActivity(`${prefix}help | Server :${client.guilds.size} `,'https://www.twitch.tv/3');
  363. });
  364.  
  365.  
  366. ////////////////////////////////////////////////////////////////////////////
  367.  
  368. client.on('message', message => {
  369. if(message.content.startsWith(prefix +"server")){
  370. if(!message.channel.guild) return message.reply(' ');
  371. const millis = new Date().getTime() - message.guild.createdAt.getTime();
  372. const now = new Date();
  373. dateFormat(now, 'dddd, mmmm dS, yyyy, h:MM:ss TT');
  374. const verificationLevels = ['None', 'Low', 'Medium', 'Insane', 'Extreme'];
  375. const days = millis / 1000 / 60 / 60 / 24;
  376. let roles = client.guilds.get(message.guild.id).roles.map(r => r.name);
  377. var embed = new Discord.RichEmbed()
  378. .setAuthor(message.guild.name, message.guild.iconURL)
  379. .addField("**?? Server ID:**", message.guild.id,true)
  380. .addField("**?? Created On**", message.guild.createdAt.toLocaleString(),true)
  381. .addField("**?? Owned by**",`${message.guild.owner.user.username}#${message.guild.owner.user.discriminator}`)
  382. .addField("?? Members ",`[${message.guild.memberCount}]`,true)
  383. .addField('**?? Channels **',`**${message.guild.channels.filter(m => m.type === 'text').size}**` + ' text | Voice '+ `**${message.guild.channels.filter(m => m.type === 'voice').size}** `,true)
  384. .addField("**?? Others **" , message.guild.region,true)
  385. .addField("** ?? Roles **",`**[${message.guild.roles.size}]** Role `,true)
  386. .setColor('#000000')
  387. message.channel.sendEmbed(embed)
  388.  
  389. }
  390. });
  391.  
  392.  
  393. ////////////////////////////////////////////////////////////////////////////
  394.  
  395. client.on('message', message => {
  396. if(!message.channel.guild) return;
  397. if(message.content.startsWith(prefix + 'move')) {
  398. if (message.member.hasPermission("MOVE_MEMBERS")) {
  399. if (message.mentions.users.size === 0) {
  400. return message.channel.send("``لاستخدام الأمر اكتب هذه الأمر : " +prefix+ "move [USER]``")
  401. }
  402. if (message.member.voiceChannel != null) {
  403. if (message.mentions.members.first().voiceChannel != null) {
  404. var authorchannel = message.member.voiceChannelID;
  405. var usermentioned = message.mentions.members.first().id;
  406. var embed = new Discord.RichEmbed()
  407. .setTitle("Succes!")
  408. .setColor("#000000")
  409. .setDescription(`لقد قمت بسحب <@${usermentioned}> الى الروم الصوتي الخاص بك? `)
  410. var embed = new Discord.RichEmbed()
  411. .setTitle(`You are Moved in ${message.guild.name}`)
  412. .setColor("RANDOM")
  413. .setDescription(`**<@${message.author.id}> Moved You To His Channel!\nServer --> ${message.guild.name}**`)
  414. message.guild.members.get(usermentioned).setVoiceChannel(authorchannel).then(m => message.channel.send(embed))
  415. message.guild.members.get(usermentioned).send(embed)
  416. } else {
  417. message.channel.send("``لا تستطيع سحب "+ message.mentions.members.first() +" `يجب ان يكون هذه العضو في روم صوتي`")
  418. }
  419. } else {
  420. message.channel.send("**``يجب ان تكون في روم صوتي لكي تقوم بسحب العضو أليك``**")
  421. }
  422. } else {
  423. message.react("?")
  424. }}});
  425.  
  426. ////////////////////////////////////////////////////////////////////////////
  427.  
  428. client.on('message', message => {
  429. if (!message.channel.guild) return;
  430. if(message.content =='_count')
  431. var IzRo = new Discord.RichEmbed()
  432. .setThumbnail(message.author.avatarURL)
  433. .setFooter(message.author.username, message.author.avatarURL)
  434. .setTitle(':tulip:| Members info')
  435. .addBlankField(true)
  436. .addField('عدد اعضاء السيرفر',`${message.guild.memberCount}`)
  437. message.channel.send(IzRo);
  438. });
  439.  
  440. ////////////////////////////////////////////////////////////////////////////
  441.  
  442. client.on('message', async message =>{
  443. if (message.author.boss) return;
  444.  
  445. if (!message.content.startsWith(prefix)) return;
  446. let command = message.content.split(" ")[0];
  447. command = command.slice(prefix.length);
  448. let args = message.content.split(" ").slice(1);
  449. if (command == "mute") {
  450. if (!message.channel.guild) return;
  451. if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.reply("انت لا تملك صلاحيات !! ").then(msg => msg.delete(5000));
  452. if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("البوت لايملك صلاحيات ").then(msg => msg.delete(5000));;
  453. let user = message.mentions.users.first();
  454. let muteRole = message.guild.roles.find("name", "Muted");
  455. if (!muteRole) return message.reply("** لا يوجد رتبة الميوت 'Muted' **").then(msg => {msg.delete(5000)});
  456. if (message.mentions.users.size < 1) return message.reply('** يجب عليك المنشن اولاً **').then(msg => {msg.delete(5000)});
  457. let reason = message.content.split(" ").slice(2).join(" ");
  458. message.guild.member(user).addRole(muteRole);
  459. const muteembed = new Discord.RichEmbed()
  460. .setColor("RANDOM")
  461. .setAuthor(`Muted!`, user.displayAvatarURL)
  462. .setThumbnail(user.displayAvatarURL)
  463. .addField("**:busts_in_silhouette: المستخدم**", '**[ ' + `${user.tag}` + ' ]**',true)
  464. .addField("**:hammer: تم بواسطة **", '**[ ' + `${message.author.tag}` + ' ]**',true)
  465. .addField("**:book: السبب**", '**[ ' + `${reason}` + ' ]**',true)
  466. .addField("User", user, true)
  467. message.channel.send({embed : muteembed});
  468. var muteembeddm = new Discord.RichEmbed()
  469. .setAuthor(`Muted!`, user.displayAvatarURL)
  470. .setDescription(`
  471. ${user} انت معاقب بميوت كتابي بسبب مخالفة القوانين
  472. ${message.author.tag} تمت معاقبتك بواسطة
  473. [ ${reason} ] : السبب
  474. اذا كانت العقوبة عن طريق الخطأ تكلم مع المسؤلين
  475. `)
  476. .setFooter(`في سيرفر : ${message.guild.name}`)
  477. .setColor("RANDOM")
  478. user.send( muteembeddm);
  479. }
  480. if(command === `unmute`) {
  481. if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.sendMessage("**ليس لديك صلاحية لفك عن الشخص ميوت**:x: ").then(m => m.delete(5000));
  482. if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("**ما عندي برمشن**").then(msg => msg.delete(6000))
  483.  
  484. let toMute = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
  485. if(!toMute) return message.channel.sendMessage("**عليك المنشن أولاّ**:x: ");
  486.  
  487. let role = message.guild.roles.find (r => r.name === "Muted");
  488.  
  489. if(!role || !toMute.roles.has(role.id)) return message.channel.sendMessage("**لم يتم اعطاء هذه شخص ميوت من الأساس**:x:")
  490.  
  491. await toMute.removeRole(role)
  492. message.channel.sendMessage("**لقد تم فك الميوت عن شخص بنجاح**:white_check_mark:");
  493.  
  494. return;
  495.  
  496. }
  497.  
  498. });
  499.  
  500.  
  501.  
  502.  
  503.  
  504. client.on('message', async message =>{
  505. if (message.author.boss) return;
  506.  
  507. if (!message.content.startsWith(prefix)) return;
  508. let command = message.content.split(" ")[0];
  509. command = command.slice(prefix.length);
  510. let args = message.content.split(" ").slice(1);
  511. if (command == "اسكت") {
  512. if (!message.channel.guild) return;
  513. if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.reply("انت لا تملك صلاحيات !! ").then(msg => msg.delete(5000));
  514. if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("البوت لايملك صلاحيات ").then(msg => msg.delete(5000));;
  515. let user = message.mentions.users.first();
  516. let muteRole = message.guild.roles.find("name", "Muted");
  517. if (!muteRole) return message.reply("** لا يوجد رتبة الميوت 'Muted' **").then(msg => {msg.delete(5000)});
  518. if (message.mentions.users.size < 1) return message.reply('** يجب عليك المنشن اولاً **').then(msg => {msg.delete(5000)});
  519. let reason = message.content.split(" ").slice(2).join(" ");
  520. message.guild.member(user).addRole(muteRole);
  521. const muteembed = new Discord.RichEmbed()
  522. .setColor("RANDOM")
  523. .setAuthor(`Muted!`, user.displayAvatarURL)
  524. .setThumbnail(user.displayAvatarURL)
  525. .addField("**:busts_in_silhouette: المستخدم**", '**[ ' + `${user.tag}` + ' ]**',true)
  526. .addField("**:hammer: تم بواسطة **", '**[ ' + `${message.author.tag}` + ' ]**',true)
  527. .addField("**:book: السبب**", '**[ ' + `${reason}` + ' ]**',true)
  528. .addField("User", user, true)
  529. message.channel.send({embed : muteembed});
  530. var muteembeddm = new Discord.RichEmbed()
  531. .setAuthor(`Muted!`, user.displayAvatarURL)
  532. .setDescription(`
  533. ${user} انت معاقب بميوت كتابي بسبب مخالفة القوانين
  534. ${message.author.tag} تمت معاقبتك بواسطة
  535. [ ${reason} ] : السبب
  536. اذا كانت العقوبة عن طريق الخطأ تكلم مع المسؤلين
  537. `)
  538. .setFooter(`في سيرفر : ${message.guild.name}`)
  539. .setColor("RANDOM")
  540. user.send( muteembeddm);
  541. }
  542. if(command === `unmute`) {
  543. if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.sendMessage("**ليس لديك صلاحية لفك عن الشخص ميوت**:x: ").then(m => m.delete(5000));
  544. if(!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES")) return message.reply("**ما عندي برمشن**").then(msg => msg.delete(6000))
  545.  
  546. let toMute = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
  547. if(!toMute) return message.channel.sendMessage("**عليك المنشن أولاّ**:x: ");
  548.  
  549. let role = message.guild.roles.find (r => r.name === "Muted");
  550.  
  551. if(!role || !toMute.roles.has(role.id)) return message.channel.sendMessage("**لم يتم اعطاء هذه شخص ميوت من الأساس**:x:")
  552.  
  553. await toMute.removeRole(role)
  554. message.channel.sendMessage("**لقد تم فك الميوت عن شخص بنجاح**:white_check_mark:");
  555.  
  556. return;
  557.  
  558. }
  559.  
  560. });
  561.  
  562.  
  563.  
  564.  
  565. ////////////////////////////////////////////////////////////////////////////
  566. const superagent = require("superagent")
  567. client.on('message' , async (message) => {
  568. if (message.content.startsWith(prefix + 'هل')) {
  569.  
  570. let color = '0xffffff'
  571.  
  572. const { body } = await superagent
  573. .get('https://yesno.wtf/api/');
  574. if(body.answer === 'نعم') color = '0x01DF01';
  575. if(body.answer === 'لا') color = '0xFF0000';
  576. const embed = new Discord.RichEmbed()
  577. .setColor(color)
  578. .setImage(`${body.image}`)
  579. message.channel.send(`**جوابي علي سؤالك:** **${body.answer}**`, {embed});
  580.  
  581. }
  582. });
  583.  
  584. ////////////////////////////////////////////////////////////////////////////
  585.  
  586. client.on('message', message => {
  587. if (message.author.x5bz) return;
  588. if (!message.content.startsWith(prefix)) return;
  589.  
  590. let command = message.content.split(" ")[0];
  591. command = command.slice(prefix.length);
  592.  
  593. let args = message.content.split(" ").slice(1);
  594.  
  595. if (command == "ban") {
  596. if(!message.channel.guild) return message.reply('** This command only for servers**');
  597.  
  598. if(!message.guild.member(message.author).hasPermission("BAN_MEMBERS")) return message.reply("**You Don't Have ` BAN_MEMBERS ` Permission**");
  599. if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) return message.reply("**I Don't Have ` BAN_MEMBERS ` Permission**");
  600. let user = message.mentions.users.first();
  601. let reason = message.content.split(" ").slice(2).join(" ");
  602. /*let b5bzlog = client.channels.find("name", "5bz-log");
  603. if(!b5bzlog) return message.reply("I've detected that this server doesn't have a 5bz-log text channel.");*/
  604. if (message.mentions.users.size < 1) return message.reply("**منشن شخص**");
  605. if(!reason) return message.reply ("**اكتب سبب الطرد**");
  606. if (!message.guild.member(user)
  607. .bannable) return message.reply("**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**");
  608.  
  609. message.guild.member(user).ban(7, user);
  610.  
  611. const banembed = new Discord.RichEmbed()
  612. .setAuthor(`BANNED!`, user.displayAvatarURL)
  613. .setColor("RANDOM")
  614. .setTimestamp()
  615. .addField("**User:**", '**[ ' + `${user.tag}` + ' ]**')
  616. .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  617. .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  618. message.channel.send({
  619. embed : banembed
  620. })
  621. }
  622. });
  623.  
  624.  
  625. //-//-//-//
  626.  
  627.  
  628.  
  629. client.on('message', message => {
  630. if (message.author.x5bz) return;
  631. if (!message.content.startsWith(prefix)) return;
  632.  
  633. let command = message.content.split(" ")[0];
  634. command = command.slice(prefix.length);
  635.  
  636. let args = message.content.split(" ").slice(1);
  637.  
  638. if (command == "بان") {
  639. if(!message.channel.guild) return message.reply('** This command only for servers**');
  640.  
  641. if(!message.guild.member(message.author).hasPermission("BAN_MEMBERS")) return message.reply("**You Don't Have ` BAN_MEMBERS ` Permission**");
  642. if(!message.guild.member(client.user).hasPermission("BAN_MEMBERS")) return message.reply("**I Don't Have ` BAN_MEMBERS ` Permission**");
  643. let user = message.mentions.users.first();
  644. let reason = message.content.split(" ").slice(2).join(" ");
  645. /*let b5bzlog = client.channels.find("name", "5bz-log");
  646. if(!b5bzlog) return message.reply("I've detected that this server doesn't have a 5bz-log text channel.");*/
  647. if (message.mentions.users.size < 1) return message.reply("**منشن شخص**");
  648. if(!reason) return message.reply ("**اكتب سبب الطرد**");
  649. if (!message.guild.member(user)
  650. .bannable) return message.reply("**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**");
  651.  
  652. message.guild.member(user).ban(7, user);
  653.  
  654. const banembed = new Discord.RichEmbed()
  655. .setAuthor(`BANNED!`, user.displayAvatarURL)
  656. .setColor("RANDOM")
  657. .setTimestamp()
  658. .addField("**User:**", '**[ ' + `${user.tag}` + ' ]**')
  659. .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  660. .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  661. message.channel.send({
  662. embed : banembed
  663. })
  664. }
  665. });
  666.  
  667.  
  668. //////
  669.  
  670.  
  671.  
  672.  
  673. client.on('message', message => {
  674. if (message.author.x5bz) return;
  675. if (!message.content.startsWith(prefix)) return;
  676.  
  677. let command = message.content.split(" ")[0];
  678. command = command.slice(prefix.length);
  679.  
  680. let args = message.content.split(" ").slice(1);
  681.  
  682. if (command == "كيك") {
  683. if(!message.channel.guild) return message.reply('** This command only for servers**');
  684.  
  685. if(!message.guild.member(message.author).hasPermission("KICK_MEMBERS")) return message.reply("**You Don't Have ` KICK_MEMBERS ` Permission**");
  686. if(!message.guild.member(client.user).hasPermission("KICK_MEMBERS")) return message.reply("**I Don't Have ` KICK_MEMBERS ` Permission**");
  687. let user = message.mentions.users.first();
  688. let reason = message.content.split(" ").slice(2).join(" ");
  689. if (message.mentions.users.size < 1) return message.reply("**منشن شخص**");
  690. if(!reason) return message.reply ("**اكتب سبب الطرد**");
  691. if (!message.guild.member(user)
  692. .kickable) return message.reply("**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**");
  693.  
  694. message.guild.member(user).kick();
  695.  
  696. const kickembed = new Discord.RichEmbed()
  697. .setAuthor(`KICKED!`, user.displayAvatarURL)
  698. .setColor("RANDOM")
  699. .setTimestamp()
  700. .addField("**User:**", '**[ ' + `${user.tag}` + ' ]**')
  701. .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  702. .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  703. message.channel.send({
  704. embed : kickembed
  705. })
  706. }
  707. });
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729. client.on('message', message => {
  730. if (message.author.x5bz) return;
  731. if (!message.content.startsWith(prefix)) return;
  732.  
  733. let command = message.content.split(" ")[0];
  734. command = command.slice(prefix.length);
  735.  
  736. let args = message.content.split(" ").slice(1);
  737.  
  738. if (command == "kick") {
  739. if(!message.channel.guild) return message.reply('** This command only for servers**');
  740.  
  741. if(!message.guild.member(message.author).hasPermission("KICK_MEMBERS")) return message.reply("**You Don't Have ` KICK_MEMBERS ` Permission**");
  742. if(!message.guild.member(client.user).hasPermission("KICK_MEMBERS")) return message.reply("**I Don't Have ` KICK_MEMBERS ` Permission**");
  743. let user = message.mentions.users.first();
  744. let reason = message.content.split(" ").slice(2).join(" ");
  745. if (message.mentions.users.size < 1) return message.reply("**منشن شخص**");
  746. if(!reason) return message.reply ("**اكتب سبب الطرد**");
  747. if (!message.guild.member(user)
  748. .kickable) return message.reply("**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**");
  749.  
  750. message.guild.member(user).kick();
  751.  
  752. const kickembed = new Discord.RichEmbed()
  753. .setAuthor(`KICKED!`, user.displayAvatarURL)
  754. .setColor("RANDOM")
  755. .setTimestamp()
  756. .addField("**User:**", '**[ ' + `${user.tag}` + ' ]**')
  757. .addField("**By:**", '**[ ' + `${message.author.tag}` + ' ]**')
  758. .addField("**Reason:**", '**[ ' + `${reason}` + ' ]**')
  759. message.channel.send({
  760. embed : kickembed
  761. })
  762. }
  763. });
  764.  
  765.  
  766. ////////////////////////////////////////////////////////////////////////////
  767.  
  768. client.on('message', message => {
  769. if (message.content.startsWith(prefix + "id")) {
  770. var args = message.content.split(" ").slice(1);
  771. let user = message.mentions.users.first();
  772. var men = message.mentions.users.first();
  773. var heg;
  774. if(men) {
  775. heg = men
  776. } else {
  777. heg = message.author
  778. }
  779. var mentionned = message.mentions.members.first();
  780. var h;
  781. if(mentionned) {
  782. h = mentionned
  783. } else {
  784. h = message.member
  785. }
  786. moment.locale('ar-TN');
  787. var id = new Discord.RichEmbed()
  788. .setAuthor(message.author.username, message.author.avatarURL)
  789. .setColor("#707070")
  790. .addField(': دخولك لديسكورد قبل', `${moment(heg.createdTimestamp).format('YYYY/M/D HH:mm:ss')} **\n** \`${moment(heg.createdTimestamp).fromNow()}\`` ,true)
  791. .addField(': انضمامك لسيرفر قبل', `${moment(h.joinedAt).format('YYYY/M/D HH:mm:ss')} \n \`${moment(h.joinedAt).fromNow()}\``, true)
  792. .setFooter(`Prince Bot`, 'https://images-ext-2.discordapp.net/external/JpyzxW2wMRG2874gSTdNTpC_q9AHl8x8V4SMmtRtlVk/https/orcid.org/sites/default/files/files/ID_symbol_B-W_128x128.gif')
  793. .setThumbnail(heg.avatarURL);
  794. message.channel.send(id)
  795. } });
  796.  
  797.  
  798. ////////////////////////////////////////////////////////////////////////////
  799.  
  800. client.on('message', message => {
  801. if (message.content.startsWith("-avatar")) {
  802. if(!message.channel.guild) return;
  803. var mentionned = message.mentions.users.first();
  804. var client;
  805. if(mentionned){
  806. var client = mentionned; } else {
  807. var client = message.author;
  808. }
  809. const embed = new Discord.RichEmbed()
  810. .addField('Requested by:', "<@" + message.author.id + ">")
  811. .setColor(000000)
  812. .setImage(`${client.avatarURL}`)
  813. message.channel.sendEmbed(embed);
  814. }
  815. });
  816.  
  817. ////////////////////////////////////////////////////////////////////////////
  818.  
  819. client.on("message", message => {
  820. if(!message.channel.guild) return;
  821. if (message.author.bot) return;
  822.  
  823. let command = message.content.split(" ")[0];
  824.  
  825. if (command === prefix + "unmute") {
  826. if (!message.member.hasPermission('MANAGE_ROLES')) return message.reply(' Error : You Need `` MANAGE_ROLES ``Permission ').catch(console.error).then(message => message.delete(4000))
  827. let user = message.mentions.users.first();
  828. let modlog = client.channels.find('name', 'log');
  829. let muteRole = client.guilds.get(message.guild.id).roles.find('name', 'Muted');
  830. if (!muteRole) return message.reply(" I Can’t Find 'Muted' Role ").catch(console.error).then(message => message.delete(4000))
  831. if (message.mentions.users.size < 1) return message.reply(' Error : ``Mention a User``').catch(console.error).then(message => message.delete(4000))
  832. const embed = new Discord.RichEmbed()
  833. .setColor(0x00AE86)
  834. .setTimestamp()
  835. .addField('User Has Been UnMuted:', `${user.username}#${user.discriminator} (${user.id})`)
  836. .addField('By:', `${message.author.username}#${message.author.discriminator}`)
  837.  
  838. if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES_OR_PERMISSIONS')) return message.reply(' Error : I Don’t Have `` MANAGE_ROLES ``Permission').catch(console.error).then(message => message.delete(4000))
  839.  
  840. if (message.guild.member(user).removeRole(muteRole.id)) {
  841. return message.reply("User Has Been UnMuted.").catch(console.error).then(message => message.delete(4000))
  842. } else {
  843. message.guild.member(user).removeRole(muteRole).then(() => {
  844. return message.reply("User Has Been UnMuted.").catch(console.error).then(message => message.delete(4000))
  845. });
  846. }
  847.  
  848. };
  849.  
  850. });
  851.  
  852.  
  853.  
  854.  
  855. client.on("message", message => {
  856. if(!message.channel.guild) return;
  857. if (message.author.bot) return;
  858.  
  859. let command = message.content.split(" ")[0];
  860.  
  861. if (command === prefix + "اتكلم") {
  862. if (!message.member.hasPermission('MANAGE_ROLES')) return message.reply(' Error : You Need `` MANAGE_ROLES ``Permission ').catch(console.error).then(message => message.delete(4000))
  863. let user = message.mentions.users.first();
  864. let modlog = client.channels.find('name', 'log');
  865. let muteRole = client.guilds.get(message.guild.id).roles.find('name', 'Muted');
  866. if (!muteRole) return message.reply(" I Can’t Find 'Muted' Role ").catch(console.error).then(message => message.delete(4000))
  867. if (message.mentions.users.size < 1) return message.reply(' Error : ``Mention a User``').catch(console.error).then(message => message.delete(4000))
  868. const embed = new Discord.RichEmbed()
  869. .setColor(0x00AE86)
  870. .setTimestamp()
  871. .addField('User Has Been UnMuted:', `${user.username}#${user.discriminator} (${user.id})`)
  872. .addField('By:', `${message.author.username}#${message.author.discriminator}`)
  873.  
  874. if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES_OR_PERMISSIONS')) return message.reply(' Error : I Don’t Have `` MANAGE_ROLES ``Permission').catch(console.error).then(message => message.delete(4000))
  875.  
  876. if (message.guild.member(user).removeRole(muteRole.id)) {
  877. return message.reply("User Has Been UnMuted.").catch(console.error).then(message => message.delete(4000))
  878. } else {
  879. message.guild.member(user).removeRole(muteRole).then(() => {
  880. return message.reply("User Has Been UnMuted.").catch(console.error).then(message => message.delete(4000))
  881. });
  882. }
  883.  
  884. };
  885.  
  886. });
  887.  
  888.  
  889. ///////////////////////////////////////////////////////////////////////////
  890.  
  891. client.on('guildMemberAdd', member => {
  892. var Canvas = require('canvas') //npm i canvas
  893. var jimp = require('jimp') //npm i jimp
  894. var channel = member.guild.channels.find('name', 'welcome');
  895. if(!channel) return;
  896. channel.send('**Welcome** ' + `${member}` + ' **To** ' + `__${member.guild.name}__` + ' **Server** :two_hearts:')
  897.  
  898. })
  899.  
  900. client.on("guildMemberAdd", member => {
  901. member.createDM().then(function (channel) {
  902. return channel.send(`** :hearts: Welcome to the server :hearts:
  903. :grinning: member name --> __${member}__ :grinning:
  904. :bust_in_silhouette: You are a member number --> __${member.guild.memberCount}__ :bust_in_silhouette:
  905. :airplane: __${moment().format('HH:mm:ss A')}__ <-- Date of entry of the server ** :airplane: `)
  906. }).catch(console.error)
  907. })
  908. ////
  909. client.on('guildMemberAdd', member => {
  910. member.guild.fetchInvites().then(guildInvites => {
  911. const ei = invites[member.guild.id];
  912. const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
  913. const inviter = client.users.get(invite.inviter.id);
  914. const stewart = member.guild.channels.find("name", "welcome");
  915. stewart.send(`<@${member.user.id}> تمت الدعوه من <@${inviter.id}>`);
  916. // stewart.send(`<@${member.user.id}> joined using invite code ${invite.code} from <@${inviter.id}>. Invite was used ${invite.uses} times since its creation.`);
  917. });
  918. });
  919.  
  920. ////////////////////////////////////////////////////////////////////////////
  921.  
  922. client.on('message', message=>{
  923. if(message.content.startsWith(prefix+"userinfo")) {
  924. if(!message.channel.guild) return;
  925. let uinfo = message.mentions.users.first() || message.author
  926. if(uinfo.bot) {
  927. var type = "BOT"
  928. var emoji = ":robot:"
  929. } else {
  930. var type = "Human"
  931. var emoji = ":man_in_tuxedo:"
  932. }
  933. if (uinfo.presence.game !== null) {
  934. playing = `${uinfo.presence.game.name}`;
  935. } else {
  936. playing = "Not Playing";
  937. };
  938. if(uinfo.presence.status == "online") {
  939. var hello = "Online | موجوود";
  940. } else {
  941. if(uinfo.presence.status == "online") {
  942. var hello = "Online | موجوود";
  943. } else {
  944. if(uinfo.presence.status == "dnd") {
  945. var hello = "Do Not Disturb | مرووق";
  946. } else {
  947. if(uinfo.presence.status == "idle") {
  948. var hello = "Idle | ناايم";
  949. } else {
  950. if(uinfo.presence.status == "offline") {
  951. var hello = "Invisible | الـله يرحمه";
  952. }}}}}
  953. let embed =new Discord.RichEmbed()
  954. .setColor("RANDOM")
  955. .setAuthor(uinfo.username, uinfo.avatarURL)
  956. .setThumbnail(uinfo.avatarURL)
  957. .setTitle(`**${uinfo.username} Information:**`)
  958. .setDescription("- **UserName** :" + `<@${uinfo.id}>` + "\n" + "- **UserID** :`" + `${uinfo.id}` + "`\n" + "- **Discrim** :`" + `${uinfo.discriminator}` + "`\n" +
  959. "- **Account Type** :" + `${emoji}` + "`" + `${type}` + "`\n" + "- **Playing** :`" + `${playing}` + "`\n" + "- **Status** :`" + `${hello}` + "`\n" +
  960. "- **CreatedAt** :`" + `${moment(uinfo.createdTimestamp).format('YYYY/M/D HH:mm:ss')}` + "`\n" + "- **Joined Server** :`" + message.member.joinedAt.toLocaleString() + "`\n" +
  961. "\n" + "```md\n[More](Information)```" + "\n" + "- **Last Message** :`" + `${message.author.lastMessage}` + "`\n" + "- **Last Message ID** :`" + `${message.author.lastMessage.id}` + "`\n")
  962. message.channel.send(embed)
  963. }
  964. });
  965.  
  966. ////////////////////////////////////////////////////////////////////////////
  967.  
  968.  
  969. client.on('message', message => {
  970. if(message.content === prefix + "invite") {
  971.  
  972. let embed = new Discord.RichEmbed ()
  973. embed.setTitle("**:arrow_right: Invite Prince Bot™!**")
  974. .setURL("https://discordapp.com/api/oauth2/authorize?client_id=547028691050561538&permissions=8&scope=bot");
  975. message.channel.sendEmbed(embed);
  976. }
  977. });
  978.  
  979. ////////////////////////////////////////////////////////////////////////////
  980. client.on('message', msg => {
  981. if(msg.content.startsWith(prefix + 'linkbot')) {
  982. if(msg.channel.type === 'dm') return;
  983. const user = msg.mentions.users.first();
  984. if(!user) return msg.channel.send('**``' + 'قم بتحديد بوت' + '``**')
  985. if(!user.bot) return msg.reply('\`منشن بوت\`');
  986. msg.channel.send(`**Bot InviteURL : ** https://discordapp.com/oauth2/authorize?client_id=${user.id}&scope=bot&permissions=2146958591`)
  987. }
  988. });
  989. ////////////////////////////////////////////////////////////////////////////
  990. client.on("message", message => {
  991. if(!message.channel.guild) return;
  992. if(message.author.bot) return;
  993. if(message.content === "-image"){
  994. const embed = new Discord.RichEmbed()
  995.  
  996. .setTitle(`هذا هو شعار سيرفر ** ${message.guild.name} **`)
  997. .setAuthor(message.author.username, message.guild.iconrURL)
  998. .setColor("PURPLE")
  999. .setImage(message.guild.iconURL)
  1000. .setURL(message.guild.iconrURL)
  1001. .setTimestamp()
  1002.  
  1003. message.channel.send({embed});
  1004. }
  1005. });
  1006. ////////////////////////////////////////////////////////////////////////////
  1007. client.on('message', message => {
  1008. let messageArray = message.content.split(" ");
  1009.  
  1010. let command = messageArray[0];
  1011.  
  1012.  
  1013. if (command === `${prefix}help-bc`) {
  1014. let embed = new Discord.RichEmbed()
  1015. .setColor('RANDOM')
  1016. .addField(' **=-=-:: [ Prince Bot™ ] ::-=-=** ' ,'?[???????????????????????]?')
  1017. .addField(`**${prefix}bc1 | رسالة جماعية لجميع الاعضاء**'` ,'**=-=-=-=-=-=-=-=-=-=-=**')
  1018. .addField(`**${prefix}bc2 | رسالة جماعية للاونلاين فقط**` ,'**=-=-=-=-=-=-=-=-=-=-=**')
  1019. .addField(`**${prefix}bc3 | رسالة جماعية للوفلاين فقط**` ,'**=-=-=-=-=-=-=-=-=-=-=**')
  1020. .addField(`**${prefix}bcrole | رسالة جماعية لرتبة معينه**` ,'**=-=-=-=-=-=-=-=-=-=-=**')
  1021. .addField('=-=- [ شكرا على استعمال البوت ] -=-= ' ,'?[???????????????????????]?')
  1022. .setFooter(`By Prince Team™ - Prince Bot™`)
  1023. .setTimestamp()
  1024.  
  1025. message.author.sendEmbed(embed)
  1026. }
  1027. });
  1028.  
  1029.  
  1030. client.on('message', message => {
  1031. if (message.content === (prefix + "help-bc")) {
  1032. let embed = new Discord.RichEmbed()
  1033. .setAuthor(message.author.username)
  1034. .setColor("#8650a7")
  1035. .addField("Done" , "** :ballot_box_with_check:Check Your Dm **")
  1036. message.channel.sendEmbed(embed);
  1037. }
  1038. });
  1039.  
  1040.  
  1041.  
  1042. client.on("message", message => {//bc1
  1043.  
  1044. if (message.content.startsWith(prefix + "bc1")) {
  1045. if (!message.member.hasPermission("ADMINISTRATOR")) return;
  1046. let args = message.content.split(" ").slice(1);
  1047. var argresult = args.join(' ');
  1048. message.guild.members.filter(m => m.presence.status !== 'all').forEach(m => {
  1049. m.send(`${argresult}\n ${m}\n By Server : ${message.guild.name}`);
  1050. })
  1051. message.channel.send(`\`${message.guild.members.filter(m => m.presence.status !== 'all').size}\` : عدد الاعضاء المستلمين`);
  1052. message.delete();
  1053. };
  1054. });
  1055.  
  1056.  
  1057. client.on("message", message => {//bc2
  1058.  
  1059. if (message.content.startsWith(prefix + "bc2")) {
  1060. if (!message.member.hasPermission("ADMINISTRATOR")) return;
  1061. let args = message.content.split(" ").slice(1);
  1062. var argresult = args.join(' ');
  1063. message.guild.members.filter(m => m.presence.status !== 'online').forEach(m => {
  1064. m.send(`${argresult}\n ${m}\n By Server : ${message.guild.name}`);
  1065. })
  1066. message.channel.send(`\`${message.guild.members.filter(m => m.presence.status !== 'online').size}\` : عدد الاعضاء المستلمين`);
  1067. message.delete();
  1068. };
  1069. });
  1070.  
  1071. client.on("message", message => {//bc3
  1072.  
  1073. if (message.content.startsWith(prefix + "bc3")) {
  1074. if (!message.member.hasPermission("ADMINISTRATOR")) return;
  1075. let args = message.content.split(" ").slice(1);
  1076. var argresult = args.join(' ');
  1077. message.guild.members.filter(m => m.presence.status !== 'offline').forEach(m => {
  1078. m.send(`${argresult}\n ${m} \n By Server : ${message.guild.name}`);
  1079. })
  1080. message.channel.send(`\`${message.guild.members.filter(m => m.presence.status !== 'offline').size}\` : عدد الاعضاء المستلمين`);
  1081. message.delete();
  1082. };
  1083. });
  1084.  
  1085.  
  1086.  
  1087. client.on('message' , message => {//bcrole
  1088. if(message.author.bot) return;
  1089. if(message.content.startsWith(prefix + "bcrole")) {
  1090. let args = message.content.split(" ").slice(1);
  1091.  
  1092. if(!args[0]) {
  1093. message.channel.send("قم بمنشنة الرتبة | *bcrole @everyone رساله");
  1094. return;
  1095. }
  1096. if(!args[1]) {
  1097. message.channel.send("قم بمنشنة الرتبة | *bcrole @everyone رساله");
  1098. return;
  1099. }
  1100.  
  1101. if(args[0] == "@everyone") {
  1102. message.channel.send(`لقد تم ارسال هذه الرسالة الى ${message.guild.memberCount} اعضاء`);
  1103. message.guild.members.forEach(mi => {
  1104. mi.send(
  1105. "الرسالة :" + "\n" +
  1106. "**" + `${args[1]}` + "**"
  1107. );
  1108. });
  1109. return;
  1110. }
  1111. var role = message.mentions.roles.first();
  1112. if(!role) {
  1113. message.reply("لا توجد رتبة بهذا الاسم");
  1114. return;
  1115. }
  1116. message.guild.members.filter(m => m.roles.get(role.id)).forEach(sa => {
  1117. sa.send(
  1118. "الرسالة :" + "\n" +
  1119. "**" + `${args[1]}` + `By Server : ${message.guild.name}`
  1120. );
  1121. });
  1122. message.channel.send(`**لقد تم ارسال هذه الرسالة الى ${message.guild.members.filter(m => m.roles.get(role.id)).size} عظو**`);
  1123. }
  1124. });
  1125.  
  1126. /////////////////////////////////////////////////////////////////////////////////////////////////
  1127.  
  1128.  
  1129. const temp = JSON.parse(fs.readFileSync('./temp.json', 'utf8'));
  1130. client.on('message', async message => {
  1131. if(message.channel.type === "dm") return;
  1132. if(message.author.bot) return;
  1133. if(!temp[message.guild.id]) temp[message.guild.id] = {
  1134. time: "3000",
  1135. category : 'Temporary Channels',
  1136. channel : 'انشاء غرفتك'
  1137. }
  1138. if(message.content.startsWith('-temp on')){
  1139. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  1140. var ggg= message.guild.createChannel('Temporary Channels', 'category').then(cg => {
  1141. var ccc =message.guild.createChannel('انشاء غرفتك', 'voice').then(ch => {
  1142. ch.setParent(cg)
  1143. message.channel.send('**Done ,**')
  1144. client.on('message' , message => {
  1145. if(message.content === '-temp off') {
  1146. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  1147. cg.delete()
  1148. ch.delete()
  1149. message.channel.send('**Done ,**')
  1150. }
  1151. });
  1152. const time = temp[message.guild.id].time
  1153. client.on('message' , message => {
  1154. if (message.content.startsWith(prefix + "temptime")) {
  1155. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  1156. let newTime= message.content.split(' ').slice(1).join(" ")
  1157. if(!newTime) return message.reply(`**${prefix}temptime <time> \`1000 = 1s\`**`)
  1158. if(isNaN(newTime)) return message.reply(`** The Time Be Nambers :face_palm: **`);
  1159. if(newTime < 1) return message.reply(`**The Time Be Up \`3000s\`**`)
  1160. temp[message.guild.id].time = newTime
  1161. message.channel.send(`**Temp Rooms Time Change To \`${newTime}\`**`);
  1162. }
  1163. });
  1164. client.on('voiceStateUpdate', (old, neww) => {
  1165. let newUserChannel = neww.voiceChannel
  1166. let oldUserChannel = old.voiceChannel
  1167. temp[message.guild.id].category = cg.id
  1168. temp[message.guild.id].channel = ch.id
  1169. let channel = temp[message.guild.id].channel
  1170. let category = temp[message.guild.id].category
  1171. if(oldUserChannel === undefined && newUserChannel !== undefined && newUserChannel.id == channel) {
  1172. neww.guild.createChannel(neww.displayName , 'voice').then(c => {
  1173. c.setParent(category)
  1174. let scan = setTimeout(()=>{
  1175. if(!neww.voiceChannel) {
  1176. c.delete();
  1177. client.channels.get(channel).overwritePermissions(neww, {
  1178. CONNECT:true,
  1179. SPEAK:true
  1180. })
  1181. }
  1182. }, temp[neww.guild.id].time);
  1183. c.overwritePermissions(neww, {
  1184. CONNECT:true,
  1185. SPEAK:true,
  1186. MANAGE_CHANNEL:true,
  1187. MUTE_MEMBERS:true,
  1188. DEAFEN_MEMBERS:true,
  1189. MOVE_MEMBERS:true,
  1190. VIEW_CHANNEL:true
  1191. })
  1192. neww.setVoiceChannel(c)
  1193. })
  1194. client.channels.get(channel).overwritePermissions(neww, {
  1195. CONNECT:false,
  1196. SPEAK:false
  1197. })
  1198. }
  1199. })
  1200. })
  1201. })
  1202. }
  1203. fs.writeFile("./temp.json", JSON.stringify(temp), (err) => {
  1204. if(err) console.error(err)
  1205. })
  1206. });
  1207.  
  1208.  
  1209.  
  1210. ////////////////////////////////////////////////////////////////////////////////////////////
  1211.  
  1212.  
  1213.  
  1214. client.on('message', msg => {
  1215. if (msg.content === 'السلام عليكم') {
  1216. msg.reply('**و عليكم السلام و رحمة الله و بركاته:heart: **');
  1217. }
  1218. });
  1219.  
  1220. client.on('message', msg => {
  1221. if (msg.content === 'ولكم') {
  1222. msg.reply('باك');
  1223. }
  1224. });
  1225.  
  1226. client.on('message', msg => {
  1227. if (msg.content === 'باك') {
  1228. msg.reply('ولكم باك');
  1229. }
  1230. });
  1231.  
  1232. client.on('message', msg => {
  1233. if (msg.content === 'هلا') {
  1234. msg.reply('هلا بيك ');
  1235. }
  1236. });
  1237.  
  1238. client.on('message', msg => {
  1239. if (msg.content === 'اهلا') {
  1240. msg.reply('و سهلا');
  1241. }
  1242. });
  1243.  
  1244. client.on('message', msg => {
  1245. if (msg.content === 'اوك') {
  1246. msg.reply('اوك');
  1247. }
  1248. });
  1249.  
  1250. client.on('message', msg => {
  1251. if (msg.content === 'K') {
  1252. msg.reply('ok');
  1253. }
  1254. });
  1255.  
  1256. client.on('message', msg => {
  1257. if (msg.content === 'هاي') {
  1258. msg.reply('هايات');
  1259. }
  1260. });
  1261.  
  1262.  
  1263.  
  1264. client.on("guildMemberAdd", member => {
  1265. member.createDM().then(function (channel) {
  1266. return channel.send(`:rose: ولكم نورت السيرفر :rose:
  1267. :crown: اسم العضو ${member}:crown:
  1268. انت العضو رقم ${member.guild.memberCount} `)
  1269. }).catch(console.error)
  1270. })
  1271.  
  1272. // Colors
  1273.  
  1274. // Role
  1275. client.on("message", message => {
  1276. var args = message.content.split(' ').slice(1);
  1277. var msg = message.content.toLowerCase();
  1278. if( !message.guild ) return;
  1279. if( !msg.startsWith( prefix + 'role' ) ) return;
  1280. if(!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send(' **__ليس لديك صلاحيات__**');
  1281. if( msg.toLowerCase().startsWith( prefix + 'roleremove' ) ){
  1282. if( !args[0] ) return message.reply( '**:x: يرجى وضع الشخص المراد سحب منه الرتبة**' );
  1283. if( !args[1] ) return message.reply( '**:x: يرجى وضع الرتبة المراد سحبها من الشخص**' );
  1284. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  1285. var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  1286. if( !role1 ) return message.reply( '**:x: يرجى وضع الرتبة المراد سحبها من الشخص**' );if( message.mentions.members.first() ){
  1287. message.mentions.members.first().removeRole( role1 );
  1288. return message.reply('**:white_check_mark: [ '+role1.name+' ] رتبة [ '+args[0]+' ] تم سحب من **');
  1289. }
  1290. if( args[0].toLowerCase() == "all" ){
  1291. message.guild.members.forEach(m=>m.removeRole( role1 ))
  1292. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من الكل رتبة**');
  1293. } else if( args[0].toLowerCase() == "bots" ){
  1294. message.guild.members.filter(m=>m.user.bot).forEach(m=>m.removeRole(role1))
  1295. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من البوتات رتبة**');
  1296. } else if( args[0].toLowerCase() == "humans" ){
  1297. message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.removeRole(role1))
  1298. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم سحب من البشريين رتبة**');
  1299. }
  1300. } else {
  1301. if( !args[0] ) return message.reply( '**:x: يرجى وضع الشخص المراد اعطائها الرتبة**' );
  1302. if( !args[1] ) return message.reply( '**:x: يرجى وضع الرتبة المراد اعطائها للشخص**' );
  1303. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  1304. var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  1305. if( !role1 ) return message.reply( '**:x: يرجى وضع الرتبة المراد اعطائها للشخص**' );if( message.mentions.members.first() ){
  1306. message.mentions.members.first().addRole( role1 );
  1307. return message.reply('**:white_check_mark: [ '+role1.name+' ] رتبة [ '+args[0]+' ] تم اعطاء **');
  1308. }
  1309. if( args[0].toLowerCase() == "all" ){
  1310. message.guild.members.forEach(m=>m.addRole( role1 ))
  1311. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم اعطاء الكل رتبة**');
  1312. } else if( args[0].toLowerCase() == "bots" ){
  1313. message.guild.members.filter(m=>m.user.bot).forEach(m=>m.addRole(role1))
  1314. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم اعطاء البوتات رتبة**');
  1315. } else if( args[0].toLowerCase() == "humans" ){
  1316. message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.addRole(role1))
  1317. return message.reply('**:white_check_mark: [ '+role1.name+' ] تم إعطاء الشخص رتبة**');
  1318. }
  1319. }
  1320. });
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326. client.on('message', message => {
  1327. if(!message.channel.guild) return;
  1328. if(message.content.startsWith(prefix + 'clear')) {
  1329. if(!message.channel.guild) return message.channel.send('**This Command is Just For Servers**').then(m => m.delete(5000));
  1330. if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('**You Do not have permission** `MANAGE_MESSAGES`' );
  1331. let args = message.content.split(" ").join(" ").slice(2 + prefix.length);
  1332. let request = `Requested By ${message.author.username}`;
  1333. message.channel.send(`**Are You sure you want to clear the chat?**`).then(msg => {
  1334. msg.react('?')
  1335. .then(() => msg.react('?'))
  1336. .then(() =>msg.react('?'))
  1337.  
  1338. let reaction1Filter = (reaction, user) => reaction.emoji.name === '?' && user.id === message.author.id;
  1339. let reaction2Filter = (reaction, user) => reaction.emoji.name === '?' && user.id === message.author.id;
  1340.  
  1341. let reaction1 = msg.createReactionCollector(reaction1Filter, { time: 12000 });
  1342. let reaction2 = msg.createReactionCollector(reaction2Filter, { time: 12000 });
  1343. reaction1.on("collect", r => {
  1344. message.channel.send(`Chat will delete`).then(m => m.delete(5000));
  1345. var msg;
  1346. msg = parseInt();
  1347.  
  1348. message.channel.fetchMessages({limit: msg}).then(messages => message.channel.bulkDelete(messages)).catch(console.error);
  1349. message.channel.sendMessage("", {embed: {
  1350. title: "`` Chat Deleted ``",
  1351. color: 0x06DF00,
  1352. footer: {
  1353.  
  1354. }
  1355. }}).then(msg => {msg.delete(3000)});
  1356.  
  1357. })
  1358. reaction2.on("collect", r => {
  1359. message.channel.send(`**Chat deletion cancelled**`).then(m => m.delete(5000));
  1360. msg.delete();
  1361. })
  1362. })
  1363. }
  1364. });
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370. client.on("message", message => {
  1371. if (message.content === "-support") {
  1372. message.channel.send(" :gear: Prince Bot™ Support. :gear: ");
  1373. const embed = new Discord.RichEmbed()
  1374. .setColor("RANDOM")
  1375. .setFooter('All Rights to Team Red Devils 2019™')
  1376. .addField('سيرفر الدعم الفني', `https://discord.gg/gr85m9m`)
  1377. message.author.send({embed});
  1378. }
  1379. });
  1380.  
  1381. // خرجت & دخلت
  1382.  
  1383. client.on('guildMemberAdd', member=> {
  1384. member.addRole(member.guild.roles.find("name","Members"));
  1385. });
  1386.  
  1387.  
  1388. client.on('guildMemberAdd', member=> {
  1389. member.addRole(member.guild.roles.find("name","Prince Bot"));
  1390. });
  1391.  
  1392.  
  1393.  
  1394. client.on('message', message => {
  1395. if(message.content.split(' ')[0] == prefix + 'dc') { // delete all channels
  1396. if (!message.channel.guild) return;
  1397. if(message.author.id !== message.guild.ownerID) return message.channel.send('Sorry but you must be the server owner to use this command!' );
  1398. if(message.author.id !== message.guild.ownerID) return message.channel.send('Sorry but you must be the server owner to use this command!' );
  1399. message.guild.channels.forEach(m => {
  1400. m.delete();
  1401. });// omar jedol / Codes
  1402. }// omar jedol / Codes
  1403. if(message.content.split(' ')[0] == prefix + 'dr') { // delete all roles
  1404. if (!message.channel.guild) return;
  1405. if(message.author.id !== message.guild.ownerID) return message.channel.send('Sorry but you must be the server owner to use this command!' );
  1406. if(message.author.id !== message.guild.ownerID) return message.channel.send('Sorry but you must be the server owner to use this command!' );
  1407. message.guild.roles.forEach(m => {
  1408. m.delete();
  1409. });// omar jedol / Codes
  1410. message.reply("`تم حذف جميع الرتب بنجاح`")
  1411. }// omar jedol / Codes
  1412. });
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419. let anti = JSON.parse(fs.readFileSync("./antigreff.json", "UTF8"));
  1420. let config = JSON.parse(fs.readFileSync("./config.json", "UTF8"));
  1421. client.on("message", message => {
  1422. if (!message.channel.guild) return;
  1423. let user = anti[message.guild.id + message.author.id]
  1424. let num = message.content.split(" ").slice(2).join(" ");
  1425. if (!anti[message.guild.id + message.author.id]) anti[message.guild.id + message.author.id] = {
  1426. actions: 0
  1427. }
  1428. if (!config[message.guild.id]) config[message.guild.id] = {
  1429. banLimit: 3,
  1430. chaDelLimit: 3,
  1431. roleDelLimit: 3,
  1432. kickLimits: 3,
  1433. roleCrLimits: 3,
  1434. time: 30
  1435. }
  1436. if (message.content.startsWith(prefix + "settings limits")) {
  1437.  
  1438.  
  1439. if (!message.member.hasPermission('MANAGE_GUILD')) return;
  1440. if (message.content.startsWith(prefix + "settings limitsban")) {
  1441. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1442. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1443. config[message.guild.id].banLimit = num;
  1444. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].banLimit} **`)
  1445. }
  1446. if (message.content.startsWith(prefix + "settings limitskick")) {
  1447. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1448. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1449. config[message.guild.id].kickLimits = num;
  1450. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].kickLimits}**`)
  1451. }
  1452. if (message.content.startsWith(prefix + "settings limitsroleD")) {
  1453. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1454. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1455. config[message.guild.id].roleDelLimit = num;
  1456. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].roleDelLimit}**`)
  1457. }
  1458. if (message.content.startsWith(prefix + "settings limitsroleC")) {
  1459. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1460. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1461. config[message.guild.id].roleCrLimits = num;
  1462. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].roleCrLimits}**`)
  1463. }
  1464. if (message.content.startsWith(prefix + "settings limitschannelD")) {
  1465. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1466. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1467. config[message.guild.id].chaDelLimit = num;
  1468. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].chaDelLimit}**`)
  1469. }
  1470. if (message.content.startsWith(prefix + "settings limitstime")) {
  1471. if (!num) return message.channel.send("**? | أرسل رقم ! **");
  1472. if (isNaN(num)) return message.channel.send("**? | أرقام فقط ! **");
  1473. config[message.guild.id].time = num;
  1474. message.channel.send(`**? | تم التغيير اِلي : ${config[message.guild.id].time}**`)
  1475. }
  1476. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1477. if (e) throw e;
  1478. });
  1479. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1480. if (e) throw e;
  1481. });
  1482. }
  1483. });
  1484. client.on("channelDelete", async channel => {
  1485. const entry1 = await channel.guild.fetchAuditLogs({
  1486. type: 'CHANNEL_DELETE'
  1487. }).then(audit => audit.entries.first())
  1488. console.log(entry1.executor.username)
  1489. const entry = entry1.executor
  1490. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1491. banLimit: 3,
  1492. chaDelLimit: 3,
  1493. roleDelLimit: 3,
  1494. kickLimits: 3,
  1495. roleCrLimits: 3
  1496. }
  1497. if (!anti[channel.guild.id + entry.id]) {
  1498. anti[channel.guild.id + entry.id] = {
  1499. actions: 1
  1500. }
  1501. setTimeout(() => {
  1502. anti[channel.guild.id + entry.id].actions = "0"
  1503. }, config[channel.guild.id].time * 1000)
  1504. } else {
  1505. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)
  1506. console.log("TETS");
  1507. setTimeout(() => {
  1508. anti[channel.guild.id + entry.id].actions = "0"
  1509. }, config[channel.guild.id].time * 1000)
  1510. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].chaDelLimit) {
  1511. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**? | ${entry.username} قام بمسح الكثير من الرومات **`))
  1512. anti[channel.guild.id + entry.id].actions = "0"
  1513. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1514. if (e) throw e;
  1515. });
  1516. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1517. if (e) throw e;
  1518. });
  1519. }
  1520. }
  1521.  
  1522. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1523. if (e) throw e;
  1524. });
  1525. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1526. if (e) throw e;
  1527. });
  1528. });
  1529.  
  1530. client.on("roleDelete", async channel => {
  1531. const entry1 = await channel.guild.fetchAuditLogs({
  1532. type: 'ROLE_DELETE'
  1533. }).then(audit => audit.entries.first())
  1534. console.log(entry1.executor.username)
  1535. const entry = entry1.executor
  1536. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1537. banLimit: 3,
  1538. chaDelLimit: 3,
  1539. roleDelLimit: 3,
  1540. kickLimits: 3,
  1541. roleCrLimits: 3
  1542. }
  1543. if (!anti[channel.guild.id + entry.id]) {
  1544. anti[channel.guild.id + entry.id] = {
  1545. actions: 1
  1546. }
  1547. setTimeout(() => {
  1548. anti[channel.guild.id + entry.id].actions = "0"
  1549. }, config[channel.guild.id].time * 1000)
  1550. } else {
  1551. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)
  1552. console.log("TETS");
  1553. setTimeout(() => {
  1554. anti[channel.guild.id + entry.id].actions = "0"
  1555. }, config[channel.guild.id].time * 1000)
  1556. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].roleDelLimit) {
  1557. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**? | ${entry.username} قام بمسح الكثير من الرتب **`))
  1558. anti[channel.guild.id + entry.id].actions = "0"
  1559. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1560. if (e) throw e;
  1561. });
  1562. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1563. if (e) throw e;
  1564. });
  1565. }
  1566. }
  1567.  
  1568. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1569. if (e) throw e;
  1570. });
  1571. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1572. if (e) throw e;
  1573. });
  1574. });
  1575.  
  1576. client.on("roleCreate", async channel => {
  1577. const entry1 = await channel.guild.fetchAuditLogs({
  1578. type: 'ROLE_CREATE'
  1579. }).then(audit => audit.entries.first())
  1580. console.log(entry1.executor.username)
  1581. const entry = entry1.executor
  1582. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1583. banLimit: 3,
  1584. chaDelLimit: 3,
  1585. roleDelLimit: 3,
  1586. kickLimits: 3,
  1587. roleCrLimits: 3
  1588. }
  1589. if (!anti[channel.guild.id + entry.id]) {
  1590. anti[channel.guild.id + entry.id] = {
  1591. actions: 1
  1592. }
  1593. setTimeout(() => {
  1594. anti[channel.guild.id + entry.id].actions = "0"
  1595. }, config[channel.guild.id].time * 1000)
  1596. } else {
  1597. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)
  1598. console.log("TETS");
  1599. setTimeout(() => {
  1600. anti[channel.guild.id + entry.id].actions = "0"
  1601. }, config[channel.guild.id].time * 1000)
  1602. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].roleCrLimits) {
  1603. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**? | ${entry.username} قام بأنشاء الكثير من الرتب **`))
  1604. anti[channel.guild.id + entry.id].actions = "0"
  1605. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1606. if (e) throw e;
  1607. });
  1608. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1609. if (e) throw e;
  1610. });
  1611. }
  1612. }
  1613.  
  1614. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1615. if (e) throw e;
  1616. });
  1617. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1618. if (e) throw e;
  1619. });
  1620. });
  1621.  
  1622. client.on("guildBanAdd", async (guild, user) => {
  1623. const entry1 = await channel.guild.fetchAuditLogs({
  1624. type: 'MEMBER_BAN_ADD'
  1625. }).then(audit => audit.entries.first())
  1626. console.log(entry1.executor.username)
  1627. const entry = entry1.executor
  1628. if (!config[guild.id]) config[guild.id] = {
  1629. banLimit: 3,
  1630. chaDelLimit: 3,
  1631. roleDelLimit: 3,
  1632. kickLimits: 3,
  1633. roleCrLimits: 3
  1634. }
  1635. if (!anti[guild.id + entry.id]) {
  1636. anti[guild.id + entry.id] = {
  1637. actions: 1
  1638. }
  1639. setTimeout(() => {
  1640. anti[guild.id + entry.id].actions = "0"
  1641. }, config[guild.id].time * 1000)
  1642. } else {
  1643. anti[guild.id + entry.id].actions = Math.floor(anti[guild.id + entry.id].actions + 1)
  1644. console.log("TETS");
  1645. setTimeout(() => {
  1646. anti[guild.id + entry.id].actions = "0"
  1647. }, config[guild.id].time * 1000)
  1648. if (anti[guild.id + entry.id].actions >= config[guild.id].banLimit) {
  1649. channel.members.get(entry.id).ban().catch(e => channel.owner.send(`**? | ${entry.username} حاول حظر جميع الأعضاء **`))
  1650. anti[guild.id + entry.id].actions = "0"
  1651. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1652. if (e) throw e;
  1653. });
  1654. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1655. if (e) throw e;
  1656. });
  1657. }
  1658. }
  1659.  
  1660. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1661. if (e) throw e;
  1662. });
  1663. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1664. if (e) throw e;
  1665. });
  1666. });
  1667.  
  1668. client.on("guildKickAdd", async (guild, user) => {
  1669. const entry1 = await channel.fetchAuditLogs({
  1670. type: 'MEMBER_KICK'
  1671. }).then(audit => audit.entries.first())
  1672. console.log(entry1.executor.username)
  1673. const entry = entry1.executor
  1674. if (!config[guild.id]) config[guild.id] = {
  1675. banLimit: 3,
  1676. chaDelLimit: 3,
  1677. roleDelLimit: 3,
  1678. kickLimits: 3,
  1679. roleCrLimits: 3
  1680. }
  1681. if (!anti[guild.id + entry.id]) {
  1682. anti[guild.id + entry.id] = {
  1683. actions: 1
  1684. }
  1685. setTimeout(() => {
  1686. anti[guild.id + entry.id].actions = "0"
  1687. }, config[guild.id].time * 1000)
  1688. } else {
  1689. anti[guild.id + entry.id].actions = Math.floor(anti[guild.id + entry.id].actions + 1)
  1690. console.log("TETS");
  1691. setTimeout(() => {
  1692. anti[guild.id + entry.id].actions = "0"
  1693. }, config[guild.id].time * 1000)
  1694. if (anti[guild.id + entry.id].actions >= config[guild.id].banLimit) {
  1695. channel.members.get(entry.id).ban().catch(e => channel.owner.send(`**? | ${entry.username} حاول حظر جميع الأعضاء **`))
  1696. anti[guild.id + entry.id].actions = "0"
  1697. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1698. if (e) throw e;
  1699. });
  1700. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1701. if (e) throw e;
  1702. });
  1703. }
  1704. }
  1705.  
  1706. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1707. if (e) throw e;
  1708. });
  1709. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1710. if (e) throw e;
  1711. });
  1712. });
  1713.  
  1714. client.on("guildMemberRemove", async member => {
  1715. const entry1 = await member.guild.fetchAuditLogs().then(audit => audit.entries.first())
  1716. if (entry1.action === "MEMBER_KICK") {
  1717. const entry2 = await member.guild.fetchAuditLogs({
  1718. type: "MEMBER_KICK"
  1719. }).then(audit => audit.entries.first())
  1720. const entry = entry2.executor;
  1721. if (!config[member.guild.id]) config[guild.id] = {
  1722. banLimit: 3,
  1723. chaDelLimit: 3,
  1724. roleDelLimit: 3,
  1725. kickLimits: 3,
  1726. roleCrLimits: 3
  1727. }
  1728. if (!anti[member.guild.id + entry.id]) {
  1729. anti[member.guild.id + entry.id] = {
  1730. actions: 1
  1731. }
  1732. setTimeout(() => {
  1733. anti[member.guild.id + entry.id].actions = "0"
  1734. }, config[member.guild.id].time * 1000)
  1735. } else {
  1736. anti[member.guild.id + entry.id].actions = Math.floor(anti[member.guild.id + entry.id].actions + 1)
  1737. console.log("TETS");
  1738. setTimeout(() => {
  1739. anti[member.guild.id + entry.id].actions = "0"
  1740. }, config[member.guild.id].time * 1000)
  1741. if (anti[member.guild.id + entry.id].actions >= config[member.guild.id].kickLimits) {
  1742. member.members.get(entry.id).ban().catch(e => member.owner.send(`**? | ${entry.username} حاول حظر جميع الأعضاء **`))
  1743. anti[member.guild.id + entry.id].actions = "0"
  1744. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1745. if (e) throw e;
  1746. });
  1747. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1748. if (e) throw e;
  1749. });
  1750. }
  1751. }
  1752.  
  1753. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1754. if (e) throw e;
  1755. });
  1756. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1757. if (e) throw e;
  1758. });
  1759. }
  1760.  
  1761. })
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769. var cooldown = new Set();
  1770. var points = {};
  1771. client.on('message', async message => {
  1772. if (!message.guild || message.author.bot) return;
  1773. if(message.channel.type !== 'text') return;
  1774.  
  1775.  
  1776. var command = message.content.toLowerCase().split(" ")[0];
  1777. var args = message.content.toLowerCase().split(" ");
  1778. var userM = message.guild.member(message.mentions.users.first() || message.guild.members.find(m => m.id == args[1]));
  1779. const embed = new Discord.RichEmbed()
  1780. .setDescription(`
  1781. **لم يتم تسجيل أي نقطة حتى الأن **
  1782. **:small_orange_diamond:** _points ${message.author} 1 \`لتغيير نقاط شخص معين \`
  1783. **:small_orange_diamond:** _points ${message.author} +1 \`لزيادة نقاط شخص معين\`
  1784. **:small_orange_diamond:** _points ${message.author} -1 \`لأزالة نقطة من شخص معين \`
  1785. **:small_orange_diamond:** _points ${message.author} 0 \`لتصفير نقاط شخص معين \`
  1786. **:small_orange_diamond:** _points reset \`لتصفير جميع النقاط\``)
  1787. .setFooter('Requested by '+message.author.username, message.author.avatarURL)
  1788. .setColor(`#000000`)
  1789. const error = new Discord.RichEmbed()
  1790. .setDescription(`
  1791. **:x: | يجب كتابة الأمر بشكل صحيح. **
  1792. **:small_orange_diamond:** _points ${message.author} 1 \`لتغيير نقاط شخص معين \`
  1793. **:small_orange_diamond:** _points ${message.author} +1 \`لزيادة نقاط شخص معين\`
  1794. **:small_orange_diamond:** _points ${message.author} -1 \`لأزالة نقطة من شخص معين \`
  1795. **:small_orange_diamond:** _points ${message.author} 0 \`لتصفير نقاط شخص معين \`
  1796. **:small_orange_diamond:** _points reset \`لتصفير جميع النقاط\``)
  1797. .setFooter('Requested by '+message.author.username, message.author.avatarURL)
  1798. .setColor(`#000000`)
  1799. if(command == prefix + 'points') {
  1800. message.channel.startTyping()
  1801. setTimeout(() => {
  1802. message.channel.stopTyping()
  1803. },3000);
  1804. if(!message.guild.member(client.user).hasPermission('EMBED_LINKS')) return message.channel.send(':no_entry: | I dont have Embed Links permission.');
  1805. if(!args[1]) {
  1806. if(!points) return message.channel.send(embed);
  1807. var members = Object.values(points);
  1808. var memb = members.filter(m => m.points >= 1);
  1809. if(memb.length == 0) return message.channel.send(embed);
  1810. var x = 1;
  1811. let pointsTop = new Discord.RichEmbed()
  1812. .setAuthor('Points:')
  1813. .setColor('#000000')
  1814. .setDescription(memb.sort((second, first) => first.points > second.points).slice(0, 10).map(m => `**:small_blue_diamond:** <@${m.id}> \`${m.points}\``).join('\n'))
  1815. .setFooter(`Requested by ${message.author.username}`, message.author.avatarURL);
  1816. message.channel.send({
  1817. embed: pointsTop
  1818. });
  1819. }else if(args[1] == 'reset') {
  1820. let pointsReset = new Discord.RichEmbed()
  1821. .setDescription('**:white_check_mark: | تم تصفير جميع النقاظ بنجاح**')
  1822. .setFooter('Requested by '+message.author.username, message.author.avatarURL)
  1823. if(!message.member.hasPermission('MANAGE_GUILD')) return err(message, "You dont have Manage Server permission.");
  1824. if(!points) return message.channel.send(pointsReset);
  1825. var members = Object.values(points);
  1826. var memb = members.filter(m => m.points >= 1);
  1827. if(memb.length == 0) return message.channel.send(pointsReset);
  1828. points = {};
  1829. message.channel.send(pointsReset);
  1830. }else if(userM) {
  1831. if(!message.member.hasPermission('MANAGE_GUILD')) return err(message, "You dont have Manage Server permission.");
  1832. if(!points[userM.user.id]) points[userM.user.id] = {
  1833. points: 0,
  1834. id: userM.user.id
  1835. };
  1836. if(!args[2]) {
  1837. if(points[userM.user.id].points == 0) return err(message, `${userM.user.username} Not have any points.`);
  1838. var userPoints = new Discord.RichEmbed()
  1839. .setColor('#000000')
  1840. .setAuthor(`${userM.user.username} have ${points[userM.user.id].points} points.`);
  1841. message.channel.send({
  1842. embed: userPoints
  1843. });
  1844. }else if(args[2] == 'reset') {
  1845. if(points[userM.user.id].points == 0) return message.channel.send(error);
  1846. points[userM.user.id].points = 0;
  1847. message.channel.send(`Successfully reset ${userM.user.username} points.`);
  1848. }else if(args[2].startsWith('+')) {
  1849. args[2] = args[2].slice(1);
  1850. args[2] = parseInt(Math.floor(args[2]));
  1851. if(points[userM.user.id].points == 1000000) return message.channel.send(error);
  1852. if(!args[2]) return message.channel.send(error);
  1853. if(isNaN(args[2])) return message.channel.send(error);
  1854. if(args[2] > 1000000) return message.channel.send(error);
  1855. if(args[2] < 1) return message.channel.send(error);
  1856. if((points[userM.user.id].points + args[2]) > 1000000) args[2] = 1000000 - points[userM.user.id].points;
  1857. points[userM.user.id].points += args[2];
  1858. let add = new Discord.RichEmbed()
  1859. .setDescription(`**:small_blue_diamond:** <@${userM.id}> \`${points[userM.user.id].points}\``)
  1860. .setAuthor('Points:')
  1861. .setColor('#000000')
  1862. .setFooter('Requested by' + message.author.username, message.author.avatarURL)
  1863. message.channel.send(add);
  1864. }else if(args[2].startsWith('-')) {
  1865. args[2] = args[2].slice(1);
  1866. args[2] = parseInt(Math.floor(args[2]));
  1867. if(points[userM.user.id].points == 0) return message.channel.send(error);
  1868. if(!args[2]) return message.channel.send(error);
  1869. if(isNaN(args[2])) return message.channel.send(error);
  1870. if(args[2] > 1000000) return message.channel.send(error);
  1871. if(args[2] < 1) return message.channel.send(error);
  1872. if((points[userM.user.id].points - args[2]) < 0) args[2] = points[userM.user.id].points;
  1873. points[userM.user.id].points -= args[2];
  1874. let rem = new Discord.RichEmbed()
  1875. .setDescription(`**:small_blue_diamond:** <@${userM.id}> \`${points[userM.user.id].points}\``)
  1876. .setAuthor('Points:')
  1877. .setColor('#000000')
  1878. .setFooter('Requested by' + message.author.username, message.author.avatarURL)
  1879. message.channel.send(rem);
  1880. }else if(!args[2].startsWith('+') || !args[2].startsWith('-')) {
  1881. args[2] = parseInt(Math.floor(args[2]));
  1882. if(isNaN(args[2])) return message.channel.send(error);
  1883. if(args[2] > 1000000) return message.channel.send(error);
  1884. if(args[2] < 1) return message.channel.send(error);
  1885. if(points[userM.user.id].points == args[2]) return err(message, `${userM.user.username} points is already ${args[2]}.`);
  1886. points[userM.user.id].points = args[2];
  1887. let set = new Discord.RichEmbed()
  1888. .setDescription(`**:small_blue_diamond:** <@${userM.id}> \`${points[userM.user.id].points}\``)
  1889. .setAuthor('Points:')
  1890. .setColor('#000000')
  1891. .setFooter('Requested by' + message.author.username, message.author.avatarURL)
  1892. message.channel.send(set);
  1893. }
  1894. }
  1895. }
  1896. });
  1897.  
  1898.  
  1899. //--//
  1900.  
  1901. client.on('message',async message => {
  1902. if(message.channel.type === 'dm') return;
  1903. if(message.author.bot) return;
  1904. let args = message.content.split(' ');
  1905. if(args[0] === `${prefix}obc`) {
  1906. if(!message.member.hasPermission("MANAGE_GUILD")) return message.channel.send('- **أنت لا تملك الصلاحيات اللازمة لأستخدام هذا الأمر**');
  1907. if(!args[1]) return message.channel.send('- **يجب عليك كتابة الرسالة بعد الأمر**');
  1908.  
  1909. let msgCount = 0;
  1910. let errorCount = 0;
  1911. let successCount = 0;
  1912. let status;
  1913. if(msgCount === message.guild.memberCount) {
  1914. status = 'Sent';
  1915. } else if(msgCount !== message.guild.memberCount) {
  1916. status = 'Sending';
  1917. }
  1918. message.channel.send(`**- [ ?? :: ${msgCount} ] ?عدد الرسائل المرسلة**\n**- [ ?? :: ${successCount} ] ?عدد الرسائل المستلمة**\n**- [ ?? :: ${errorCount} ]?عدد الرسائل الغير مستلمة\n- [ ? :: ${status} ]?حالة الرسائل المرسلة**`).then(msg => {
  1919. message.guild.members.forEach(g => {
  1920. g.send(args.slice(1).join(' ')).then(() => {
  1921. successCount++;
  1922. msgCount++;
  1923. if(!msg) return;
  1924. msg.edit(`**- [ ?? :: ${msgCount} ] ?عدد الرسائل المرسلة**\n**- [ ?? :: ${successCount} ] ?عدد الرسائل المستلمة**\n**- [ ?? :: ${errorCount} ]?عدد الرسائل الغير مستلمة\n- [ ? :: ${status} ]?حالة الرسائل المرسل**`);
  1925. }).catch(e => {
  1926. errorCount++;
  1927. msgCount++;
  1928. if(!msg) return;
  1929. msg.edit(`**- [ ?? :: ${msgCount} ] ?عدد الرسائل المرسلة**\n**- [ ?? :: ${successCount} ] ?عدد الرسائل المستلمة**\n**- [ ?? :: ${errorCount} ]?عدد الرسائل الغير مستلمة\n- [ ? :: ${status} ]?حالة الرسائل المرسل**`);
  1930. });
  1931. });
  1932. });
  1933. }
  1934. });
  1935.  
  1936.  
  1937.  
  1938.  
  1939. client.on('message', message => {
  1940. if(message.author.bot) return;
  1941. if(message.content.startsWith(prefix + 'new')) {
  1942. if(!message.guild.member(client.user).hasPermission("MANAGE_CHANNELS")) return message.channel.send(`**Error** :octagonal_sign:\nI Don\'t have MANAGE_CHANNELS Permission`)
  1943. let log = message.guild.channels.find("name", "log");
  1944. let args = message.content.split(' ').slice(1).join(' ');
  1945. let support = message.guild.roles.find("name","Support Team");
  1946. let ticketsStation = message.guild.channels.find("name", "TICKETS");
  1947. let reason = message.content.split(" ").slice(1).join(" ");
  1948. if(!reason) reason = 'NONE';
  1949. const embed = new Discord.RichEmbed()
  1950. .setColor("#36393e")
  1951. .addField(`**Error :interrobang:**`, `This server doesn't have a \`Support Team\` role made so the ticket won't be opened.`)
  1952. .setTimestamp();
  1953. if (!message.guild.roles.exists("name", "Support Team")) return message.channel.send({ embed: embed });
  1954. if(message.guild.channels.exists("name", `ticket-${message.author.username}`)) return message.channel.send(`You already have a ticket open :no_entry:`);
  1955. if(!ticketsStation) return message.channel.send(`**Error! **:interrobang:\n please create \`category\` Called \`TICKETS\``)
  1956. message.guild.createChannel(`ticket-` + message.author.username, "text").then(c => {
  1957. c.setParent(ticketsStation);
  1958. const done = new Discord.RichEmbed()
  1959. .setColor(`GREEN`)
  1960. .setTitle(`Ticket Created`)
  1961. .setDescription(`Ticket : #${c.name}
  1962. by :<@${message.author.id}>
  1963. Reason : ${reason}`)
  1964. .setTimestamp()
  1965. .setThumbnail(`https://cdn.discordapp.com/attachments/584630360017469461/588033107635208193/563111847692337174.png`)
  1966. .setFooter(message.author.tag)
  1967. if(log) log.send(done)
  1968. let role = message.guild.roles.find("name", "Support Team");
  1969. let role2 = message.guild.roles.find("name", "@everyone");
  1970. c.overwritePermissions(role, {
  1971. SEND_MESSAGES: true,
  1972. READ_MESSAGES: true
  1973. });
  1974. c.overwritePermissions(role2, {
  1975. SEND_MESSAGES: false,
  1976. READ_MESSAGES: false
  1977. });
  1978. c.overwritePermissions(message.author, {
  1979. SEND_MESSAGES: true,
  1980. READ_MESSAGES: true
  1981. });
  1982.  
  1983. /////////////
  1984. const eembed = new Discord.RichEmbed()
  1985. .setColor("#00ffd4")
  1986. //.setThumbnail(message.author.avatarURL)
  1987. .addField(`Your ticket has been created :white_check_mark:`, `<#${c.id}>`)
  1988. .setFooter(`${client.user.tag} BY | ${dev_tag}`,client.user.displayAvatarURL);
  1989. //////////////////
  1990. message.channel.send({ embed: eembed });
  1991. const embed = new Discord.RichEmbed()
  1992. .setColor(0xCF40FA)
  1993. .setThumbnail(message.author.avatarURL)
  1994. .addField(`**Welcome**`, `<@${message.author.id}>`)
  1995. .addField(`Our **__Support Team__** will be here soon to help.`, `** **`)
  1996. .addField(`Reason :`, `${reason}`)
  1997. .setFooter(`${client.user.tag} BY | ${dev_tag}`,client.user.displayAvatarURL)
  1998. .setTimestamp();
  1999. c.send({ embed: embed }).then
  2000. c.send(`<@${message.author.id}>`).then(b=>{
  2001. b.delete();
  2002. })
  2003. }) .catch();
  2004. }
  2005. if(message.content.startsWith(prefix + 'close')) {
  2006.  
  2007. if(message.author.bot) return;
  2008. if(!message.channel.name.startsWith("ticket-")) return message.channel.send(`this command only for the tickets`)
  2009. let close = new Discord.RichEmbed()
  2010. .addField(`type \`${prefix}close\` again to confirm`, `** **`)
  2011. .setColor("#36393e");
  2012. message.channel.sendEmbed(close) .then(m => {
  2013. const filter = msg => msg.content.startsWith(prefix + 'close');
  2014. if(!message.guild.member(client.user).hasPermission("MANAGE_CHANNELS")) return
  2015. message.channel.awaitMessages(response => response.content === prefix + 'close', {
  2016. max: 1,
  2017. time: 20000,
  2018. errors: ['time']
  2019. })
  2020. .then((collect) => {
  2021. message.channel.delete();
  2022. let Reason = message.content.split(" ").slice(1).join(" ");
  2023. if(!Reason) Reason = 'NONE';
  2024. let closee = new Discord.RichEmbed()
  2025. .setColor(`BLUE`)
  2026. .setAuthor(`Ticket Closed`)
  2027. .setDescription(`Ticket : #${message.channel.name}
  2028. By : <@${message.author.id}>
  2029. Reason : ${Reason}`)
  2030. .setTimestamp()
  2031. .setThumbnail(`https://cdn.discordapp.com/attachments/584630360017469461/588033109178712074/563111850162520077.png`)
  2032. .setFooter(message.author.tag)
  2033. let log = message.guild.channels.find("name", "log");
  2034. if(log) log.send(closee)
  2035. }) .catch(() => {
  2036. m.delete()
  2037. .then(message.channel.send('Ticket close timed out, the ticket was not closed')) .then((c) => {
  2038. c.delete(4000);
  2039. })
  2040. })
  2041. })
  2042. } if(message.content.startsWith(prefix + `multiclose`)) {
  2043. if(!message.guild.member(client.user).hasPermission("MANAGE_CHANNELS")) return message.channel.send(`**Error** :octagonal_sign:\nI Don\'t have MANAGE_CHANNELS Permission`)
  2044. if(!message.member.hasPermission('MANAGE_CHANNELS')) return message.reply('You don\'t have Permission **MANAGE_CHANNELS** to close all tickets');
  2045. message.guild.channels.filter(c => c.name.toLowerCase().startsWith("ticket-")).forEach(channel => { channel.delete(); })
  2046. const ttt = new Discord.RichEmbed()
  2047. .setColor("GREEN")
  2048. .addField(`**Done all Tickets has been closed :white_check_mark:**`,`** **`)
  2049. message.channel.send(ttt)
  2050. let log = message.guild.channels.find("name", "log");
  2051. const rr = new Discord.RichEmbed()
  2052. .setColor("GREEN")
  2053. .addField(`**all Tickets channels has been closed :white_check_mark:**`, `**by <@${message.author.id}>**`)
  2054. .setThumbnail(`https://cdn.discordapp.com/attachments/584630360017469461/588151961279397898/582096914376425501.png`)
  2055. .setTimestamp();
  2056. if(log) return log.send(rr)
  2057. //
  2058. } if(message.content.startsWith(prefix + `add`)) {
  2059. if(!message.guild.member(client.user).hasPermission("MANAGE_CHANNELS")) return message.channel.send(`**Error** :octagonal_sign:\nI Don\'t have MANAGE_CHANNELS Permission to do this`)
  2060. if(!message.channel.name.startsWith("ticket-")) return message.channel.send(`this command only for the tickets`);
  2061. let member = message.mentions.members.first();
  2062. if(!member) return message.channel.send(`**Please mention the user :x:**`);
  2063. if(message.channel.permissionsFor(member).has(['SEND_MESSAGES', 'VIEW_CHANNEL', 'READ_MESSAGE_HISTORY'])) return message.channel.send(`this member already in this ticket :rolling_eyes:`);
  2064. message.channel.overwritePermissions(member.id, { SEND_MESSAGES: true, VIEW_CHANNEL: true, READ_MESSAGE_HISTORY: true });
  2065. message.channel.send(`**Done :white_check_mark:\nSuccessfully added <@${member.user.id}> to the ticket**`)
  2066. let tgt = new Discord.RichEmbed()
  2067. .setColor(`GREEN`)
  2068. .setAuthor(`Added member to a ticket`)
  2069. .setDescription(`Ticket : #${message.channel.name}
  2070. Member : ${member}
  2071. by : <@${message.author.id}>`)
  2072. .setThumbnail(`https://cdn.discordapp.com/attachments/584630360017469461/588033109539160066/563111851165220885.png`)
  2073. .setTimestamp();
  2074. let log = message.guild.channels.find("name", "log");
  2075. if(log) return log.send(tgt);
  2076. } if(message.content.startsWith(prefix + `remove`)) {
  2077. if(!message.channel.name.startsWith("ticket-")) {
  2078. return message.channel.send(`this command only for the tickets`);
  2079. }
  2080. let member = message.mentions.members.first();
  2081. if(!member || member.id === client.user.id) {
  2082. return message.channel.send(`**Please mention the user :x:**`);
  2083. }
  2084. if(!message.channel.permissionsFor(member).has(['SEND_MESSAGES', 'VIEW_CHANNEL', 'READ_MESSAGE_HISTORY'])) {
  2085. return message.channel.send(`:x: **${member.user.tag}** is not in this ticket to remove them`);
  2086. }
  2087. message.channel.overwritePermissions(member.id, { SEND_MESSAGES: false, VIEW_CHANNEL: false, READ_MESSAGE_HISTORY: false });
  2088. message.channel.send(`**Done :white_check_mark:\nSuccessfully removed \`${member.user.tag}\` from the ticket**`)
  2089. let gtg = new Discord.RichEmbed()
  2090. .setColor(`BLUE`)
  2091. .setAuthor(`removed member from a ticket`)
  2092. .setDescription(`Ticket : #${message.channel.name}
  2093. Member : ${member}
  2094. by : <@${message.author.id}>`)
  2095. .setThumbnail(`https://cdn.discordapp.com/attachments/584630360017469461/588033111212949555/563111852352077886.png`)
  2096. .setTimestamp();
  2097. let log = message.guild.channels.find("name", "log");
  2098. if(log) return log.send(gtg);
  2099. }
  2100.  
  2101. });
  2102.  
  2103.  
  2104.  
  2105. const os = require('os');
  2106. client.on('message', message => {
  2107.  
  2108. let totalDMs = client.channels.filter(function (s) {
  2109. if (s.type && s.type === 'dm') {
  2110. return true;
  2111. }
  2112. return false;
  2113. })
  2114.  
  2115. let totalTextChannels = client.channels.filter(function (s) {
  2116. if (s.type && s.type === 'text') {
  2117. return true;
  2118. }
  2119. return false;
  2120. })
  2121.  
  2122. let cpu = os.cpus();
  2123. let cpuArray = cpu[0].model.replace(/\s+/g, " ").trim().split(" ");
  2124. let cpuCores = cpu.length;
  2125. let cpuSpeed = (cpu[0].speed / 1000) + "MHZ";
  2126. if (message.content.startsWith(prefix + "stats") || message.content.startsWith(prefix + "bot")) {
  2127. message.channel.send({
  2128. embed: new Discord.RichEmbed()
  2129. .setColor('#36393e')
  2130. .setTitle(' :information_source: Bot Information')
  2131. .addField('? Ping :', `**\`${client.ping}\` ms.**`,true)
  2132. .addField('? RAM Usage :', `**\`${(process.memoryUsage().rss / 1048576).toFixed()}\` MB.**`,true)
  2133. .addField('? Servers :', `**\`${client.guilds.size}\`**`,true)
  2134. .addField('? Channels :', `**\`${client.channels.size}\`**`,true)
  2135. .addField('? User :', `**\`${client.users.size}\`**`,true)
  2136. .addField('? Name :', `**\`${client.user.tag} \`**`,true)
  2137. .addField('? Platform:', `**\`${os.platform()}\`**`,true)
  2138. .addField('? CPU :', `**\`${cpuArray[0]} ${cpuArray[1]}\`**`,true)
  2139. .addField('? CPU Specs :', `**\`${cpuCores} @ ${cpuSpeed}\`**`,true)
  2140. .addField('? Private Conversations :', `**\`${totalDMs.size}\`**`,true)
  2141. .addField('? Developers :', `<@455653515881218048> , <@519312154558464021>`)
  2142. })
  2143. }
  2144. })
  2145.  
  2146.  
  2147.  
  2148.  
  2149. client.on('message', message => {
  2150. if(message.content.startsWith(prefix + 'moveall')) {
  2151. if (!message.member.hasPermission("MOVE_MEMBERS")) return message.channel.send('**لايوجد لديك صلاحية سحب الأعضاء**');
  2152. if(!message.guild.member(client.user).hasPermission("MOVE_MEMBERS")) return message.reply("**لايوجد لدي صلاحية السحب**");
  2153. if (message.member.voiceChannel == null) return message.channel.send(`**الرجاء الدخول لروم صوتي**`)
  2154. var author = message.member.voiceChannelID;
  2155. var m = message.guild.members.filter(m=>m.voiceChannel)
  2156. message.guild.members.filter(m=>m.voiceChannel).forEach(m => {
  2157. m.setVoiceChannel(author)
  2158. })
  2159. message.channel.send(`**تم سحب جميع الأعضاء الي الروم الصوتي حقك.**`)
  2160.  
  2161.  
  2162. }
  2163. });
  2164.  
  2165.  
  2166.  
  2167.  
  2168. let warnings = require("./warnings.json");
  2169. client.on('message', async message => {
  2170. let neko = message.guild.members.find("455653515881218048", "id");//all copyrights reserved to Baron ?#7159
  2171. if(message.content.startsWith(prefix + "warn")){
  2172. if(!message.member.hasPermission("ADMINISTRATOR") && !neko)return message.reply("you have to have the `ADMINISTRATOR` permission to use this command");
  2173. let wmem = message.mentions.members.first();
  2174. let wUser = message.mentions.users.first();//all copyrights reserved to Baron ?#7159
  2175. if(!wUser) return message.reply("I couldn't find that member");
  2176. let reason = message.content.split(" ").slice(2).join(" ");
  2177. //all copyrights reserved to Baron ?#7159
  2178. if(!warnings[wUser.id]) {//all copyrights reserved to Baron ?#7159
  2179. warnings[wUser.id] = {
  2180. warnings: 0
  2181. };//all copyrights reserved to Baron ?#7159
  2182. }
  2183. //all copyrights reserved to Baron ?#7159
  2184. message.delete(5000);
  2185. if (message.author.id === wUser.id)return message.channel.send("lolz ... you can't warn yourself").then(msg => {msg.delete(5000)});
  2186.  
  2187. const sWar = warnings[wUser.id].warnings;
  2188.  
  2189. warnings[wUser.id] = {
  2190. warnings: sWar + parseInt(1)//all copyrights reserved to Baron ?#7159
  2191. };
  2192.  
  2193. fs.writeFile("./warnings.json", JSON.stringify(warnings), (err) => {
  2194. if (err) console.log(err)
  2195. });
  2196. //all copyrights reserved to Baron ?#7159
  2197. if (reason) {
  2198. let warnbed = new Discord.RichEmbed()
  2199. .setTitle(`you've been warned`)
  2200. .setTimestamp()
  2201. .setDescription(`in the server ${message.guild}`)
  2202. .setColor(0x0ff000)
  2203. .addField('**By:**', `${message.member.displayName}`)
  2204. .addField('**For:**', `${reason}`)
  2205. wUser.send(warnbed);
  2206. }//all copyrights reserved to Baron ?#7159
  2207. if (!reason) {
  2208. let warnbe = new Discord.RichEmbed()
  2209. .setTitle(`you've been warned`)
  2210. .setTimestamp()
  2211. .setDescription(`in the server ${message.guild}`)
  2212. .setColor(0x0ff000)//all copyrights reserved to Baron ?#7159
  2213. .addField('**By:**', `${message.member.displayName}`)
  2214. wUser.send(warnbe);//all copyrights reserved to Baron ?#7159
  2215. }
  2216. message.channel.send(`${message.member.displayName} has warned ${wmem.displayName}`).then(msg => {msg.delete(5000)});
  2217. }})//all copyrights reserved to Baron ?#7159
  2218. client.on('message', async message =>{
  2219. if(message.content.startsWith(prefix+"totalwarns")) {//all copyrights reserved to Baron ?#7159
  2220. const atted = message.mentions.members.first();
  2221. const usr = message.mentions.users.first();let warnings = require("./warnings.json");
  2222. if (!atted) {//all copyrights reserved to Baron ?#7159
  2223. if(!warnings[message.author.id]){
  2224. warnings[message.author.id] = {//all copyrights reserved to Baron ?#7159
  2225. warnings: 0
  2226. };//all copyrights reserved to Baron ?#7159
  2227. }
  2228. let uWarns = warnings[message.author.id].warnings;
  2229. message.channel.send(`**Total Warnings:**, ${uWarns}`);
  2230. }
  2231. if (atted) {
  2232. if(!warnings[usr.id]){//all copyrights reserved to Baron ?#7159
  2233. warnings[usr.id] = {
  2234. warnings: 0
  2235. };//all copyrights reserved to Baron ?#7159
  2236. }
  2237. let mWarns = warnings[usr.id].warnings;//all copyrights reserved to Baron ?#7159
  2238. message.channel.send(`**Total Warnings:**, ${mWarns}`);
  2239. }//all copyrights reserved to Baron ?#7159
  2240. }
  2241. });
  2242. client.on('message', async message => {
  2243. if(message.content.startsWith(prefix+"clearwarns")) {
  2244. if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("you have to have the `ADMINISTRATOR` permission to use this command");
  2245. let wUser = message.mentions.users.first();//all copyrights reserved to Baron ?#7159
  2246. if(!wUser) return message.reply("I couldn't find that member");//all copyrights reserved to Baron ?#7159
  2247. let reason = message.content.split(" ").slice(2).join(" ");
  2248. //all copyrights reserved to Baron ?#7159
  2249. if(!warnings[wUser.id]) {
  2250. warnings[wUser.id] = {
  2251. warnings: 0//all copyrights reserved to Baron ?#7159
  2252. };
  2253. }
  2254. //all copyrights reserved to Baron ?#7159
  2255. message.delete(5000);
  2256. if (message.author.id === wUser.id)return message.channel.send("lolz ... you can't clear your own warnings").then(msg => {msg.delete(5000)});
  2257.  
  2258. let sWar = warnings[wUser.id].warnings;//all copyrights reserved to Baron ?#7159
  2259.  
  2260. warnings[wUser.id] = {
  2261. warnings: 0//all copyrights reserved to Baron ?#7159
  2262. };
  2263. //all copyrights reserved to Baron ?#7159
  2264. fs.writeFile("./warnings.json", JSON.stringify(warnings), (err) => {
  2265. if (err) console.log(err)
  2266. });
  2267. //all copyrights reserved to Baron ?#7159
  2268. let wmem = message.mentions.members.first();
  2269.  
  2270. if (reason) {//all copyrights reserved to Baron ?#7159
  2271. let warnbed = new Discord.RichEmbed()
  2272. .setTitle(`you've been cleared of all your warnings`)
  2273. .setTimestamp()//all copyrights reserved to Baron ?#7159
  2274. .setDescription(`in the server: ${message.guild}`)
  2275. .setColor(0x00ff00)//all copyrights reserved to Baron ?#7159
  2276. .addField('**By:**', `${message.member.displayName}`)
  2277. .addField('**For:**', `${reason}`)
  2278. .addField('**Remember:**', 'all of your warnings are GLOBAL ... meaning if you are warned in any server with this bot it carries over to all of the servers with this bot ..... try not to get more than 3 wrnings')
  2279. wUser.send(warnbed);
  2280. }//all copyrights reserved to Baron ?#7159
  2281. if (!reason) {
  2282. let warnbe = new Discord.RichEmbed()//all copyrights reserved to Baron ?#7159
  2283. .setTitle(`you've been cleared of all your warnings`)
  2284. .setTimestamp()
  2285. .setDescription(`in the server: ${message.guild}`)//all copyrights reserved to Baron ?#7159
  2286. .setColor(0x00ff00)
  2287. .addField('**By:**', `${message.member.displayName}`)
  2288. .addField('**Remember:**', 'all of your warnings are GLOBAL ... meaning if you are warned in any server with this bot it carries over to all of the servers with this bot ..... try not to get more than 3 wrnings')
  2289. wUser.send(warnbe); //all copyrights reserved to Baron ?#7159
  2290. }
  2291. //all copyrights reserved to Baron ?#7159
  2292. message.channel.send(`${message.member.displayName} has cleared all of ${wmem.displayName}'s warnings`);
  2293. console.log(`${message.member.displayName} has cleared all of ${wmem.displayName}'s warnings in the server ${message.guild}`);
  2294.  
  2295. }//all copyrights reserved to Baron ?#7159
  2296. })
  2297.  
  2298.  
  2299.  
  2300.  
  2301. const rWlc = JSON.parse(fs.readFileSync("./AutoRole.json", "utf8"));
  2302. client.on('message', message => {
  2303. if(message.channel.type === "dm") return;
  2304. if(message.author.bot) return;
  2305. if(!rWlc[message.guild.id]) rWlc[message.guild.id] = {
  2306. role: "member"
  2307. }
  2308. const channel = rWlc[message.guild.id].role
  2309. if (message.content.startsWith(prefix + "autorole")) {
  2310. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  2311. let newrole = message.content.split(' ').slice(1).join(" ")
  2312. if(!newrole) return message.reply(`**${prefix}autorole <role name>**`)
  2313. rWlc[message.guild.id].role = newrole
  2314. message.channel.send(`**${message.guild.name}'s role has been changed to ${newrole}**`);
  2315. }
  2316. fs.writeFile("./AutoRole.json", JSON.stringify(rWlc), function(e){
  2317. if (e) throw e;
  2318. })
  2319. });
  2320. client.on("guildMemberAdd", member => {
  2321. if(!rWlc[member.guild.id]) rWlc[member.guild.id] = {
  2322. role: "member"
  2323. }
  2324. const sRole = rWlc[member.guild.id].role
  2325. let Rrole = member.guild.roles.find('name', sRole);
  2326. member.addRole(Rrole);
  2327.  
  2328.  
  2329.  
  2330. });
  2331.  
  2332.  
  2333.  
  2334. client.on('message',async message => {
  2335. var time = moment().format('Do MMMM YYYY , hh:mm');
  2336. var room;
  2337. var title;
  2338. var duration;
  2339. var gMembers;
  2340. var currentTime = new Date(),
  2341. hours = currentTime.getHours() + 3 ,
  2342. minutes = currentTime.getMinutes(),
  2343. done = currentTime.getMinutes() + duration / 60000 ,
  2344. seconds = currentTime.getSeconds();
  2345. if (minutes < 10) {
  2346. minutes = "0" + minutes;
  2347. }
  2348. var suffix = "AM";
  2349. if (hours >= 12) {
  2350. suffix = "PM";
  2351. hours = hours - 12;
  2352. }
  2353. if (hours == 0) {
  2354. hours = 12;
  2355. }
  2356.  
  2357. var filter = m => m.author.id === message.author.id;
  2358. if(message.content.startsWith(prefix + "giveaway")) {
  2359.  
  2360. if(!message.guild.member(message.author).hasPermission('MANAGE_GUILD')) return message.channel.send(':heavy_multiplication_x:| **يجب أن يكون لديك خاصية التعديل على السيرفر**');
  2361. message.channel.send(`:eight_pointed_black_star:| **ارسل اسم روم الي تريد فيه الجيف اواي**`).then(msg => {
  2362. message.channel.awaitMessages(filter, {
  2363. max: 1,
  2364. time: 20000,
  2365. errors: ['time']
  2366. }).then(collected => {
  2367. let room = message.guild.channels.find('name' , collected.first().content);
  2368. if(!room) return message.channel.send(':heavy_multiplication_x:| **انا لقيت الروم :(**');
  2369. room = collected.first().content;
  2370. collected.first().delete();
  2371. msg.edit(':eight_pointed_black_star:| **وقت الجيف اواي**').then(msg => {
  2372. message.channel.awaitMessages(filter, {
  2373. max: 1,
  2374. time: 20000,
  2375. errors: ['time']
  2376. }).then(collected => {
  2377. if(isNaN(collected.first().content)) return message.channel.send(':heavy_multiplication_x:| **The Time Be Nambers `` Do the Commend Agin``**');
  2378. duration = collected.first().content * 60000;
  2379. collected.first().delete();
  2380. msg.edit(':eight_pointed_black_star:| **الشئ الي عليه الجيف اواي**').then(msg => {
  2381. message.channel.awaitMessages(filter, {
  2382. max: 1,
  2383. time: 20000,
  2384. errors: ['time']
  2385. }).then(collected => {
  2386. title = collected.first().content;
  2387. collected.first().delete();
  2388. msg.delete();
  2389. message.delete();
  2390. try {
  2391. let giveEmbed = new Discord.RichEmbed()
  2392. .setDescription(`**${title}** \nReact With ?? To Enter! \nTime remaining : ${duration / 60000} **Minutes**\n **Created at :** ${hours}:${minutes}:${seconds} ${suffix}`)
  2393. .setFooter(message.author.username, message.author.avatarURL);
  2394. message.guild.channels.find("name" , room).send(' :heavy_check_mark: **To Enter The Give Away Press** :tada:' , {embed: giveEmbed}).then(m => {
  2395. let re = m.react('??');
  2396. setTimeout(() => {
  2397. let users = m.reactions.get("??").users;
  2398. let list = users.array().filter(u => u.id !== m.author.id !== client.user.id);
  2399. let gFilter = list[Math.floor(Math.random() * list.length) + 0]
  2400. let endEmbed = new Discord.RichEmbed()
  2401. .setAuthor(message.author.username, message.author.avatarURL)
  2402. .setTitle(title)
  2403. .addField('Giveaway Ended !??',`Winners : ${gFilter} \nEnded at :`)
  2404. .setTimestamp()
  2405. m.edit('** ?? GIVEAWAY ENDED ??**' , {embed: endEmbed});
  2406. message.guild.channels.find("name" , room).send(`**Congratulations ${gFilter}! You won The \`${title}\`**` , {embed: {}})
  2407. },duration);
  2408. });
  2409. } catch(e) {
  2410. message.channel.send(`:heavy_multiplication_x:| **ما عندي برمشن الكافية لصنع الجيف اواي**`);
  2411. console.log(e);
  2412. }
  2413. });
  2414. });
  2415. });
  2416. });
  2417. });
  2418. });
  2419. }
  2420. });
  2421.  
  2422.  
  2423.  
  2424. client.on('message', message => {
  2425. if (message.content.startsWith(prefix + 'join')) {
  2426. if (!message.guild) return null
  2427. if(!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send('you don\'t have **ADMINISTRATOR** premission')
  2428. if (!message.member.voiceChannel) return message.channel.send('**please join a voice channel first ??**');
  2429. if(!message.member.voiceChannel.permissionsFor(client.user).has(['VIEW_CHANNEL','CONNECT'])) return message.channel.send(`**I Can't Join This Channel ?**`)
  2430. message.channel.send(`**I have joined \`${message.member.voiceChannel.name}\`?**`),message.member.voiceChannel.join().catch(mystery => { message.channel.send(`ERROR`) });
  2431. }
  2432. });
  2433.  
  2434.  
  2435. ////////////////////////////////////////////////////////////////////////////////
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504. client.login("");
Advertisement
Add Comment
Please, Sign In to add comment