gaber-elsayed

system bot

Sep 30th, 2021
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 131.17 KB | None | 0 0
  1. const express = require("express");
  2. const app = express();
  3. const fs = require("fs");
  4. const Discord = require("discord.js");
  5. const client = new Discord.Client();
  6. const dateFormat = require("dateformat");
  7. const moment = require("moment");
  8. const { prefix, token, roomid, website, youtubekey } = require("./Config/configuration.json");
  9. const YouTube = require("simple-youtube-api");
  10. const ytdl = require("ytdl-core");
  11. const youtube = new YouTube(youtubekey);
  12. app.listen(() => console.log(""));
  13. app.use("/ping", (req, res) => { res.send(new Date())
  14. });
  15. client.login(token).catch(err => console.error(`[ Discord ] Worng Token :<`))
  16.  
  17. client.on("ready", async () => {
  18. console.log(`
  19. ::::::::::::::::::::::::::::::::::::::::::::::::::
  20. : :
  21. : - bot name : ${client.user.username} :
  22. : :
  23. ::::::::::::::::::::::::::::::::::::::::::::::::::
  24. : :
  25. : - server : ${client.guilds.size} :
  26. : :
  27. ::::::::::::::::::::::::::::::::::::::::::::::::::
  28. : :
  29. : - bot id : ${client.user.id} :
  30. : :
  31. ::::::::::::::::::::::::::::::::::::::::::::::::::`)
  32. await client.user.setActivity(`${prefix}help`, {
  33. type: "PLAYING",
  34. })
  35. });
  36.  
  37. client.on("message", async message => {
  38. if (message.content.startsWith(prefix + "help")) {
  39. message.channel.send(new Discord.RichEmbed().setAuthor("Helpful Links").setDescription(`**
  40. [Add To Your Server](https://discord.com/oauth2/authorize?client_id=${client.user.id}&scope=bot&permissions=2117594495)
  41. [ProBot commands](${website})**`))
  42. .then(m => {
  43. message.react('✅');
  44. })
  45. .catch(() => {
  46. message.react('❌');
  47. });
  48. }
  49. })
  50.  
  51. client.on("message", message => {
  52. let args = message.content.split(" ");
  53. if (message.content.startsWith(prefix + "profile")) {
  54. let member = message.mentions.users.first();
  55.  
  56. if (args[0] && !args[1]) {
  57. message.channel.startTyping();
  58. setTimeout(() => {
  59. message.channel.stopTyping();
  60. }, Math.random() * (1 - 3) + 1 * 1000);
  61. message.channel.send({
  62. files: [
  63. {
  64. name: "cutie=client.png",
  65. attachment: `https://api.probot.io/profile/${message.author.id}`
  66. }
  67. ]
  68. });
  69. }
  70. if (member) {
  71. message.channel.startTyping();
  72. setTimeout(() => {
  73. message.channel.stopTyping();
  74. }, Math.random() * (1 - 3) + 1 * 1000);
  75. message.channel.send({
  76. files: [
  77. {
  78. name: "cutie=client.png",
  79. attachment: `https://api.probot.io/profile/${member.id}`
  80. }
  81. ]
  82. });
  83. } else if (args[1] && !member) {
  84. client.fetchUser(args[1]).then(userr => {
  85. message.channel.stopTyping();
  86. setTimeout(() => {
  87. message.channel.stopTyping();
  88. }, Math.random() * (1 - 3) + 1 * 1000);
  89. message.channel.send({
  90. files: [
  91. {
  92. name: "cutie=client.png",
  93. attachment: `https://api.probot.io/profile/${userr.id}`
  94. }
  95. ]
  96. });
  97. });
  98. }
  99. }
  100. });
  101.  
  102. client.on('message', async message => {
  103.  
  104. let Fire = message.content.split(' ')[0].substring(prefix.length);
  105. let mention = message.mentions.users.first() || message.author;
  106. if (Fire === 'acredits') {
  107. let args = message.content.split(' ');
  108. if (!devs.includes(message.author.id)) return;
  109. if (!args[1] || isNaN(args[1])) return message.reply('**اكتب عدد الرصيد**');
  110. if (!credits[mention.id]) return;
  111. credits[mention.id].credits += +args[1];
  112. fs.writeFileSync('./data/credits.json', JSON.stringify(credits));
  113. console.log(credits[mention.id]);
  114. message.reply(`** Adedd Money For : \`${args[1]}\` Done **`);
  115. } else if (Fire === 'rcredits') {
  116. let args = message.content.split(' ');
  117. if (!devs.includes(message.author.id)) return;
  118. if (!args[1] || isNaN(args[1])) return message.reply('**اكتب عدد الرصيد**');
  119. if (!credits[mention.id]) return;
  120. credits[mention.id].credits += -args[1];
  121. fs.writeFileSync('./data/credits.json', JSON.stringify(credits));
  122. console.log(credits[mention.id]);
  123. message.reply(`**, Remove Money For : \`${args[1]}\`**`);
  124. }
  125. });
  126.  
  127.  
  128. ////////////////////////////////////////////////
  129.  
  130. const credits = JSON.parse(fs.readFileSync('./data/credits.json'));
  131. var time = require('./data/credits.json');
  132. client.on('message', async message => {
  133.  
  134.  
  135. if (message.author.bot || message.channel.type === 'dm') return;
  136. let args = message.content.split(' ');
  137. let author = message.author.id;
  138. if (!credits[author])
  139. credits[author] = {
  140. credits: 0
  141. };
  142. fs.writeFileSync('./data/credits.json', JSON.stringify(credits, null, 4));
  143. if (args[0].toLowerCase() == `${prefix}credits`) {
  144. const mention = message.mentions.users.first() || message.author;
  145. const mentionn = message.mentions.users.first();
  146. if (!args[2]) {
  147. message.channel.send(
  148. `**${mention.username}, your :credit_card: balance is \`$${
  149. credits[mention.id].credits
  150. }\`**`
  151. );
  152. } else if (mentionn && args[2]) {
  153. if (isNaN(args[2]) || [',', '.'].includes(args[2]))
  154. return message.channel.send(`**:x: | خطا **`);
  155.  
  156. if (args[2] < 1) return message.channel.send(`**:x: | خطا**`);
  157. if (mention.bot) return message.channel.send(`**:x: | خطا**`);
  158. if (mentionn.id === message.author.id)
  159. return message.channel.send(`**:x: | خطا**`);
  160. if (args[2] > credits[author].credits)
  161. return message.channel.send(
  162. `**:x: | Error ,You dont have credits in your account**`
  163. );
  164. if (args[2].includes('-')) return message.channel.send(`**:x: | خطا**`);
  165. let resulting =
  166. parseInt(args[2]) == 1
  167. ? parseInt(args[2])
  168. : Math.floor(args[2] - args[2] * (5 / 100));
  169. let tax =
  170. parseInt(args[2]) == 1
  171. ? parseInt(args[2])
  172. : Math.floor(args[2] * (5 / 100));
  173. let first = Math.floor(Math.random() * 9);
  174. let second = Math.floor(Math.random() * 9);
  175. let third = Math.floor(Math.random() * 9);
  176. let fourth = Math.floor(Math.random() * 9);
  177. let num = `${first}${second}${third}${fourth}`;
  178. let Canvas = require('canvas');
  179. let canvas = Canvas.createCanvas(108, 40);
  180. let ctx = canvas.getContext('2d');
  181. const background = await Canvas.loadImage(
  182. 'https://cdn.discordapp.com/attachments/608278049091223552/617791172810899456/hmmm.png'
  183. );
  184. ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
  185. ctx.font = '20px Arial Bold';
  186. ctx.fontSize = '20px';
  187. ctx.fillStyle = '#ffffff';
  188. message.channel
  189. .send(
  190. `**${
  191. message.author.username
  192. }, Transfer Fees: \`${tax}\`, Amount: \`$${resulting.toLocaleString()}\`**
  193. type these numbers to confirm: `
  194. )
  195. .then(async essss => {
  196. message.channel.send(`\`${num}\``).then(m => {
  197. message.channel
  198. .awaitMessages(r => r.author.id === message.author.id, {
  199. max: 1,
  200. time: 20000,
  201. errors: ['time']
  202. })
  203. .then(collected => {
  204. if (collected.first().content === num) {
  205. essss.delete();
  206. message.channel.send(
  207. `**:moneybag: | ${
  208. message.author.username
  209. }, Done Trans \`$${resulting.toLocaleString()}\` To ${mentionn}**`
  210. );
  211. mention.send(
  212. `**:money_with_wings: | Transfer Receipt **\`\`\`You Have Received \`$${resulting.toLocaleString()}\` From User ${
  213. message.author.username
  214. }; (ID (${message.author.id})\`\`\``
  215. );
  216. m.delete();
  217. credits[author].credits += Math.floor(
  218. -resulting.toLocaleString()
  219. );
  220. credits[mentionn.id].credits += Math.floor(
  221. +resulting.toLocaleString()
  222. );
  223. fs.writeFileSync(
  224. './data/credits.json',
  225. JSON.stringify(credits, null, 4)
  226. );
  227. } else {
  228. m.delete();
  229. essss.delete();
  230. }
  231. });
  232. });
  233. });
  234. } else {
  235. message.channel.send(
  236. `**:x: | Error , Please Command True Ex: \`${prefix}credits [MentionUser] [Balance]\`**`
  237. );
  238. }
  239. }
  240. if (args[0].toLowerCase() === `${prefix}daily`) {
  241. let cooldown = 8.64e7;
  242. let Daily = time[message.author.id];
  243. if (Daily !== null && cooldown - (Date.now() - Daily) > 0) {
  244. let times = cooldown - (Date.now() - Daily);
  245. message.channel.send(
  246. `**:stopwatch: | ${
  247. message.author.username
  248. }, your daily :dollar: credits refreshes in ${pretty(times, {
  249. verbose: true
  250. })}.**`
  251. );
  252. fs.writeFile('./data/credits.json', JSON.stringify(time), function(e) {
  253. if (e) throw e;
  254. });
  255. } else {
  256. let ammount = (300, 500, 100, 200, 120, 150, 350, 320, 220, 250);
  257. credits[author].credits += ammount;
  258. time[message.author.id] = Date.now();
  259. message.channel.send(
  260. `**:atm: | ${message.author.username} you received your :yen: 250 daily credits!**`);
  261. fs.writeFile('./data/credits.json', JSON.stringify(credits), function(e) {
  262. if (e) throw e;
  263. });
  264. }
  265. }
  266. });
  267.  
  268. let xp = require('./data/xp.json'); //سوي ملف بأسم xp.json
  269.  
  270. client.on('message', message => {
  271.  
  272.  
  273. if (message.author.bot) return;
  274. if (message.channel.type == "dm") return;
  275.  
  276.  
  277. let Addxp = Math.floor(Math.random() * 6) + 8;
  278.  
  279. if (!xp[message.author.id]) {
  280. xp[message.author.id] = {
  281. xp: 0,
  282. level: 1
  283. };
  284. }
  285.  
  286. let curxp = xp[message.author.id].xp;
  287. let curlvl = xp[message.author.id].level + 1;
  288. let nextLvL = xp[message.author.id].level * 1000; //كل كم اكس بي لحتا يرتفع لفله انصحكم تخلونه فوق ال الف
  289. xp[message.author.id].xp = curxp + Addxp;
  290. if (nextLvL <= xp[message.author.id].xp) {
  291. xp[message.author.id].level = xp[message.author.id].level + 1;
  292.  
  293. let lvlup = new Discord.RichEmbed()
  294. .setTitle('Level Up!')
  295. .setColor(`BLUE`)
  296. .setDescription(`New Level: ` + curlvl)
  297. .setTimestamp()
  298. .setFooter(message.author.username + '#' + message.author.discriminator);
  299. message.channel.send(lvlup)
  300. }
  301. fs.writeFile("./data/xp.json", JSON.stringify(xp), (err) => {
  302. if (err) console.log(err)
  303. });
  304.  
  305.  
  306. });
  307.  
  308. client.on('message', message => {
  309.  
  310. if (message.author.bot) return;
  311. if (message.channel.type == "dm") return;
  312.  
  313.  
  314. let curxp = xp[message.author.id].xp;
  315. let curlvl = xp[message.author.id].level;
  316. let nextlvlxp = curlvl * 200;
  317. let difference = nextlvlxp - curxp
  318.  
  319. if (message.content == prefix + "rank") {
  320.  
  321. if (!xp[message.author.id]) {
  322. xp[message.author.id] = {
  323. xp: 0,
  324. level: 1,
  325. }
  326. }
  327. fs.writeFile("./data/xp.json", JSON.stringify(xp), (err) => {
  328. if (err) console.log(err)
  329. });
  330. var embed = new Discord.RichEmbed()
  331. .setAuthor(message.author.username)
  332. .setColor(`BLUE`)
  333. .setTitle('Your rank')
  334. .addField('XP: ', curxp, true)
  335. .addField('Level: ', curlvl, true)
  336. .setFooter(` ${difference} xp till level up `, message.author.displayAvatarURL);
  337. message.channel.send(embed);
  338.  
  339. }
  340. });
  341.  
  342. var top = require("./data/top.json");
  343. function save() {
  344. fs.writeFileSync("./data/top.json", JSON.stringify(top, null, 4));
  345. }
  346. client.on("voiceStateUpdate", async function(oldMember, newMember) {
  347.  
  348. if (newMember.user.bot) return;
  349. if (!top[newMember.guild.id]) top[newMember.guild.id] = {};
  350. if (!top[newMember.guild.id][newMember.user.id]) top[newMember.guild.id][newMember.user.id] = {
  351. "text": 0,
  352. "voice": parseInt(Math.random() * 10),
  353. "msgs": 0,
  354. "id": newMember.user.id
  355. }
  356. save();
  357. if (!oldMember.voiceChannel && newMember.voiceChannel) {
  358. var addXP = setInterval(async function() {
  359. top[newMember.guild.id][newMember.user.id].voice += parseInt(Math.random() * 4);
  360. save();
  361. if (!newMember.voiceChannel) {
  362. clearInterval(addXP);
  363. }
  364. }, 60000);
  365. }
  366. });
  367.  
  368.  
  369.  
  370. client.on("message", async function(message) {
  371.  
  372. if (message.author.bot) return;
  373. if (!message.guild) return;
  374. if (!top[message.guild.id]) top[message.guild.id] = {};
  375. if (!top[message.guild.id][message.author.id]) top[message.guild.id][message.author.id] = {
  376. "text": parseInt(Math.random() * 10),
  377. "voice": 1,
  378. "msgs": 0,
  379. "id": message.author.id
  380. }
  381. if (top[message.guild.id][message.author.id].msgs > 10) {
  382. top[message.guild.id][message.author.id].text += parseInt(Math.random() * 4);
  383. top[message.guild.id][message.author.id].msgs = 0;
  384. }
  385. save();
  386. var args = message.content.split(" ");
  387. var cmd = args[0].toLowerCase();
  388. if (!message.content.startsWith(prefix)) return;
  389. if (message.content.startsWith(prefix + "top text")) {
  390. var topArray = Object.values(top[message.guild.id]);
  391. var num = 0;
  392. var textStr = `${topArray.sort((a, b) => b.text - a.text).slice(0, 5).filter(user => user.text > 0 && message.guild.members.get(user.id)).map(function(user) {
  393. if (user.text > 0) {
  394. return `**#${++num} | <@${user.id}> XP: \`${user.text}\` **`
  395. }
  396. }).join("\n")}`;
  397. var embed = new Discord.RichEmbed()
  398. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  399. .setColor(`RED`)
  400. .addField(`**:speech_balloon: | TEXT LEADERBOARD**`, `${textStr} \n\n\n **\`${prefix}top text\`**`, true)
  401. .setFooter(message.author.tag, message.author.displayAvatarURL)
  402. .setTimestamp()
  403. message.channel.send({
  404. embed: embed
  405. });
  406. // if (!message.content.startsWith(prefix)) return;
  407. } else {
  408. if (message.content.startsWith(prefix + "top voice")) {
  409. var topArray = Object.values(top[message.guild.id]);
  410. var num = 0;
  411. var voiceStr = `${topArray.sort((a, b) => b.voice - a.voice).slice(0, 5).filter(user => user.voice > 0 && message.guild.members.get(user.id)).map(function(user) {
  412. if (user.voice > 0) {
  413. return `**#${++num} | <@${user.id}> XP: \`${user.voice}\` **`
  414. }
  415. }).join("\n")}`;
  416. var embed = new Discord.RichEmbed()
  417. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  418. .setColor(`RED`)
  419. .addField(`**:microphone2: | VOICE LEADERBOARD**`, `${voiceStr} \n\n\n **:sparkles:\`${prefix}top voice\``, true)
  420.  
  421. .setFooter(message.author.tag, message.author.displayAvatarURL)
  422. .setTimestamp()
  423. message.channel.send({
  424. embed: embed
  425. });
  426.  
  427.  
  428. // break;
  429. // if (!message.content.startsWith(prefix)) return;
  430. } else {
  431. if (message.content.startsWith(prefix + "top")) {
  432. var topArray = Object.values(top[message.guild.id]);
  433. var num = 0;
  434. var textStr = `${topArray.sort((a, b) => b.text - a.text).slice(0, 10).filter(user => user.text > 0 && message.guild.members.get(user.id)).map(function(user) {
  435. if (user.text > 0) {
  436. return `**#${++num} | <@${user.id}> XP: \`${user.text}\` **`
  437. }
  438. }).join("\n")}`;
  439. num = 0;
  440. var voiceStr = `${topArray.sort((a, b) => b.voice - a.voice).slice(0, 10).filter(user => user.voice > 0 && message.guild.members.get(user.id)).map(function(user) {
  441. if (user.voice > 0) {
  442. return `**#${++num} | <@${user.id}> XP: \`${user.voice}\` **`
  443. }
  444. }).join("\n")}`;
  445. var embed = new Discord.RichEmbed()
  446. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  447. .addField("**TOP 5 TEXT :speech_balloon:**", `${textStr} \n\n **:sparkles: More?** \`${prefix}top text\``, true)
  448. .addField("**TOP 5 VOICE :microphone2:**", `${voiceStr} \n\n **:sparkles: More?** \`${prefix}top voice\``, true)
  449. .setFooter(message.author.tag, message.author.displayAvatarURL)
  450. .setTimestamp()
  451. .setColor(`RED`);
  452. message.channel.send({
  453. embed: embed
  454.  
  455.  
  456. });
  457.  
  458.  
  459.  
  460. }
  461. }
  462. }
  463.  
  464. });
  465.  
  466. client.on('message', message => {
  467. if (message.content.startsWith(prefix + "user")) {
  468. var args = message.content.split(" ").slice(1);
  469. let user = message.mentions.users.first();
  470. var men = message.mentions.users.first();
  471. var heg;
  472. if (men) {
  473. heg = men
  474. } else {
  475. heg = message.author
  476. }
  477. var mentionned = message.mentions.members.first();
  478. var h;
  479. if (mentionned) {
  480. h = mentionned
  481. } else {
  482. h = message.member
  483. }
  484. moment.locale('ar-TN');
  485. var id = new Discord.RichEmbed()
  486. .setAuthor(message.author.username, message.author.avatarURL)
  487. .setColor(`RANDOM`)
  488. .addField('**JOINED DISCORD :**', `${moment(heg.createdTimestamp).format('YYYY/M/D')} **\n** \`${moment(heg.createdTimestamp).fromNow()}\``, true)
  489. .addField('**JOINED SERVER :**', `${moment(h.joinedAt).format('YYYY/M/D')} \n \`${moment(h.joinedAt).fromNow()}\``, true)
  490. .setThumbnail(heg.avatarURL);
  491. message.channel.send(id)
  492. }
  493. });
  494.  
  495. client.on("message", message => {
  496. if (message.author.bot) return;
  497. if (!message.content.startsWith(prefix)) return;
  498. if (message.content.startsWith(prefix + "avatar")) {
  499. const mention = message.mentions.users.first()
  500.  
  501. if (!mention) return console.log("")
  502. let embed = new Discord.RichEmbed()
  503. .setColor("BLACK")
  504. .setAuthor(`${mention.username}#${mention.discriminator}`, `${mention.avatarURL}`)
  505. .setTitle("Avatar Link")
  506. .setURL(`${mention.avatarURL}`)
  507. .setImage(`${mention.avatarURL}`)
  508. .setFooter(`Requested By ${message.author.tag}`, `${message.author.avatarURL}`)
  509. message.channel.send(embed)
  510. }
  511. })
  512.  
  513. client.on("message", message => {
  514. if (message.author.bot) return;
  515. if (!message.content.startsWith(prefix)) return;
  516. if (message.content.startsWith(prefix + "avatar server")) {
  517. let doma = new Discord.RichEmbed()
  518. .setColor("BLACK")
  519. .setAuthor(message.guild.name, message.guild.iconURL)
  520. .setTitle("Avatar Link")
  521. .setURL(message.guild.iconURL)
  522. .setImage(message.guild.iconURL)
  523. .setFooter(`Requested By ${message.author.tag}`, message.author.avatarURL)
  524. message.channel.send(doma)
  525. } else if (message.content.startsWith(prefix + "avatar")) {
  526. let args = message.content.split(" ")[1]
  527. var avt = args || message.author.id;
  528. client.fetchUser(avt).then(user => {
  529. avt = user;
  530. let embed = new Discord.RichEmbed()
  531. .setColor("BLACK")
  532. .setAuthor(`${avt.tag}`, avt.avatarURL)
  533. .setTitle("Avatar Link")
  534. .setURL(avt.avatarURL)
  535. .setImage(avt.avatarURL)
  536. .setFooter(`Requested By ${message.author.tag}`, message.author.avatarURL)
  537. message.channel.send(embed)
  538. })
  539. }
  540. });
  541.  
  542. client.on('message', message => {
  543. if (message.content.startsWith(prefix + "server")) {
  544. if (!message.guild.member(message.author).hasPermission("ADMINISTRATOR")) return message.reply(`**هذه الخاصية للادارة فقط** :negative_squared_cross_mark: `)
  545. if (!message.channel.guild) return message.reply(' ');
  546. const millis = new Date().getTime() - message.guild.createdAt.getTime();
  547. const now = new Date();
  548. dateFormat(now, 'dddd, mmmm dS, yyyy, h:MM:ss TT');
  549. const verificationLevels = ['None', 'Low', 'Medium', 'Insane', 'Extreme'];
  550. const days = millis / 1000 / 60 / 60 / 24;
  551. let roles = client.guilds.get(message.guild.id).roles.map(r => r.name);
  552. var embed = new Discord.RichEmbed()
  553. .setAuthor(message.guild.name, message.guild.iconURL)
  554. .addField("**🆔 Server ID:**", message.guild.id, true)
  555. .addField("**📅 Created On**", message.guild.createdAt.toLocaleString(), true)
  556. .addField("**👑 Owned by**", `${message.guild.owner.user.username}#${message.guild.owner.user.discriminator}`)
  557. .addField(`**👥 Members (${message.guild.memberCount})**`, `**${
  558. message.guild.members.filter(c => c.presence.status !== "ONLINE").size}** **Online**`, true)
  559. .addField('**💬 Channels **', `**${message.guild.channels.filter(m => m.type === 'text').size}**` + ' text | Voice ' + `**${message.guild.channels.filter(m => m.type === 'voice').size}** `, true)
  560. .addField("**🌍 Others **", message.guild.region, true)
  561. .addField(`**🔐 Roles (${message.guild.roles.size})**`, `To see a list with all roles use **#roles** `, true)
  562. .setColor(`BLACK`)
  563. message.channel.sendEmbed(embed)
  564.  
  565. }
  566.  
  567. client.on("message", message => {
  568. if (message.author.bot) return;
  569.  
  570. let command = message.content.split(" ")[0];
  571.  
  572. if (command === prefix + "unmute") {
  573. if (message.author.bot) return;
  574. if (!message.member.hasPermission("MANAGE_ROLES"))
  575. return message
  576. .reply("** لا يوجد لديك برمشن 'Manage Roles' **")
  577. .catch(console.error);
  578. let user = message.mentions.users.first();
  579. let modlog = client.channels.find(gg => gg.name === "log");
  580. let muteRole = client.guilds
  581. .get(message.guild.id)
  582. .roles.find(gg => gg.name === "Muted");
  583. if (!muteRole)
  584. return message
  585. .reply("** لا يوجد لديك رتبه الميوت 'Muted' **")
  586. .catch(console.error);
  587. if (message.mentions.users.size < 1)
  588. return message
  589. .channel.send(new Discord.RichEmbed().setDescription(`
  590. **Command: unmute**
  591.  
  592. Unmutes a member.
  593.  
  594. **Usage:**
  595. #unmute (user)
  596.  
  597. **Examples:**
  598. #unmute @ニロ
  599. #unmute 157605500488384512`))
  600. .catch(console.error);
  601. const embed = new Discord.RichEmbed()
  602. .setColor(0x00ae86)
  603. .setTimestamp()
  604. .addField("الأستعمال:", "اسكت/احكي")
  605. .addField(
  606. "تم فك الميوت عن:",
  607. `${user.username}#${user.discriminator} (${user.id})`
  608. )
  609. .addField(
  610. "بواسطة:",
  611. `${message.author.username}#${message.author.discriminator}`
  612. );
  613.  
  614. if (
  615. !message.guild
  616. .member(client.user)
  617. .hasPermission("MANAGE_ROLES_OR_PERMISSIONS")
  618. )
  619. return message
  620. .reply("** لا يوجد لدي برمشن Manage Roles **")
  621. .catch(console.error);
  622.  
  623. if (message.guild.member(user).removeRole(muteRole.id)) {
  624. return message
  625. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  626. .catch(console.error);
  627. } else {
  628. message.guild
  629. .member(user)
  630. .removeRole(muteRole)
  631. .then(() => {
  632. return message
  633. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  634. .catch(console.error);
  635. });
  636. }
  637. }
  638. });
  639. client.on("message", message => {
  640. if (message.author.bot) return;
  641.  
  642. let command = message.content.split(" ")[0];
  643.  
  644. if (command === prefix + "unmute") {
  645. if (message.author.bot) return;
  646. if (!message.member.hasPermission("MANAGE_ROLES"))
  647. return message
  648. .reply("** لا يوجد لديك برمشن 'Manage Roles' **")
  649. .catch(console.error);
  650. let user = message.mentions.users.first();
  651. let modlog = client.channels.find(gg => gg.name === "log");
  652. let muteRole = client.guilds
  653. .get(message.guild.id)
  654. .roles.find(gg => gg.name === "Muted");
  655. if (!muteRole)
  656. return message
  657. .reply("** لا يوجد لديك رتبه الميوت 'Muted' **")
  658. .catch(console.error);
  659. if (message.mentions.users.size < 1)
  660. return message
  661. .reply("** يجب عليك منشنت شخص اولاً**")
  662. .catch(console.error);
  663. const embed = new Discord.RichEmbed()
  664. .setColor(0x00ae86)
  665. .setTimestamp()
  666. .addField("الأستعمال:", "اسكت/احكي")
  667. .addField(
  668. "تم فك الميوت عن:",
  669. `${user.username}#${user.discriminator} (${user.id})`
  670. )
  671. .addField(
  672. "بواسطة:",
  673. `${message.author.username}#${message.author.discriminator}`
  674. );
  675.  
  676. if (
  677. !message.guild
  678. .member(client.user)
  679. .hasPermission("MANAGE_ROLES_OR_PERMISSIONS")
  680. )
  681. return message
  682. .reply("** لا يوجد لدي برمشن Manage Roles **")
  683. .catch(console.error);
  684.  
  685. if (message.guild.member(user).removeRole(muteRole.id)) {
  686. return message
  687. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  688. .catch(console.error);
  689. } else {
  690. message.guild
  691. .member(user)
  692. .removeRole(muteRole)
  693. .then(() => {
  694. return message
  695. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  696. .catch(console.error);
  697. });
  698. }
  699. }
  700. });
  701. });
  702.  
  703. client.on("message", message => {
  704. if (message.content.startsWith(prefix + "setnick")) {
  705. if (message.author.bot || message.channel.type == "dm" || !message.member.hasPermission("MANAGE_NICKNAMES") || !message.guild.member(client.user).hasPermission("MANAGE_NICKNAMES")) return;
  706. var user = message.mentions.members.first();
  707. var args = message.content.split(" ").slice(2);
  708. var nick = args.join(" ");
  709. if (!user || !args) return message.channel.send(`
  710. \`\`\`js
  711. Command: setnick
  712. EX:
  713. #setnick @7mada mada
  714. \`\`\`
  715. `);
  716. message.guild.member(user.user).setNickname(`${nick}`);
  717. message.channel.send(`Successfully changed **${user}** nickname to **${nick}**`);
  718. }
  719. });
  720.  
  721. client.on("message", message => {
  722. if (message.author.codes) return;
  723. if (!message.content.startsWith(prefix)) return;
  724.  
  725. let command = message.content.split(" ")[0];
  726. command = command.slice(prefix.length);
  727.  
  728. let args = message.content.split(" ").slice(1);
  729.  
  730. if (command == "ban") {
  731. if (message.author.bot) return;
  732. if (!message.channel.guild)
  733. return message.reply("** This command only for servers**");
  734.  
  735. if (!message.guild.member(message.author).hasPermission("BAN_MEMBERS"))
  736. return message.reply("**انت لا تملك الصلاحيات المطلوبه**");
  737. if (!message.guild.member(client.user).hasPermission("BAN_MEMBERS"))
  738. return message.reply("**I Don't Have ` BAN_MEMBERS ` Permission**");
  739. let user = message.mentions.users.first();
  740.  
  741. if (message.mentions.users.size < 1) return message.channel.send(new Discord.RichEmbed().setDescription(`
  742. **Command: ban**
  743.  
  744. Bans a member.
  745.  
  746. **Usage:**
  747. #ban (user) (time m/h/d/mo/y) (reason)
  748.  
  749. **Examples:**
  750. #ban @ニロ
  751. #ban @ニロ spamming
  752. #ban @ニロ 1h spamming
  753. #ban @ニロ 1d spamming
  754. #ban @ニロ 1w
  755. `));
  756. if (
  757. message.mentions.members.first().highestRole.position >=
  758. message.member.highestRole.position
  759. )
  760. return message.channel.send("ما تقدر تبند شخص رتبته اعلى منك!");
  761. if (!message.guild.member(user).bannable)
  762. return message.reply(
  763. "**يجب ان تكون رتبة البوت اعلي من رتبه الشخص المراد تبنيدة**"
  764. );
  765.  
  766. message.guild.member(user).ban(7, user);
  767.  
  768. message.channel.send(
  769. `**:white_check_mark: ${user.tag} banned from the server ! :airplane: ** `
  770. );
  771. }
  772. });
  773.  
  774. client.on("message", message => {
  775. if (message.author.x5bz) return;
  776. if (!message.content.startsWith(prefix)) return;
  777.  
  778. let command = message.content.split(" ")[0];
  779. command = command.slice(prefix.length);
  780.  
  781. let args = message.content.split(" ").slice(1);
  782.  
  783. if (command == "kick") {
  784. if (message.author.bot) return;
  785. if (!message.channel.guild)
  786. return message.reply("** This command only for servers**");
  787.  
  788. if (!message.guild.member(message.author).hasPermission("KICK_MEMBERS"))
  789. return message.reply("**You Don't Have ` KICK_MEMBERS ` Permission**");
  790. if (!message.guild.member(client.user).hasPermission("KICK_MEMBERS"))
  791. return message.reply("**I Don't Have ` KICK_MEMBERS ` Permission**");
  792. let user = message.mentions.users.first();
  793. let reason = message.content
  794. .split(" ")
  795. .slice(2)
  796. .join(" ");
  797. if (message.mentions.users.size < 1) return message.channel.send(new Discord.RichEmbed().setDescription(`
  798. **Command: kick**
  799.  
  800. Kicks a member.
  801.  
  802. **Usage:**
  803. #kick (user) (reason)
  804.  
  805. **Examples:**
  806. #kick @ニロ
  807. #kick 157605500488384512
  808. `));
  809. if (!reason) return message.reply("**اكتب سبب الطرد**");
  810. if (!message.guild.member(user).kickable)
  811. return message.reply(
  812. "**لايمكنني طرد شخص اعلى من رتبتي يرجه اعطاء البوت رتبه عالي**"
  813. );
  814. if (
  815. message.mentions.members.first().highestRole.position >=
  816. message.member.highestRole.position
  817. )
  818. return message.channel.send("ما تقدر تطرد شخص رتبته اعلى منك!");
  819.  
  820. message.guild.member(user).kick();
  821.  
  822. const kickembed = new Discord.RichEmbed()
  823. .setAuthor(`KICKED!`, user.displayAvatarURL)
  824. .setColor(`${color}`)
  825. .setTimestamp()
  826. .addField("**User:**", "**[ " + `${user.tag}` + " ]**")
  827. .addField("**By:**", "**[ " + `${message.author.tag}` + " ]**")
  828. .addField("**Reason:**", "**[ " + `${reason}` + " ]**");
  829. message.channel.send({
  830. embed: kickembed
  831. });
  832. }
  833. });
  834.  
  835. client.on("message", async message => {
  836. var command = message.content.toLowerCase().split(" ")[0];
  837. var args = message.content.toLowerCase().split(" ");
  838. var userM = message.mentions.users.first();
  839. if (command == prefix + "unban") {
  840. if (!message.member.hasPermission("BAN_MEMBERS"))
  841. return message.channel.send(
  842. ":no_entry: | You dont have **BAN_MEMBERS** Permission!"
  843. );
  844. if (!message.guild.member(client.user).hasPermission("BAN_MEMBERS"))
  845. return message.channel.send(
  846. ":no_entry: | I dont have **BAN_MEMBERS** Permission!"
  847. );
  848. if (!args[1])
  849. return message.channel.send(new Discord.RichEmbed().setDescription(`
  850. **Command: unban**
  851.  
  852. Unbans a member.
  853.  
  854. **Usage:**
  855. #unban (username / user id)
  856.  
  857. **Examples:**
  858. #unban @ニロ
  859. #unban 157605500488384512
  860. `));
  861. if (args[1].length < 16)
  862. return message.reply(":no_entry: | This ID is not id user!");
  863. message.guild.fetchBans().then(bans => {
  864. var Found = bans.find(m => m.id === args[1]);
  865. if (!Found)
  866. return message.channel.send(
  867. `:no_entry: | <@${message.author.id}> This preson not have any ban from this server! :unlock:`
  868. );
  869. message.guild.unban(args[1]);
  870. message.channel.send(
  871. `:white_check_mark: Successfully \`\`UNBANNED\`\` <@${
  872. args[1]
  873. }> From the server!`
  874. );
  875. });
  876. }
  877. });
  878.  
  879. client.on("message", message => {
  880. if (message.author.bot) return;
  881.  
  882. let command = message.content.split(" ")[0];
  883.  
  884. if (command === prefix + "mute") {
  885. if (message.author.bot) return;
  886. if (!message.member.hasPermission("MANAGE_ROLES"))
  887. return message
  888. .reply("** لا يوجد لديك برمشن 'Manage Roles' **")
  889. .catch(console.error);
  890. let user = message.mentions.users.first();
  891. let modlog = client.channels.find(gg => gg.name === "log");
  892. let muteRole = client.guilds
  893. .get(message.guild.id)
  894. .roles.find(gg => gg.name === "Muted");
  895. if (!muteRole)
  896. return message
  897. .reply("** لا يوجد رتبة الميوت 'Muted' **")
  898. .catch(console.error);
  899. if (message.mentions.users.size < 1)
  900. return message
  901. .channel.send(new Discord.RichEmbed().setDescription(`
  902. **Command: mute**
  903.  
  904. Mute a member from text channels so they cannot type.
  905.  
  906. **Usage:**
  907. #mute (user) (time ends with m,h,d,mo,y) (reason)
  908.  
  909. **Examples:**
  910. #mute @ニロ 1m Spamming
  911. #mute @ニロ 1h
  912. #mute @ニロ 1d
  913. #mute @ニロ 1mo
  914. #mute @ニロ 1y`))
  915. .catch(console.error);
  916.  
  917. const embed = new Discord.RichEmbed()
  918. .setColor(0x00ae86)
  919. .setTimestamp()
  920. .addField("الأستعمال:", "اسكت/احكي")
  921. .addField(
  922. "تم ميوت:",
  923. `${user.username}#${user.discriminator} (${user.id})`
  924. )
  925. .addField(
  926. "بواسطة:",
  927. `${message.author.username}#${message.author.discriminator}`
  928. );
  929.  
  930. if (
  931. !message.guild
  932. .member(client.user)
  933. .hasPermission("MANAGE_ROLES_OR_PERMISSIONS")
  934. )
  935. return message
  936. .reply("** لا يوجد لدي برمشن Manage Roles **")
  937. .catch(console.error);
  938.  
  939. if (message.guild.member(user).roles.has(muteRole.id)) {
  940. return message
  941. .reply("**:white_check_mark: .. تم اعطاء العضو ميوت**")
  942. .catch(console.error);
  943. } else {
  944. message.guild
  945. .member(user)
  946. .addRole(muteRole)
  947. .then(() => {
  948. return message
  949. .reply("**:white_check_mark: .. تم اعطاء العضو ميوت كتابي**")
  950. .catch(console.error);
  951. });
  952. }
  953. }
  954. });
  955.  
  956. client.on("message", message => {
  957. if (message.author.bot) return;
  958.  
  959. let command = message.content.split(" ")[0];
  960.  
  961. if (command === prefix + "unmute") {
  962. if (message.author.bot) return;
  963. if (!message.member.hasPermission("MANAGE_ROLES"))
  964. return message
  965. .reply("** لا يوجد لديك برمشن 'Manage Roles' **")
  966. .catch(console.error);
  967. let user = message.mentions.users.first();
  968. let modlog = client.channels.find(gg => gg.name === "log");
  969. let muteRole = client.guilds
  970. .get(message.guild.id)
  971. .roles.find(gg => gg.name === "Muted");
  972. if (!muteRole)
  973. return message
  974. .reply("** لا يوجد لديك رتبه الميوت 'Muted' **")
  975. .catch(console.error);
  976. if (message.mentions.users.size < 1)
  977. return message
  978. .channel.send(new Discord.RichEmbed().setDescription(`
  979. **Command: unmute**
  980.  
  981. Unmutes a member.
  982.  
  983. **Usage:**
  984. #unmute (user)
  985.  
  986. **Examples:**
  987. #unmute @ニロ
  988. #unmute 157605500488384512`));
  989. const embed = new Discord.RichEmbed()
  990. .setColor(0x00ae86)
  991. .setTimestamp()
  992. .addField("الأستعمال:", "اسكت/احكي")
  993. .addField(
  994. "تم فك الميوت عن:",
  995. `${user.username}#${user.discriminator} (${user.id})`
  996. )
  997. .addField(
  998. "بواسطة:",
  999. `${message.author.username}#${message.author.discriminator}`
  1000. );
  1001.  
  1002. if (
  1003. !message.guild
  1004. .member(client.user)
  1005. .hasPermission("MANAGE_ROLES_OR_PERMISSIONS")
  1006. )
  1007. return message
  1008. .reply("** لا يوجد لدي برمشن Manage Roles **")
  1009. .catch(console.error);
  1010.  
  1011. if (message.guild.member(user).removeRole(muteRole.id)) {
  1012. return message
  1013. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  1014. .catch(console.error);
  1015. } else {
  1016. message.guild
  1017. .member(user)
  1018. .removeRole(muteRole)
  1019. .then(() => {
  1020. return message
  1021. .reply("**:white_check_mark: .. تم فك الميوت عن الشخص **")
  1022. .catch(console.error);
  1023. });
  1024. }
  1025. }
  1026. });
  1027.  
  1028. let warning = JSON.parse(fs.readFileSync('./data/warning.json', 'utf8'));
  1029. client.on('message', message => {
  1030. if (message.author.bot || message.channel.type == "dm" || !message.channel.guild) return;
  1031. if (!message.content.startsWith(prefix)) return;
  1032. let command = message.content.split(" ")[0];
  1033. command = command.slice(prefix.length);
  1034. if (command == 'warn') {
  1035. if (!message.member.hasPermission('MANAGE_GUILD')) return;
  1036. if (!warning[message.guild.id]) warning[message.guild.id] = { warns: [] }
  1037. let T = warning[message.guild.id].warns;
  1038. let user = message.mentions.users.first(); if (!user) return message.channel.send(`**:rolling_eyes: I can't find this member**`)
  1039. let reason = message.content.split(" ").slice(2).join(" "); if (!reason) return message.channel.send(`**:rolling_eyes: Please specify a reason.**`)
  1040. let W = warning[message.guild.id].warns;
  1041. let ID = 0; let leng = 0;
  1042. W.forEach(w => {
  1043. ID++;
  1044. if (w.id !== undefined) leng++;
  1045. })
  1046. if (leng === 90) return message.channel.send(`** You Can't Give More than \`90\` Warns**, please reset the warn list.`)
  1047. T.push({ user: user.id, by: message.author.id, reason: reason, time: moment(Date.now()).format('llll'), id: ID + 1 })
  1048. message.channel.send(`**✅ @${user.username} warned!**`);
  1049. fs.writeFile("./data/warning.json", JSON.stringify(warning), (err) => { if (err) console.error(err) });
  1050. fs.writeFile("./data/warning.json", JSON.stringify(warning), (err) => { if (err) console.error(err) });
  1051. user.send(new Discord.RichEmbed().addField('**:warning: You were warned!**', reason)
  1052. .setFooter(message.guild.name, message.guild.iconURL).setTimestamp().setColor('#fffe62')); return;
  1053. }
  1054. if (command == 'warnings') {
  1055. if (!message.member.hasPermission('MANAGE_GUILD')) return;
  1056. if (!warning[message.guild.id]) warning[message.guild.id] = { warns: [] }
  1057. let count = 0; let page = message.content.split(" ")[1]; if (!page || isNaN(page)) page = 1; if (page > 4) return message.channel.send('**Warnings are only recorded on 4 pages!**')
  1058. let embed = new Discord.RichEmbed().setFooter(message.author.username, message.author.avatarURL)
  1059. let W = warning[message.guild.id].warns;
  1060. W.forEach(w => {
  1061. if (!w.id) return; count++;
  1062. if (page == 1) {
  1063. if (count > 24) return null
  1064. let reason = w.reason; let user = w.user; let ID = w.id; let By = w.by; let time = w.time;
  1065. embed.addField(`⏱ ${time}`, `Warn ID (**${ID}**) - By <@${By}>
  1066. User: <@${user}>\n\`\`\`${reason}\`\`\``);
  1067. if (count == 24) embed.addField('**:sparkles: More ?**', `${message.content.split(" ")[0]} 2`);
  1068. } if (page == 2) {
  1069. if (count <= 24) return null; if (count > 45) return null
  1070. let reason = w.reason; let user = w.user; let ID = w.id; let By = w.by; let time = w.time;
  1071. embed.addField(`⏱ ${time}`, `Warn ID (**${ID}**) - By <@${By}>
  1072. User: <@${user}>\n\`\`\`${reason}\`\`\``);
  1073. if (count == 45) embed.addField('**:sparkles: More ?**', `${message.content.split(" ")[0]} 3`);
  1074. } if (page == 3) {
  1075. if (count <= 45) return null; if (count > 69) return null
  1076. let reason = w.reason; let user = w.user; let ID = w.id; let By = w.by; let time = w.time;
  1077. embed.addField(`⏱ ${time}`, `Warn ID (**${ID}**) - By <@${By}>
  1078. User: <@${user}>\n\`\`\`${reason}\`\`\``);
  1079. if (count == 69) embed.addField('**:sparkles: More ?**', `${message.content.split(" ")[0]} 4`);
  1080. } if (page == 4) {
  1081. if (count <= 69) return null; if (count > 92) return null
  1082. let reason = w.reason; let user = w.user; let ID = w.id; let By = w.by; let time = w.time;
  1083. embed.addField(`⏱ ${time}`, `Warn ID (**${ID}**) - By <@${By}>
  1084. User: <@${user}>\n\`\`\`${reason}\`\`\``);
  1085. if (count == 64) embed.addField('**FULL**', `** **`);
  1086. }
  1087. });
  1088. embed.setTitle(`**${count} Warnings** [ ${page}/4 ]`)
  1089. message.channel.send(embed)
  1090. };
  1091. if (command == 'removewarn' || command == 'rm') {
  1092. if (!message.member.hasPermission('MANAGE_GUILD')) return;
  1093. if (!warning[message.guild.id]) warning[message.guild.id] = { warns: [] };
  1094. let args = message.content.split(" ")[1]; if (!args) return message.channel.send(
  1095. `**:rolling_eyes: Please specify warning number or user mention or (all) to delete all warnings.**`);
  1096. let user = message.mentions.members.first();
  1097. if (user) {
  1098. let C = 0; let a = warning[message.guild.id].warns
  1099. a.forEach(w => {
  1100. if (w.user !== user.id) return
  1101. delete w.user; delete w.reason; delete w.id; delete w.by; delete w.time;
  1102. C++;
  1103. })
  1104. if (C === 0) return message.channel.send(`**:mag: I can't find the warning that you're looking for.**`)
  1105. return message.channel.send('**✅ ' + C + ' warnings has been removed.**');
  1106. };
  1107. if (args == 'all') {
  1108. let c = 0; let W = warning[message.guild.id].warns;
  1109. W.forEach(w => { if (w.id !== undefined) c++; })
  1110. warning[message.guild.id] = { warns: [] };
  1111. fs.writeFile("./data/warning.json", JSON.stringify(warning), (err) => { if (err) console.error(err) })
  1112. fs.writeFile("./data/warning.json", JSON.stringify(warning), (err) => { if (err) console.error(err) })
  1113. return message.channel.send('**✅ ' + c + ' warnings has been removed.**')
  1114. } if (isNaN(args)) return message.channel.send(
  1115. `**:rolling_eyes: Please specify warning number or user mention or (all) to delete all warnings.**`);
  1116. let W = warning[message.guild.id].warns;
  1117. let find = false;
  1118. W.forEach(w => {
  1119. if (w.id == args) {
  1120. delete w.user; delete w.reason; delete w.id; delete w.by; delete w.time;
  1121. find = true; return message.channel.send('**✅ 1 warnings has been removed.**')
  1122. }
  1123. }); if (find == false) return message.channel.send(`**:mag: I can't find the warning that you're looking for.**`)
  1124. }
  1125. });
  1126.  
  1127. client.on('message', message => {
  1128. if (!message.channel.guild) return;
  1129. if (message.content.startsWith(prefix + 'move')) {
  1130. if (message.member.hasPermission("MOVE_MEMBERS")) {
  1131. if (message.mentions.users.size === 0) {
  1132. return message.channel.send(new Discord.RichEmbed().setDescription(`
  1133. **Command: move**
  1134.  
  1135. Moves a member to a voice channel.
  1136.  
  1137. **Usage:**
  1138. #move (user) (user or channel)
  1139.  
  1140. **Examples:**
  1141. #move @ニロ
  1142. #move @ニロ @ProBot ✨
  1143. #move @ニロ General
  1144. `))
  1145. }
  1146. if (message.member.voiceChannel != null) {
  1147. if (message.mentions.members.first().voiceChannel != null) {
  1148. var authorchannel = message.member.voiceChannelID;
  1149. var usermentioned = message.mentions.members.first().id;
  1150. var embed = new Discord.RichEmbed()
  1151. .setTitle("Succes!")
  1152. .setColor(`${color}`)
  1153. .setDescription(`لقد قمت بسحب <@${usermentioned}> الى الروم الصوتي الخاص بك✅ `)
  1154. var embed = new Discord.RichEmbed()
  1155. .setTitle(`You are Moved in ${message.guild.name}`)
  1156. .setColor(`${color}`)
  1157. .setDescription(`**<@${message.author.id}> Moved You To His Channel!\nServer --> ${message.guild.name}**`)
  1158. message.guild.members.get(usermentioned).setVoiceChannel(authorchannel).then(m => message.channel.send(embed))
  1159. message.guild.members.get(usermentioned).send(embed)
  1160. } else {
  1161. message.channel.send("``لا تستطيع سحب " + message.mentions.members.first() + " `يجب ان يكون هذه العضو في روم صوتي`")
  1162. }
  1163. } else {
  1164. message.channel.send("**``يجب ان تكون في روم صوتي لكي تقوم بسحب العضو أليك``**")
  1165. }
  1166. } else {
  1167. message.react("❌")
  1168. }
  1169. }
  1170. });
  1171.  
  1172. client.on('message', message => {
  1173. if (message.author.bot) return;
  1174. if (message.content.startsWith(prefix + 'clear')) {
  1175. if (!message.channel.guild) return message.reply('⛔ | This Command For Servers Only!');
  1176. if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('⛔ | You dont have **MANAGE_MESSAGES**Permission!');
  1177. if (!message.guild.member(client.user).hasPermission('MANAGE_MESSAGES')) return message.channel.send('⛔ | I dont have **MANAGE_MESSAGES** Permission!');
  1178. let args = message.content.split(" ").slice(1)
  1179. let messagecount = parseInt(args);
  1180. if (args > 99) return message.reply("**🛑 || يجب ان يكون عدد المسح أقل من 100 .**").then(messages => messages.delete(5000))
  1181. if (!messagecount) args = '100';
  1182. message.channel.fetchMessages({ limit: messagecount + 1 }).then(messages => message.channel.bulkDelete(messages));
  1183. message.channel.send(`\`\`\`js
  1184. ${args} : عدد الرسائل التي تم مسحها\`\`\``).then(messages => messages.delete(5000));
  1185. }
  1186. });
  1187.  
  1188. client.on("message", message => {
  1189. let roleembed = new Discord.RichEmbed()
  1190. .setDescription(`
  1191. أمثله على الأوامر :
  1192. -role @mention rolename : لأعطاء رتبة لعضو معين
  1193. -role all rolename : لأعطاء رتبة للجميع
  1194. -role humans rolename : لأعطاء رتبة للاشخاص فقط
  1195. -role bots rolename : لأعطاء رتبة لجميع البوتات`)
  1196. .setFooter('Requested by ' + message.author.username, message.author.avatarURL)
  1197. var args = message.content.split(' ').slice(1);
  1198. var msg = message.content.toLowerCase();
  1199. if (!message.guild) return;
  1200. if (!msg.startsWith(prefix + 'role')) return;
  1201. if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send(' **__ليس لديك صلاحيات__**');
  1202. if (msg.toLowerCase().startsWith(prefix + 'roleembed')) {
  1203. if (!args[0]) return message.channel.sendEmbed(roleembed)
  1204. if (!args[1]) return message.channel.sendEmbed(roleembed)
  1205. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  1206. var role1 = message.guild.roles.filter(r => r.name.toLowerCase().indexOf(role) > -1).first();
  1207. if (!role1) return message.reply(roleembed); if (message.mentions.members.first()) {
  1208. message.mentions.members.first().addRole(role1);
  1209. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] رتبة [ ' + args[0] + ' ] تم اعطاء الى **');
  1210. }
  1211. if (args[0].toLowerCase() == "all") {
  1212. message.guild.members.forEach(m => m.addRole(role1))
  1213. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء الى الكل رتبة**');
  1214. } else if (args[0].toLowerCase() == "bots") {
  1215. message.guild.members.filter(m => m.user.bot).forEach(m => m.addRole(role1))
  1216. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء الى البوتات رتبة**');
  1217. } else if (args[0].toLowerCase() == "humans") {
  1218. message.guild.members.filter(m => !m.user.bot).forEach(m => m.addRole(role1))
  1219. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء الى البشريين رتبة**');
  1220. }
  1221. } else {
  1222. if (!args[0]) return message.reply(roleembed);
  1223. if (!args[1]) return message.reply('**:x: يرجى وضع الرتبة المراد اعطائها للشخص**');
  1224. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  1225. var role1 = message.guild.roles.filter(r => r.name.toLowerCase().indexOf(role) > -1).first();
  1226. if (!role1) return message.reply('**:x: يرجى وضع الرتبة المراد اعطائها للشخص**'); if (message.mentions.members.first()) {
  1227. message.mentions.members.first().addRole(role1);
  1228. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] رتبة [ ' + args[0] + ' ] تم اعطاء **');
  1229. }
  1230. if (args[0].toLowerCase() == "all") {
  1231. message.guild.members.forEach(m => m.addRole(role1))
  1232. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء الكل رتبة**');
  1233. } else if (args[0].toLowerCase() == "bots") {
  1234. message.guild.members.filter(m => m.user.bot).forEach(m => m.addRole(role1))
  1235. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء البوتات رتبة**');
  1236. } else if (args[0].toLowerCase() == "humans") {
  1237. message.guild.members.filter(m => !m.user.bot).forEach(m => m.addRole(role1))
  1238. return message.reply('**:white_check_mark: [ ' + role1.name + ' ] تم اعطاء البشريين رتبة**');
  1239. }
  1240. }
  1241. });
  1242.  
  1243. client.on('message', message => {
  1244. if (message.content === prefix + "lock") {
  1245. if (!message.channel.guild) return message.reply('** This command only for servers**');
  1246.  
  1247. if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply(' **__ليس لديك صلاحيات__**');
  1248. message.channel.overwritePermissions(message.guild.id, {
  1249. SEND_MESSAGES: false
  1250.  
  1251. }).then(() => {
  1252. message.reply(":lock: **has been locked.**")
  1253. });
  1254. }
  1255. if (message.content === prefix + "unlock") {
  1256. if (!message.channel.guild) return message.reply('** This command only for servers**');
  1257.  
  1258. if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply('**__ليس لديك صلاحيات__**');
  1259. message.channel.overwritePermissions(message.guild.id, {
  1260. SEND_MESSAGES: true
  1261.  
  1262. }).then(() => {
  1263. message.reply(":unlock: **has been unlocked.**")
  1264. });
  1265. }
  1266.  
  1267. });
  1268.  
  1269. client.on("message", message => {
  1270. if (
  1271. message.content == prefix + "roll"
  1272. ) {
  1273. var x = ["0", "0", "0", "3", "14", "7", "5", "52", "83", "72", "89", "15", "68", "72", "45", "35", "26", "39", "41", "52", "61", "69", "73", "81", "97", "100"];
  1274. var x3 = Math.floor(Math.random() * x.length);
  1275. message.channel.send(`${x[x3]}`)
  1276. }
  1277. })
  1278.  
  1279. const shorten = require("isgd");
  1280. client.on("message", async message => {
  1281. if (message.content.startsWith(prefix + "short")) {
  1282. let args = message.content.split(" ").slice(1);
  1283. if (!args[0]) return message.channel.send(`${prefix}short <link>`)
  1284. if (!args[1]) {
  1285. shorten.shorten(args[0], function(res) {
  1286. if (res.startsWith("Error:"))
  1287. return message.channel.send("**Usage**: " + prefix + "short <link>");
  1288. message.channel.send(`${res}`);
  1289. });
  1290. } else {
  1291. shorten.custom(args[0], args[1], function(res) {
  1292. if (res.startsWith("Error:")) return message.channel.send(`**${res}**`);
  1293. message.channel.send(`**${res}**`);
  1294. });
  1295. }
  1296. }
  1297. });
  1298.  
  1299. client.on("message", async message => {
  1300. if (message.content === prefix + "hide") {
  1301. if (!message.channel.guild) return;
  1302. if (!message.member.hasPermission("ADMINISTRATOR"))
  1303. return message.reply("You Dont Have Perms ❌");
  1304. message.channel.overwritePermissions(message.guild.id, {
  1305. READ_MESSAGES: false
  1306. });
  1307. message.channel.send("Channel Hided Successfully ! ✅ ");
  1308. }
  1309. });
  1310.  
  1311. client.on("message", async message => {
  1312. if (message.content === prefix + "show") {
  1313. if (!message.channel.guild) return;
  1314. if (!message.member.hasPermission("ADMINISTRATOR"))
  1315. return message.reply("You Dont Have Perms ❌");
  1316. message.channel.overwritePermissions(message.guild.id, {
  1317. READ_MESSAGES: true
  1318. });
  1319. message.channel.send("Channel Hided Successfully ! ✅ ");
  1320. }
  1321. });
  1322.  
  1323. client.on("message", async message => {
  1324. if (message.content.startsWith(`${prefix}ping`)) {
  1325. if (!message.channel.guild) return;
  1326. if (message.author.bot) return;
  1327. message.channel.send(`\`\`\`js
  1328. Time_Taken: ${Date.now() - message.createdTimestamp} ms 📶
  1329. Web_Socket: ${Math.round(client.ping)} ms 📶\`\`\``)
  1330. }
  1331. })
  1332.  
  1333. client.on('message', async message => {
  1334. if (message.content.startsWith(prefix + 'roles')) {
  1335. message.channel.send(`${message.guild.roles.map(e => e.toString()).join(" ")}`)
  1336. }
  1337. });
  1338.  
  1339. const queue = new Map();
  1340.  
  1341. let cmds = {
  1342. play: { cmd: "play", a: ["p", "شغل"] },
  1343. skip: { cmd: "skip", a: ["s", "تخطى"] },
  1344. stop: { cmd: "stop", a: ["ايقاف"] },
  1345. pause: { cmd: "pause", a: ["ايقاف مؤقت"] },
  1346. resume: { cmd: "resume", a: ["r", "كمل"] },
  1347. volume: { cmd: "volume", a: ["vol", "صوت"] },
  1348. queue: { cmd: "queue", a: ["q", "قائمة"] },
  1349. repeat: { cmd: "repeat", a: ["re", "تكرار"] },
  1350. forceskip: { cmd: "forceskip", a: ["تخطي الكل", "fskip"] },
  1351. skipto: { cmd: "skipto", a: ["st", "اذهب الى"] },
  1352. nowplaying: { cmd: "Nowplaying", a: ["np", "الان"] }
  1353. };
  1354.  
  1355. client.commands = new Discord.Collection();
  1356. client.aliases = new Discord.Collection();
  1357.  
  1358. Object.keys(cmds).forEach(key => {
  1359. var value = cmds[key];
  1360. var command = value.cmd;
  1361. client.commands.set(command, command);
  1362.  
  1363. if (value.a) {
  1364. value.a.forEach(alias => {
  1365. client.aliases.set(alias, command);
  1366. });
  1367. }
  1368. });
  1369.  
  1370. setInterval(() => {
  1371. const channel = client.channels.get(roomid);
  1372. if (!channel) return console.error("I can't find this channel!");
  1373. channel
  1374. .join()
  1375. .then(con => {
  1376. console.log("Working!");
  1377. })
  1378. .catch(e => {
  1379. console.error(e);
  1380. });
  1381. }, 3000);
  1382.  
  1383. let active = new Map();
  1384.  
  1385. client.on("warn", console.warn);
  1386.  
  1387. client.on("error", console.error);
  1388.  
  1389. client.on("message", async msg => {
  1390. if (msg.author.bot) return undefined;
  1391. if (!msg.content.startsWith(prefix)) return undefined;
  1392.  
  1393. const args = msg.content
  1394. .slice(prefix.length)
  1395. .trim()
  1396. .split(/ +/g);
  1397. const command = args.shift().toLowerCase();
  1398.  
  1399. const url = args[1] ? args[1].replace(/<(.+)>/g, "$1") : "";
  1400.  
  1401. let cmd =
  1402. client.commands.get(command) ||
  1403. client.commands.get(client.aliases.get(command));
  1404.  
  1405. let s;
  1406.  
  1407. if (cmd === "play") {
  1408. const voiceChannel = msg.member.voiceChannel;
  1409. if (!voiceChannel)
  1410. return msg.channel.send(
  1411. `:no_entry_sign: You must be listening in a voice channel to use that!`
  1412. );
  1413. const permissions = voiceChannel.permissionsFor(msg.client.user);
  1414. if (!permissions.has("CONNECT")) {
  1415. return msg.channel.send(
  1416. `:no_entry_sign: I can't join Your voiceChannel because i don't have ` +
  1417. "`" +
  1418. "`CONNECT`" +
  1419. "`" +
  1420. ` permission!`
  1421. );
  1422. }
  1423.  
  1424. if (!permissions.has("SPEAK")) {
  1425. return msg.channel.send(
  1426. `:no_entry_sign: I can't SPEAK in your voiceChannel because i don't have ` +
  1427. "`" +
  1428. "`SPEAK`" +
  1429. "`" +
  1430. ` permission!`
  1431. );
  1432. }
  1433.  
  1434. if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) {
  1435. const playlist = await youtube.getPlaylist(url);
  1436. const videos = await playlist.getVideos();
  1437.  
  1438. for (const video of Object.values(videos)) {
  1439. const video2 = await youtube.getVideoByID(video.id); // eslint-disable-line no-await-in-loop
  1440. await handleVideo(video2, msg, voiceChannel, true); // eslint-disable-line no-await-in-loop
  1441. }
  1442. return msg.channel.send(`Added to queue: ${playlist.title}`);
  1443. } else {
  1444. try {
  1445. var video = await youtube.getVideo(url);
  1446. } catch (error) {
  1447. try {
  1448. var videos = await youtube.searchVideos(args, 1);
  1449.  
  1450. // eslint-disable-next-line max-depth
  1451. var video = await youtube.getVideoByID(videos[0].id);
  1452. } catch (err) {
  1453. console.error(err);
  1454. return msg.channel.send("I can't find any thing");
  1455. }
  1456. }
  1457.  
  1458. return handleVideo(video, msg, voiceChannel);
  1459. }
  1460.  
  1461. async function handleVideo(video, msg, voiceChannel, playlist = false) {
  1462. const serverQueue = active.get(msg.guild.id);
  1463.  
  1464. // console.log('yao: ' + Util.escapeMarkdown(video.thumbnailUrl));
  1465.  
  1466. let hrs =
  1467. video.duration.hours > 0
  1468. ? video.duration.hours > 9
  1469. ? `${video.duration.hours}:`
  1470. : `0${video.duration.hours}:`
  1471. : "";
  1472. let min =
  1473. video.duration.minutes > 9
  1474. ? `${video.duration.minutes}:`
  1475. : `0${video.duration.minutes}:`;
  1476. let sec =
  1477. video.duration.seconds > 9
  1478. ? `${video.duration.seconds}`
  1479. : `0${video.duration.seconds}`;
  1480. let dur = `${hrs}${min}${sec}`;
  1481.  
  1482. let ms = video.durationSeconds * 1000;
  1483.  
  1484. const song = {
  1485. id: video.id,
  1486. title: video.title,
  1487. duration: dur,
  1488. msDur: ms,
  1489. url: `https://www.youtube.com/watch?v=${video.id}`
  1490. };
  1491. if (!serverQueue) {
  1492. const queueConstruct = {
  1493. textChannel: msg.channel,
  1494. voiceChannel: voiceChannel,
  1495. connection: null,
  1496. songs: [],
  1497. volume: 25,
  1498. requester: msg.author,
  1499. playing: true,
  1500. repeating: false
  1501. };
  1502. active.set(msg.guild.id, queueConstruct);
  1503.  
  1504. queueConstruct.songs.push(song);
  1505.  
  1506. try {
  1507. var connection = await voiceChannel.join();
  1508. queueConstruct.connection = connection;
  1509. play(msg.guild, queueConstruct.songs[0]);
  1510. } catch (error) {
  1511. console.error(`I could not join the voice channel: ${error}`);
  1512. active.delete(msg.guild.id);
  1513. return msg.channel.send(`I cant join this voice channel`);
  1514. }
  1515. } else {
  1516. serverQueue.songs.push(song);
  1517.  
  1518. if (playlist) return undefined;
  1519. if (!args) return msg.channel.send("no results.");
  1520. else
  1521. return msg.channel
  1522. .send(":watch: Loading... [`" + args + "`]")
  1523. .then(m => {
  1524. setTimeout(() => {
  1525. //:watch: Loading... [let]
  1526. m.edit(
  1527. `:notes: Added **${song.title}**` +
  1528. "(` " +
  1529. song.duration +
  1530. ")`" +
  1531. ` to the queue at position ` +
  1532. `${serverQueue.songs.length}`
  1533. );
  1534. }, 500);
  1535. });
  1536. }
  1537. return undefined;
  1538. }
  1539.  
  1540. function play(guild, song) {
  1541. const serverQueue = active.get(guild.id);
  1542.  
  1543. if (!song) {
  1544. serverQueue.voiceChannel.leave();
  1545. active.delete(guild.id);
  1546. return;
  1547. }
  1548. //console.log(serverQueue.songs);
  1549. if (serverQueue.repeating) {
  1550. console.log("Repeating");
  1551. } else {
  1552. serverQueue.textChannel.send(
  1553. ":notes: Added **" +
  1554. song.title +
  1555. "** (`" +
  1556. song.duration +
  1557. "`) to begin playing."
  1558. );
  1559. }
  1560. const dispatcher = serverQueue.connection
  1561. .playStream(ytdl(song.url))
  1562. .on("end", reason => {
  1563. //if (reason === 'Stream is not generating quickly enough.') console.log('Song ended.');
  1564. //else console.log(reason);
  1565. if (serverQueue.repeating) return play(guild, serverQueue.songs[0]);
  1566. serverQueue.songs.shift();
  1567. play(guild, serverQueue.songs[0]);
  1568. })
  1569. .on("error", error => console.error(error));
  1570. dispatcher.setVolumeLogarithmic(serverQueue.volume / 100);
  1571. }
  1572. } else if (cmd === "stop") {
  1573. if (msg.guild.me.voiceChannel !== msg.member.voiceChannel)
  1574. return msg.channel.send(
  1575. `You must be in ${msg.guild.me.voiceChannel.name}`
  1576. );
  1577. if (!msg.member.hasPermission("ADMINISTRATOR")) {
  1578. msg.react("❌");
  1579. return msg.channel.send("You don't have permission `ADMINSTRATOR`");
  1580. }//not by client bro :)
  1581. let queue = active.get(msg.guild.id);
  1582. if (queue.repeating)
  1583. return msg.channel.send(
  1584. "Repeating Mode is on, you can't stop the music, run `" +
  1585. `${prefix}repeat` +
  1586. "` to turn off it."
  1587. );
  1588. queue.songs = [];
  1589. queue.connection.dispatcher.end();
  1590. return msg.channel.send(
  1591. ":notes: The player has stopped and the queue has been cleared."
  1592. );
  1593. } else if (cmd === "skip") {
  1594. let vCh = msg.member.voiceChannel;
  1595.  
  1596. let queue = active.get(msg.guild.id);
  1597.  
  1598. if (!vCh)
  1599. return msg.channel.send(
  1600. "Sorry, but you can't because you are not in voice channel"
  1601. );
  1602.  
  1603. if (!queue) return msg.channel.send("No music playing to skip it");
  1604.  
  1605. if (queue.repeating)
  1606. return msg.channel.send(
  1607. "You can't skip it, because repeating mode is on, run " +
  1608. `\`${prefix}forceskip\``
  1609. );
  1610.  
  1611. // let req = vCh.members.size - 1;
  1612.  
  1613. //if (req == 1) {
  1614. msg.channel.send("**:notes: Skipped **" + args);
  1615. return queue.connection.dispatcher.end("Skipping ..");
  1616. // }
  1617.  
  1618. // if (!queue.votes) queue.votes = [];
  1619.  
  1620. // if (queue.votes.includes(msg.member.id))
  1621. // return msg.say(
  1622. // `You already voted for skip! ${queue.votes.length}/${req}`
  1623. // );
  1624.  
  1625. // queue.votes.push(msg.member.id);
  1626.  
  1627. // if (queue.votes.length >= req) {
  1628. // msg.channel.send("**:notes: Skipped **" + args);
  1629.  
  1630. // delete queue.votes;
  1631.  
  1632. // return queue.connection.dispatcher.end("Skipping ..");
  1633. // }
  1634. //
  1635. // msg.channel.send(
  1636. // `**You have successfully voted for skip! ${queue.votes.length}/${req}**`
  1637. // );
  1638. } else if (cmd === "pause") {
  1639. let queue = active.get(msg.guild.id);
  1640.  
  1641. let vCh = msg.member.voiceChannel;
  1642.  
  1643. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1644. return msg.channel.send(`You are not in my voice channel.`);
  1645.  
  1646. if (!queue) {
  1647. return msg.channel.send("No music playing to pause.");
  1648. }
  1649.  
  1650. if (!queue.playing)
  1651. return msg.channel.send(
  1652. ":no_entry_sign: There must be music playing to use that!"
  1653. );
  1654.  
  1655. let disp = queue.connection.dispatcher;
  1656.  
  1657. disp.pause("Pausing..");
  1658.  
  1659. queue.playing = false;
  1660.  
  1661. msg.channel.send(
  1662. ":notes: Paused " + args + ". **Type** `" + prefix + "resume` to unpause!"
  1663. );
  1664. } else if (cmd === "resume") {
  1665. let queue = active.get(msg.guild.id);
  1666.  
  1667. let vCh = msg.member.voiceChannel;
  1668.  
  1669. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1670. return msg.channel.send(`You are not in my voice channel.`);
  1671.  
  1672. if (!queue) return msg.channel.send(":notes: No music paused to resume.");
  1673.  
  1674. if (queue.playing)
  1675. return msg.channel.send(":notes: No music paused to resume.");
  1676.  
  1677. let disp = queue.connection.dispatcher;
  1678.  
  1679. disp.resume("Resuming..");
  1680.  
  1681. queue.playing = true;
  1682.  
  1683. msg.channel.send(":notes: Resumed.");
  1684. } else if (cmd === "volume") {
  1685. let queue = active.get(msg.guild.id);
  1686.  
  1687. if (!queue || !queue.songs)
  1688. return msg.channel.send(
  1689. ":notes: There is no music playing to set volume."
  1690. );
  1691.  
  1692. let vCh = msg.member.voiceChannel;
  1693.  
  1694. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1695. return msg.channel.send(":notes: You are not in my voice channel");
  1696.  
  1697. let disp = queue.connection.dispatcher;
  1698.  
  1699. if (isNaN(args[0])) return msg.channel.send(":notes: Numbers only!");
  1700.  
  1701. if (parseInt(args[0]) > 100)
  1702. return msg.channel.send("You can't set the volume more than **100**.");
  1703. //:speaker: Volume changed from 20 to 20 ! The volume has been changed from ${queue.volume} to ${args[0]}
  1704. msg.channel.send(
  1705. ":loud_sound: Volume has been **changed** from (`" +
  1706. queue.volume +
  1707. "`) to (`" +
  1708. args[0] +
  1709. "`)"
  1710. );
  1711.  
  1712. queue.volume = args[0];
  1713.  
  1714. disp.setVolumeLogarithmic(queue.volume / 100);
  1715. } else if (cmd === "queue") {
  1716. let queue = active.get(msg.guild.id);
  1717.  
  1718. if (!queue)
  1719. return msg.channel.send(
  1720. ":no_entry_sign: There must be music playing to use that!"
  1721. );
  1722.  
  1723. let embed = new Discord.RichEmbed().setAuthor(
  1724. `${client.user.username}`,
  1725. client.user.displayAvatarURL
  1726. );
  1727. let text = "";
  1728.  
  1729. for (var i = 0; i < queue.songs.length; i++) {
  1730. let num;
  1731. if (i > 8) {
  1732. let st = `${i + 1}`;
  1733. let n1 = Converter.toWords(st[0]);
  1734. let n2 = Converter.toWords(st[1]);
  1735. num = `:${n1}::${n2}:`;
  1736. } else {
  1737. let n = Converter.toWords(i + 1);
  1738. num = `:${n}:`;
  1739. }
  1740. text += `${num} ${queue.songs[i].title} [${queue.songs[i].duration}]\n`;
  1741. }
  1742. embed.setDescription(`Songs Queue | ${msg.guild.name}\n\n ${text}`);
  1743. msg.channel.send(embed);
  1744. } else if (cmd === "repeat") {
  1745. let vCh = msg.member.voiceChannel;
  1746.  
  1747. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1748. return msg.channel.send("You are not in my voice channel");
  1749.  
  1750. let queue = active.get(msg.guild.id);
  1751.  
  1752. if (!queue || !queue.songs)
  1753. return msg.channel.send("There is no music playing to repeat it.");
  1754.  
  1755. if (queue.repeating) {
  1756. queue.repeating = false;
  1757. return msg.channel.send(
  1758. ":arrows_counterclockwise: **Repeating Mode** (`False`)"
  1759. );
  1760. } else {
  1761. queue.repeating = true;
  1762. return msg.channel.send(
  1763. ":arrows_counterclockwise: **Repeating Mode** (`True`)"
  1764. );
  1765. }
  1766. } else if (cmd === "forceskip") {
  1767. let vCh = msg.member.voiceChannel;
  1768.  
  1769. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1770. return msg.channel.send("You are not in my voice channel");
  1771.  
  1772. let queue = active.get(msg.guild.id);
  1773.  
  1774. if (queue.repeating) {
  1775. queue.repeating = false;
  1776.  
  1777. msg.channel.send("ForceSkipped, Repeating mode is on.");
  1778.  
  1779. queue.connection.dispatcher.end("ForceSkipping..");
  1780.  
  1781. queue.repeating = true;
  1782. } else {
  1783. queue.connection.dispatcher.end("ForceSkipping..");
  1784.  
  1785. msg.channel.send("ForceSkipped.");
  1786. }
  1787. } else if (cmd === "skiper") {
  1788. let vCh = msg.member.voiceChannel;
  1789.  
  1790. if (!vCh || vCh !== msg.guild.me.voiceChannel)
  1791. return msg.channel.send("You are not in my voice channel");
  1792.  
  1793. let queue = active.get(msg.guild.id);
  1794.  
  1795. if (!queue.songs || queue.songs < 2)
  1796. return msg.channel.send("There is no music to skip to.");
  1797.  
  1798. if (queue.repeating)
  1799. return msg.channel.send(
  1800. "You can't skip, because repeating mode is on, run " +
  1801. `\`${prefix}repeat\` to turn off.`
  1802. );
  1803.  
  1804. if (!args[0] || isNaN(args[0]))
  1805. return msg.channel.send(
  1806. "Please input song number to skip to it, run " +
  1807. prefix +
  1808. `queue` +
  1809. " to see songs numbers."
  1810. );
  1811.  
  1812. let sN = parseInt(args[0]) - 1;
  1813.  
  1814. if (!queue.songs[sN])
  1815. return msg.channel.send("There is no song with this number.");
  1816.  
  1817. let i = 1;
  1818.  
  1819. msg.channel.send(
  1820. `Skipped to: **${queue.songs[sN].title}[${queue.songs[sN].duration}]**`
  1821. );
  1822.  
  1823. while (i < sN) {
  1824. i++;
  1825. queue.songs.shift();
  1826. }
  1827.  
  1828. queue.connection.dispatcher.end("SkippingTo..");
  1829. } else if (cmd === "nowplaying") {
  1830. let q = active.get(msg.guild.id);
  1831.  
  1832. let now = npMsg(q);
  1833.  
  1834. msg.channel.send(now.mes, now.embed).then(me => {
  1835. setInterval(() => {
  1836. let noww = npMsg(q);
  1837. me.edit(noww.mes, noww.embed);
  1838. }, 5000);
  1839. });
  1840.  
  1841. function npMsg(queue) {
  1842. let m =
  1843. !queue || !queue.songs[0] ? "No music playing." : "Now Playing...";
  1844.  
  1845. const eb = new Discord.RichEmbed();
  1846.  
  1847. eb.setColor(msg.guild.me.displayHexColor);
  1848.  
  1849. if (!queue || !queue.songs[0]) {
  1850. eb.setTitle("No music playing");
  1851. eb.setDescription(
  1852. "\u23F9 " + bar(-1) + " " + volumeIcon(!queue ? 100 : queue.volume)
  1853. );
  1854. } else if (queue.songs) {
  1855. if (queue.requester) {
  1856. let u = msg.guild.members.get(queue.requester.id);
  1857.  
  1858. if (!u) eb.setAuthor("Unkown (ID:" + queue.requester.id + ")");
  1859. else eb.setAuthor(u.user.tag, u.user.displayAvatarURL);
  1860. }
  1861.  
  1862. if (queue.songs[0]) {
  1863. try {
  1864. eb.setTitle(queue.songs[0].title);
  1865. eb.setURL(queue.songs[0].url);
  1866. } catch (e) {
  1867. eb.setTitle(queue.songs[0].title);
  1868. }
  1869. }
  1870. eb.setDescription(embedFormat(queue));
  1871. }
  1872.  
  1873. return {
  1874. mes: m,
  1875. embed: eb
  1876. };
  1877. }
  1878.  
  1879. function embedFormat(queue) {
  1880. if (!queue || !queue.songs) {
  1881. return "No music playing\n\u23F9 " + bar(-1) + " " + volumeIcon(100);
  1882. } else if (!queue.playing) {
  1883. return (
  1884. "No music playing\n\u23F9 " + bar(-1) + " " + volumeIcon(queue.volume)
  1885. );
  1886. } else {
  1887. let progress = queue.connection.dispatcher.time / queue.songs[0].msDur;
  1888. let prog = bar(progress);
  1889. let volIcon = volumeIcon(queue.volume);
  1890. let playIcon = queue.connection.dispatcher.paused ? "\u23F8" : "\u25B6";
  1891. let dura = queue.songs[0].duration;
  1892.  
  1893. return (
  1894. playIcon +
  1895. " " +
  1896. prog +
  1897. " `[" +
  1898. formatTime(queue.connection.dispatcher.time) +
  1899. "/" +
  1900. dura +
  1901. "]`" +
  1902. volIcon
  1903. );
  1904. }
  1905. }
  1906.  
  1907. function formatTime(duration) {
  1908. var milliseconds = parseInt((duration % 1000) / 100),
  1909. seconds = parseInt((duration / 1000) % 60),
  1910. minutes = parseInt((duration / (1000 * 60)) % 60),
  1911. hours = parseInt((duration / (1000 * 60 * 60)) % 24);
  1912.  
  1913. hours = hours < 10 ? "0" + hours : hours;
  1914. minutes = minutes < 10 ? "0" + minutes : minutes;
  1915. seconds = seconds < 10 ? "0" + seconds : seconds;
  1916.  
  1917. return (hours > 0 ? hours + ":" : "") + minutes + ":" + seconds;
  1918. }
  1919.  
  1920. function bar(precent) {
  1921. var str = "";
  1922.  
  1923. for (var i = 0; i < 12; i++) {
  1924. let pre = precent;
  1925. let res = pre * 12;
  1926.  
  1927. res = parseInt(res);
  1928.  
  1929. if (i == res) {
  1930. str += "\uD83D\uDD18";
  1931. } else {
  1932. str += "▬";
  1933. }
  1934. }
  1935.  
  1936. return str;
  1937. }
  1938.  
  1939. function volumeIcon(volume) {
  1940. if (volume == 0) return "\uD83D\uDD07";
  1941. if (volume < 30) return "\uD83D\uDD08";
  1942. if (volume < 70) return "\uD83D\uDD09";
  1943. return "\uD83D\uDD0A";
  1944. }
  1945. }
  1946. });
  1947.  
  1948. client.on('message', message => {
  1949. if(message.content === prefix + 'colors') {
  1950. if(!message.channel.guild) return message.channel.send('**This Commnad only For Servers !**');
  1951. let menu = new Discord.RichEmbed()
  1952. .setImage('https://b.top4top.net/p_1002p20mv1.png')
  1953. .setFooter('Colors Menu')
  1954. message.channel.sendEmbed(menu)
  1955. }
  1956. })
  1957.  
  1958. client.on('message', message => {
  1959. if(message.content === prefix + 'createcolors') {
  1960. if(!message.channel.guild) return message.channel.send('**This Commnad only For Servers !**');
  1961. if(!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send('**You Dont Have** `ADMINISTRATOR` **premission**').then(msg => msg.delete(6000))
  1962. message.guild.createRole({
  1963. name: "1",
  1964. color: "#FFB6C1",
  1965. permissions: []
  1966. })
  1967. message.guild.createRole({
  1968. name: "2",
  1969. color: "#FFC0CB",
  1970. permissions: []
  1971. })
  1972. message.guild.createRole({
  1973. name: "3",
  1974. color: "#FF69B4",
  1975. permissions: []
  1976. })
  1977. message.guild.createRole({
  1978. name: "4",
  1979. color: "#FF1493",
  1980. permissions: []
  1981. })
  1982. message.guild.createRole({
  1983. name: "5",
  1984. color: "#DB7093",
  1985. permissions: []
  1986. })
  1987. message.guild.createRole({
  1988. name: "6",
  1989. color: "#C71585",
  1990. permissions: []
  1991. })
  1992. message.guild.createRole({
  1993. name: "7",
  1994. color: "#E6E6FA",
  1995. permissions: []
  1996. })
  1997. message.guild.createRole({
  1998. name: "8",
  1999. color: "#D8BFD8",
  2000. permissions: []
  2001. })
  2002. message.guild.createRole({
  2003. name: "8",
  2004. color: "#DDA0DD",
  2005. permissions: []
  2006. })
  2007. message.guild.createRole({
  2008. name: "9",
  2009. color: "#DA70D6",
  2010. permissions: []
  2011. })
  2012. message.guild.createRole({
  2013. name: "10",
  2014. color: "#EE82EE",
  2015. permissions: []
  2016. })
  2017. message.guild.createRole({
  2018. name: "11",
  2019. color: "#FF00FF",
  2020. permissions: []
  2021. })
  2022. message.guild.createRole({
  2023. name: "12",
  2024. color: "#BA55D3",
  2025. permissions: []
  2026. })
  2027. message.guild.createRole({
  2028. name: "13",
  2029. color: "#9932CC",
  2030. permissions: []
  2031. })
  2032. message.guild.createRole({
  2033. name: "14",
  2034. color: "#9400D3",
  2035. permissions: []
  2036. })
  2037. message.guild.createRole({
  2038. name: "15",
  2039. color: "#8A2BE2",
  2040. permissions: []
  2041. })
  2042. message.guild.createRole({
  2043. name: "16",
  2044. color: "#8B008B",
  2045. permissions: []
  2046. })
  2047. message.guild.createRole({
  2048. name: "17",
  2049. color: "#800080",
  2050. permissions: []
  2051. })
  2052. message.guild.createRole({
  2053. name: "18",
  2054. color: "#9370DB",
  2055. permissions: []
  2056. })
  2057. message.guild.createRole({
  2058. name: "19",
  2059. color: "#7B68EE",
  2060. permissions: []
  2061. })
  2062. message.guild.createRole({
  2063. name: "20",
  2064. color: "#6A5ACD",
  2065. permissions: []
  2066. })
  2067. message.guild.createRole({
  2068. name: "21",
  2069. color: "#483D8B",
  2070. permissions: []
  2071. })
  2072. message.guild.createRole({
  2073. name: "22",
  2074. color: "#663399",
  2075. permissions: []
  2076. })
  2077. message.guild.createRole({
  2078. name: "23",
  2079. color: "#4B0082",
  2080. permissions: []
  2081. })
  2082. message.guild.createRole({
  2083. name: "24",
  2084. color: "#FFA07A",
  2085. permissions: []
  2086. })
  2087. message.guild.createRole({
  2088. name: "25",
  2089. color: "#FA8072",
  2090. permissions: []
  2091. })
  2092. message.guild.createRole({
  2093. name: "26",
  2094. color: "#E9967A",
  2095. permissions: []
  2096. })
  2097. message.guild.createRole({
  2098. name: "27",
  2099. color: "#F08080",
  2100. permissions: []
  2101. })
  2102. message.guild.createRole({
  2103. name: "28",
  2104. color: "#CD5C5C",
  2105. permissions: []
  2106. })
  2107. message.guild.createRole({
  2108. name: "29",
  2109. color: "#DC143C",
  2110. permissions: []
  2111. })
  2112. message.guild.createRole({
  2113. name: "30",
  2114. color: " #FF0000",
  2115. permissions: []
  2116. })
  2117. message.guild.createRole({
  2118. name: "31",
  2119. color: "#B22222",
  2120. permissions: []
  2121. })
  2122. message.guild.createRole({
  2123. name: "32",
  2124. color: "#8B0000",
  2125. permissions: []
  2126. })
  2127. message.guild.createRole({
  2128. name: "33",
  2129. color: "#FFA500",
  2130. permissions: []
  2131. })
  2132. message.guild.createRole({
  2133. name: "34",
  2134. color: "#FF8C00",
  2135. permissions: []
  2136. })
  2137. message.guild.createRole({
  2138. name: "35",
  2139. color: "#FF7F50",
  2140. permissions: []
  2141. })
  2142. message.guild.createRole({
  2143. name: "36",
  2144. color: "#FF6347",
  2145. permissions: []
  2146. })
  2147. message.guild.createRole({
  2148. name: "37",
  2149. color: "#FF4500",
  2150. permissions: []
  2151. })
  2152. message.guild.createRole({
  2153. name: "38",
  2154. color: "#FFD700",
  2155. permissions: []
  2156. })
  2157. message.guild.createRole({
  2158. name: "39",
  2159. color: "#FFFFE0",
  2160. permissions: []
  2161. })
  2162. message.guild.createRole({
  2163. name: "40",
  2164. color: "#FFFACD",
  2165. permissions: []
  2166. })
  2167. message.guild.createRole({
  2168. name: "41",
  2169. color: "#FAFAD2",
  2170. permissions: []
  2171. })
  2172. message.guild.createRole({
  2173. name: "42",
  2174. color: " #FFEFD5",
  2175. permissions: []
  2176. })
  2177. message.guild.createRole({
  2178. name: "43",
  2179. color: "#FFE4B5",
  2180. permissions: []
  2181. })
  2182. message.guild.createRole({
  2183. name: "44",
  2184. color: "#FFDAB9",
  2185. permissions: []
  2186. })
  2187. message.guild.createRole({
  2188. name: "45",
  2189. color: "#EEE8AA",
  2190. permissions: []
  2191. })
  2192. message.guild.createRole({
  2193. name: "46",
  2194. color: "#F0E68C",
  2195. permissions: []
  2196. })
  2197. message.guild.createRole({
  2198. name: "47",
  2199. color: "#BDB76B",
  2200. permissions: []
  2201. })
  2202. message.guild.createRole({
  2203. name: "48",
  2204. color: "#ADFF2F",
  2205. permissions: []
  2206. })
  2207. message.guild.createRole({
  2208. name: "49",
  2209. color: "#7FFF00",
  2210. permissions: []
  2211. })
  2212. message.guild.createRole({
  2213. name: "50",
  2214. color: "#7CFC00",
  2215. permissions: []
  2216. })
  2217. message.guild.createRole({
  2218. name: "51",
  2219. color: "#00FF00",
  2220. permissions: []
  2221. })
  2222.  
  2223. message.guild.createRole({
  2224. name: "52",
  2225. color: "#32CD32",
  2226. permissions: []
  2227. })
  2228. message.guild.createRole({
  2229. name: "53",
  2230. color: "#98FB98",
  2231. permissions: []
  2232. })
  2233. message.guild.createRole({
  2234. name: "54",
  2235. color: "#90EE90",
  2236. permissions: []
  2237. })
  2238. message.guild.createRole({
  2239. name: "55",
  2240. color: "#00FA9A",
  2241. permissions: []
  2242. })
  2243. message.guild.createRole({
  2244. name: "56",
  2245. color: "#00FF7F",
  2246. permissions: []
  2247. })
  2248. message.guild.createRole({
  2249. name: "57",
  2250. color: "#3CB371",
  2251. permissions: []
  2252. })
  2253. message.guild.createRole({
  2254. name: "58",
  2255. color: "#2E8B57",
  2256. permissions: []
  2257. })
  2258. message.guild.createRole({
  2259. name: "59",
  2260. color: "#2E8B57",
  2261. permissions: []
  2262. })
  2263. message.guild.createRole({
  2264. name: "60",
  2265. color: "#008000",
  2266. permissions: []
  2267. })
  2268. message.guild.createRole({
  2269. name: "61",
  2270. color: "#006400",
  2271. permissions: []
  2272. })
  2273. message.guild.createRole({
  2274. name: "62",
  2275. color: "#9ACD32",
  2276. permissions: []
  2277. })
  2278. message.guild.createRole({
  2279. name: "63",
  2280. color: "#6B8E23",
  2281. permissions: []
  2282. })
  2283. message.guild.createRole({
  2284. name: "64",
  2285. color: "#556B2F",
  2286. permissions: []
  2287. })
  2288. message.guild.createRole({
  2289. name: "65",
  2290. color: "#66CDAA",
  2291. permissions: []
  2292. })
  2293. message.guild.createRole({
  2294. name: "66",
  2295. color: "#8FBC8F",
  2296. permissions: []
  2297. })
  2298. message.guild.createRole({
  2299. name: "67",
  2300. color: "#20B2AA",
  2301. permissions: []
  2302. })
  2303. message.guild.createRole({
  2304. name: "68",
  2305. color: "#008B8B",
  2306. permissions: []
  2307. })
  2308. message.guild.createRole({
  2309. name: "69",
  2310. color: "#008080",
  2311. permissions: []
  2312. })
  2313. message.guild.createRole({
  2314. name: "70",
  2315. color: "#00FFFF",
  2316. permissions: []
  2317. })
  2318. message.guild.createRole({
  2319. name: "71",
  2320. color: "#E0FFFF",
  2321. permissions: []
  2322. })
  2323. message.guild.createRole({
  2324. name: "72",
  2325. color: "#AFEEEE",
  2326. permissions: []
  2327. })
  2328. message.guild.createRole({
  2329. name: "73",
  2330. color: "#7FFFD4",
  2331. permissions: []
  2332. })
  2333. message.guild.createRole({
  2334. name: "74",
  2335. color: "#40E0D0",
  2336. permissions: []
  2337. })
  2338. message.guild.createRole({
  2339. name: "75",
  2340. color: "#48D1CC",
  2341. permissions: []
  2342. })
  2343. message.guild.createRole({
  2344. name: "76",
  2345. color: "#00CED1",
  2346. permissions: []
  2347. })
  2348. message.guild.createRole({
  2349. name: "77",
  2350. color: "#5F9EA0",
  2351. permissions: []
  2352. })
  2353. message.guild.createRole({
  2354. name: "78",
  2355. color: "#4682B4",
  2356. permissions: []
  2357. })
  2358. message.guild.createRole({
  2359. name: "79",
  2360. color: "#B0C4DE",
  2361. permissions: []
  2362. })
  2363. message.guild.createRole({
  2364. name: "80",
  2365. color: "#ADD8E6",
  2366. permissions: []
  2367. })
  2368. message.guild.createRole({
  2369. name: "81",
  2370. color: "#B0E0E6",
  2371. permissions: []
  2372. })
  2373. message.guild.createRole({
  2374. name: "82",
  2375. color: "#87CEFA",
  2376. permissions: []
  2377. })
  2378. message.guild.createRole({
  2379. name: "83",
  2380. color: "#87CEEB",
  2381. permissions: []
  2382. })
  2383. message.guild.createRole({
  2384. name: "84",
  2385. color: "#6495ED",
  2386. permissions: []
  2387. })
  2388. message.guild.createRole({
  2389. name: "85",
  2390. color: "#00BFFF",
  2391. permissions: []
  2392. })
  2393. message.guild.createRole({
  2394. name: "86",
  2395. color: "#1E90FF",
  2396. permissions: []
  2397. })
  2398. message.guild.createRole({
  2399. name: "87",
  2400. color: "#4169E1",
  2401. permissions: []
  2402. })
  2403. message.guild.createRole({
  2404. name: "88",
  2405. color: "#0000FF",
  2406. permissions: []
  2407. })
  2408. message.guild.createRole({
  2409. name: "89",
  2410. color: "#0000CD",
  2411. permissions: []
  2412. })
  2413. message.guild.createRole({
  2414. name: "90",
  2415. color: "#00008B",
  2416. permissions: []
  2417. })
  2418. message.guild.createRole({
  2419. name: "91",
  2420. color: "#000080",
  2421. permissions: []
  2422. })
  2423. message.guild.createRole({
  2424. name: "92",
  2425. color: "#191970",
  2426. permissions: []
  2427. })
  2428. message.guild.createRole({
  2429. name: "93",
  2430. color: "#FFF8DC",
  2431. permissions: []
  2432. })
  2433. message.guild.createRole({
  2434. name: "94",
  2435. color: "#FFEBCD",
  2436. permissions: []
  2437. })
  2438. message.guild.createRole({
  2439. name: "95",
  2440. color: "#FFE4C4",
  2441. permissions: []
  2442. })
  2443. message.guild.createRole({
  2444. name: "96",
  2445. color: "#FFDEAD",
  2446. permissions: []
  2447. })
  2448. message.guild.createRole({
  2449. name: "97",
  2450. color: "#F5DEB3",
  2451. permissions: []
  2452. })
  2453. message.guild.createRole({
  2454. name: "98",
  2455. color: "#DEB887",
  2456. permissions: []
  2457. })
  2458. message.guild.createRole({
  2459. name: "99",
  2460. color: "#D2B48C",
  2461. permissions: []
  2462. })
  2463. message.guild.createRole({
  2464. name: "100",
  2465. color: "#BC8F8F",
  2466. permissions: []
  2467. })
  2468. message.guild.createRole({
  2469. name: "101",
  2470. color: "#F4A460",
  2471. permissions: []
  2472. })
  2473. message.guild.createRole({
  2474. name: "102",
  2475. color: "#DAA520",
  2476. permissions: []
  2477. })
  2478. message.guild.createRole({
  2479. name: "103",
  2480. color: "#B8860B",
  2481. permissions: []
  2482. })
  2483. message.guild.createRole({
  2484. name: "104",
  2485. color: "#CD853F",
  2486. permissions: []
  2487. })
  2488. message.guild.createRole({
  2489. name: "105",
  2490. color: "#D2691E",
  2491. permissions: []
  2492. })
  2493. message.guild.createRole({
  2494. name: "106",
  2495. color: "#808000",
  2496. permissions: []
  2497. })
  2498. message.guild.createRole({
  2499. name: "107",
  2500. color: "#8B4513",
  2501. permissions: []
  2502. })
  2503. message.guild.createRole({
  2504. name: "108",
  2505. color: "#A0522D",
  2506. permissions: []
  2507. })
  2508. message.guild.createRole({
  2509. name: "109",
  2510. color: "#A52A2A",
  2511. permissions: []
  2512. })
  2513. message.guild.createRole({
  2514. name: "110",
  2515. color: "#800000",
  2516. permissions: []
  2517. })
  2518. message.guild.createRole({
  2519. name: "111",
  2520. color: "#FFFFFF",
  2521. permissions: []
  2522. })
  2523. message.guild.createRole({
  2524. name: "112",
  2525. color: "#FFFAFA",
  2526. permissions: []
  2527. })
  2528. message.guild.createRole({
  2529. name: "113",
  2530. color: "#F0FFF0",
  2531. permissions: []
  2532. })
  2533. message.guild.createRole({
  2534. name: "114",
  2535. color: "#F5FFFA",
  2536. permissions: []
  2537. })
  2538. message.guild.createRole({
  2539. name: "115",
  2540. color: "#F0FFFF",
  2541. permissions: []
  2542. })
  2543. message.guild.createRole({
  2544. name: "116",
  2545. color: "#F0F8FF",
  2546. permissions: []
  2547. })
  2548. message.guild.createRole({
  2549. name: "117",
  2550. color: "#F8F8FF",
  2551. permissions: []
  2552. })
  2553. message.guild.createRole({
  2554. name: "118",
  2555. color: "#F5F5F5",
  2556. permissions: []
  2557. })
  2558. message.guild.createRole({
  2559. name: "119",
  2560. color: "#FFF5EE",
  2561. permissions: []
  2562. })
  2563. message.guild.createRole({
  2564. name: "120",
  2565. color: "#F5F5DC",
  2566. permissions: []
  2567. })
  2568. message.guild.createRole({
  2569. name: "121",
  2570. color: "#FDF5E6",
  2571. permissions: []
  2572. })
  2573. message.guild.createRole({
  2574. name: "122",
  2575. color: "#FFFAF0",
  2576. permissions: []
  2577. })
  2578. message.guild.createRole({
  2579. name: "123",
  2580. color: "#FFFFF0",
  2581. permissions: []
  2582. })
  2583. message.guild.createRole({
  2584. name: "124",
  2585. color: "#FAEBD7",
  2586. permissions: []
  2587. })
  2588. message.guild.createRole({
  2589. name: "125",
  2590. color: "#FAF0E6",
  2591. permissions: []
  2592. })
  2593. message.guild.createRole({
  2594. name: "126",
  2595. color: "#FFF0F5",
  2596. permissions: []
  2597. })
  2598. message.guild.createRole({
  2599. name: "127",
  2600. color: "#FFE4E1",
  2601. permissions: []
  2602. })
  2603. message.guild.createRole({
  2604. name: "128",
  2605. color: "#DCDCDC",
  2606. permissions: []
  2607. })
  2608. message.guild.createRole({
  2609. name: "129",
  2610. color: "#D3D3D3",
  2611. permissions: []
  2612. })
  2613. message.guild.createRole({
  2614. name: "130",
  2615. color: "#C0C0C0",
  2616. permissions: []
  2617. })
  2618. message.guild.createRole({
  2619. name: "131",
  2620. color: "#f7f7f7",
  2621. permissions: []
  2622. })
  2623. message.guild.createRole({
  2624. name: "132",
  2625. color: "#b2b2b2",
  2626. permissions: []
  2627. })
  2628. message.guild.createRole({
  2629. name: "133",
  2630. color: "#6f6c6c",
  2631. permissions: []
  2632. })
  2633. message.guild.createRole({
  2634. name: "134",
  2635. color: "#4d4646",
  2636. permissions: []
  2637. })
  2638. message.guild.createRole({
  2639. name: "135",
  2640. color: "#4c4c4c",
  2641. permissions: []
  2642. })
  2643. message.guild.createRole({
  2644. name: "136",
  2645. color: "#2F4F4F",
  2646. permissions: []
  2647. })
  2648. message.guild.createRole({
  2649. name: "137",
  2650. color: "#040000",
  2651. permissions: []
  2652. })
  2653.  
  2654.  
  2655. message.channel.sendMessage({embed: new Discord.RichEmbed()
  2656. .setColor('#502faf').setAuthor(`${message.author.username}'`, message.author.avatarURL).setDescription('``Colors Has Been Created``')});
  2657. }
  2658. })
  2659.  
  2660. client.on("message", async message => {
  2661. let args = message.content.split(" ").slice(1);
  2662. if (message.content.split(" ")[0] == prefix + "color") {
  2663. const embedd = new Discord.RichEmbed()
  2664. .setFooter(
  2665. "Requested by " + message.author.username,
  2666. message.author.avatarURL
  2667. )
  2668. .setDescription(`**There's No Color With This Number ** :x: `)
  2669. .setColor(`ff0000`);
  2670. if (!args[0]) return message.channel.sendEmbed(embedd);
  2671. if (isNaN(args[0]))
  2672. return message.channel.sendEmbed(
  2673. embedd.setDescription("Please select a number :x:")
  2674. );
  2675. if (!message.guild.roles.find("name", `${args[0]}`))
  2676. return message.channel.sendEmbed(embedd);
  2677.  
  2678. var a = message.guild.roles.find("name", `${args[0]}`);
  2679. if (!a) return;
  2680. if (a.hasPermission(8))
  2681. return message.channel.send(
  2682. embedd.setDescription("This color has administrator!")
  2683. );
  2684. const embed = new Discord.RichEmbed()
  2685.  
  2686. .setFooter(
  2687. "Requested by " + message.author.username,
  2688. message.author.avatarURL
  2689. )
  2690. .setDescription(`**Color Changed To Successfully** :white_check_mark: `)
  2691.  
  2692. .setColor(`${a.hexColor}`);
  2693. message.channel.sendEmbed(embed);
  2694. if (!args[0]) return;
  2695. setInterval(function() {});
  2696. let count = 0;
  2697. let ecount = 0;
  2698. for (let x = 1; x < 201; x++) {
  2699. message.member.removeRole(message.guild.roles.find("name", `${x}`));
  2700. }
  2701. message.member.addRole(message.guild.roles.find("name", `${args[0]}`));
  2702. }
  2703. });
  2704.  
  2705. const temp = JSON.parse(fs.readFileSync('./data/temp.json', 'utf8'));
  2706. client.on('message', async message => {
  2707. if(message.channel.type === "dm") return;
  2708. if(message.author.bot) return;
  2709. if(!temp[message.guild.id]) temp[message.guild.id] = {
  2710. time: "3000",
  2711. category : 'Create Temp Channel',
  2712. channel : 'Create Temp Channel'
  2713. }
  2714. if(message.content.startsWith(prefix + 'temp on')){
  2715. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  2716. var ggg= message.guild.createChannel('Create Temp Channel', 'category').then(cg => {
  2717. var ccc =message.guild.createChannel('Create Temp Channel', 'voice').then(ch => {
  2718. ch.setParent(cg)
  2719. message.channel.send('**Done ,**')
  2720. client.on('message' , message => {
  2721. if(message.content === prefix + 'temp off') {
  2722. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  2723. cg.delete()
  2724. ch.delete()
  2725. message.channel.send('**Done ,**')
  2726. }
  2727. });
  2728. const time = temp[message.guild.id].time
  2729. client.on('message' , message => {
  2730. if (message.content.startsWith(prefix + "temptime")) {
  2731. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  2732. let newTime= message.content.split(' ').slice(1).join(" ")
  2733. if(!newTime) return message.reply(`**${prefix}temptime <time> \`1000 = 1s\`**`)
  2734. if(isNaN(newTime)) return message.reply(`** The Time Be Nambers :face_palm: **`);
  2735. if(newTime < 1) return message.reply(`**The Time Be Up \`3000s\`**`)
  2736. temp[message.guild.id].time = newTime
  2737. message.channel.send(`**Temp Rooms Time Change To \`${newTime}\`**`);
  2738. }
  2739. });
  2740. client.on('voiceStateUpdate', (old, neww) => {
  2741. let newUserChannel = neww.voiceChannel
  2742. let oldUserChannel = old.voiceChannel
  2743. temp[message.guild.id].category = cg.id
  2744. temp[message.guild.id].channel = ch.id
  2745. let channel = temp[message.guild.id].channel
  2746. let category = temp[message.guild.id].category
  2747. if(oldUserChannel === undefined && newUserChannel !== undefined && newUserChannel.id == channel) {
  2748. neww.guild.createChannel(neww.displayName , 'voice').then(c => {
  2749. c.setParent(category)
  2750. let scan = setTimeout(()=>{
  2751. if(!neww.voiceChannel) {
  2752. c.delete();
  2753. client.channels.get(channel).overwritePermissions(neww, {
  2754. CONNECT:true,
  2755. SPEAK:true
  2756. })
  2757. }
  2758. }, temp[neww.guild.id].time);
  2759. c.overwritePermissions(neww, {
  2760. CONNECT:true,
  2761. SPEAK:true,
  2762. MANAGE_CHANNEL:true,
  2763. MUTE_MEMBERS:true,
  2764. DEAFEN_MEMBERS:true,
  2765. MOVE_MEMBERS:true,
  2766. VIEW_CHANNEL:true
  2767. })
  2768. neww.setVoiceChannel(c)
  2769. })
  2770. client.channels.get(channel).overwritePermissions(neww, {
  2771. CONNECT:false,
  2772. SPEAK:false
  2773. })
  2774. }
  2775. })
  2776. })
  2777. })
  2778. }
  2779. fs.writeFile("./data/temp.json", JSON.stringify(temp), (err) => {
  2780. if(err) console.error(err)
  2781. })
  2782. });
  2783.  
  2784. client.on('message',message=>{
  2785. const auto = require('./data/auto.json')
  2786. if(!auto) return console.log(`**هناك خطأ في ملف الرد للبوت**`)
  2787. let args = message.content.split(' ')
  2788. if(message.content.startsWith(prefix + 'auto')){
  2789. if(!message.guild) return;
  2790. if(message.author.bot) return;
  2791. if(!message.member.hasPermission('ADMINISTRATOR')) return;
  2792. if(!args[1]) return message.channel.send(new Discord.RichEmbed().setDescription(`
  2793. **Command: auto-respoce**
  2794.  
  2795. Unmutes a member.
  2796.  
  2797. **Usage:**
  2798. #auto (msg) (respoce)
  2799.  
  2800. **Examples:**
  2801. #auto (msg) (respoce)
  2802. #unmute hello hi`))
  2803. if(!args[2]) return message.channel.send(new Discord.RichEmbed().setDescription(`
  2804. **Command: auto-respoce**
  2805.  
  2806. Unmutes a member.
  2807.  
  2808. **Usage:**
  2809. #auto (msg) (respoce)
  2810.  
  2811. **Examples:**
  2812. #auto (msg) (respoce)
  2813. #unmute hello hi`))
  2814. auto[args[1]+message.guild.id] = {
  2815. msg : args[1],
  2816. guild : message.guild.id,
  2817. reply : args[2]
  2818. }
  2819. fs.writeFile('data/auto.json',JSON.stringify(auto,null,5),err=>{
  2820. console.error(err);
  2821. })
  2822. message.channel.send(`**:white_check_mark: تم اضافة الرد التلقائي**`)
  2823. }
  2824. })
  2825.  
  2826. const Arole_client = JSON.parse(fs.readFileSync("./data/AutoRole.json", "utf8"));
  2827. client.on('message', message => {
  2828. if(message.channel.type === "dm") return;
  2829. if(message.author.bot) return;
  2830. if(!Arole_client[message.guild.id]) Arole_client[message.guild.id] = {
  2831. role: "member"
  2832. }
  2833. const channel = Arole_client[message.guild.id].role
  2834. if (message.content.startsWith(prefix + "autorole")) {
  2835. if(!message.member.hasPermission(`MANAGE_GUILD`)) return;
  2836. let newrole = message.content.split(' ').slice(1).join(" ")
  2837. if(!newrole) return message.reply(`**${prefix}autorole <role name>**`)
  2838. Arole_client[message.guild.id].role = newrole
  2839. message.channel.send(`**${message.guild.name}'s role has been changed to ${newrole}**`);
  2840. }
  2841. fs.writeFile("./data/AutoRole.json", JSON.stringify(Arole_client), function(e){
  2842. if (e) throw e;
  2843. })
  2844. });
  2845. client.on("guildMemberAdd", member => {
  2846. if(!Arole_client[member.guild.id]) Arole_client[member.guild.id] = {
  2847. role: "member"
  2848. }
  2849. const sRole = Arole_client[member.guild.id].role
  2850. let Rrole = member.guild.roles.find('name', sRole);
  2851. member.addRole(Rrole);
  2852.  
  2853.  
  2854.  
  2855. });
  2856.  
  2857. client.on("message", message => {
  2858. if (message.author.bot) return;
  2859.  
  2860. if (!message.content.startsWith(prefix)) return;
  2861.  
  2862. let command = message.content.split(" ")[0];
  2863. command = command.slice(prefix.length);
  2864.  
  2865. let args = message.content.split(" ").slice(1);
  2866. if (command === "say") {
  2867. if (!message.channel.guild)
  2868. return message.channel
  2869. .send("هذا الأمر فقط للسيرفرات")
  2870. .then(m => m.delete(5000));
  2871. if (!message.member.hasPermission("ADMINISTRATOR"))
  2872. return message.channel.send("للأسف لا تمتلك صلاحية ADMINISTRATOR");
  2873. message.delete();
  2874. message.channel.sendMessage(args.join(" "));
  2875. }
  2876.  
  2877. if (command == "embed") {
  2878. if (!message.channel.guild)
  2879. return message.channel
  2880. .send("هذا الأمر فقط للسيرفرات")
  2881. .then(m => m.delete(5000));
  2882. if (!message.member.hasPermission("MANAGE_MESSAGES"))
  2883. return message.channel.send("للأسف لا تمتلك صلاحية MANAGE_MESSAGES");
  2884. let say = new Discord.RichEmbed()
  2885. .setDescription(args.join(" "))
  2886. .setColor(0x23b2d6);
  2887. message.channel.sendEmbed(say);
  2888. message.delete();
  2889. }
  2890. });
  2891.  
  2892. const log = JSON.parse(fs.readFileSync("./data/log.json", "utf8"));
  2893.  
  2894. client.on("message", message => {
  2895. if (!message.channel.guild) return;
  2896. let room = message.content.split(" ").slice(1);
  2897. let findroom = message.guild.channels.find(r => r.name == room);
  2898. if (message.content.startsWith(prefix + "set-log")) {
  2899. if (!message.channel.guild)
  2900. return message.reply("**This Command Only For Servers**");
  2901. if (!message.member.hasPermission("MANAGE_GUILD"))
  2902. return message.channel.send(
  2903. "**Sorry But You Dont Have Permission** `MANAGE_GUILD`"
  2904. );
  2905. if (!room) return message.channel.send("Please Type The Channel Name");
  2906. if (!findroom)
  2907. return message.channel.send("Please Type The Log Channel Name");
  2908. let embed = new Discord.RichEmbed()
  2909. .setTitle("**Done The Log Code Has Been Setup**")
  2910. .addField("Channel:", `${room}`)
  2911. .addField("Requested By:", `${message.author}`)
  2912. .setThumbnail(message.author.avatarURL)
  2913. .setFooter(`${client.user.username}`);
  2914. message.channel.sendEmbed(embed);
  2915. log[message.guild.id] = {
  2916. channel: room,
  2917. onoff: "On"
  2918. };
  2919. fs.writeFile("./data/log.json", JSON.stringify(log), err => {
  2920. if (err) console.error(err);
  2921. });
  2922. }
  2923. });
  2924.  
  2925. client.on("message", message => {
  2926. if (message.content.startsWith(prefix + "toggleLog")) {
  2927. if (!message.channel.guild)
  2928. return message.reply("**This Command Only For Servers**");
  2929. if (!message.member.hasPermission("MANAGE_GUILD"))
  2930. return message.channel.send(
  2931. "**Sorry But You Dont Have Permission** `MANAGE_GUILD`"
  2932. );
  2933. if (!log[message.guild.id])
  2934. log[message.guild.id] = {
  2935. onoff: "Off"
  2936. };
  2937. if (log[message.guild.id].onoff === "Off")
  2938. return [
  2939. message.channel.send(`**The log Is __𝐎𝐍__ !**`),
  2940. (log[message.guild.id].onoff = "On")
  2941. ];
  2942. if (log[message.guild.id].onoff === "On")
  2943. return [
  2944. message.channel.send(`**The log Is __𝐎𝐅𝐅__ !**`),
  2945. (log[message.guild.id].onoff = "Off")
  2946. ];
  2947. fs.writeFile("./data/log.json", JSON.stringify(log), err => {
  2948. if (err)
  2949. console.error(err).catch(err => {
  2950. console.error(err);
  2951. });
  2952. });
  2953. }
  2954. });
  2955.  
  2956. client.on("messageDelete", message => {
  2957. if (message.author.bot) return;
  2958. if (message.channel.type === "dm") return;
  2959. if (!message.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  2960. if (!message.guild.member(client.user).hasPermission("MANAGE_MESSAGES"))
  2961. return;
  2962. if (!log[message.guild.id])
  2963. log[message.guild.id] = {
  2964. onoff: "Off"
  2965. };
  2966. if (log[message.guild.id].onoff === "Off") return;
  2967. var logChannel = message.guild.channels.find(
  2968. c => c.name === `${log[message.guild.id].channel}`
  2969. );
  2970. if (!logChannel) return;
  2971.  
  2972. let messageDelete = new Discord.RichEmbed()
  2973. .setTitle("**[MESSAGE DELETE]**")
  2974. .setColor("RED")
  2975. .setThumbnail(message.author.avatarURL)
  2976. .setDescription(
  2977. `**\n**:wastebasket: Successfully \`\`DELETE\`\` **MESSAGE** In ${message.channel}\n\n**Channel:** \`\`${message.channel.name}\`\` (ID: ${message.channel.id})\n**Message ID:** ${message.id}\n**Sent By:** <@${message.author.id}> (ID: ${message.author.id})\n**Message:**\n\`\`\`${message}\`\`\``
  2978. )
  2979. .setTimestamp()
  2980. .setFooter(message.guild.name, message.guild.iconURL);
  2981.  
  2982. logChannel.send(messageDelete);
  2983. });
  2984. client.on("messageUpdate", (oldMessage, newMessage) => {
  2985. if (oldMessage.author.bot) return;
  2986. if (!oldMessage.channel.type === "dm") return;
  2987. if (!oldMessage.guild.member(client.user).hasPermission("EMBED_LINKS"))
  2988. return;
  2989. if (!oldMessage.guild.member(client.user).hasPermission("MANAGE_MESSAGES"))
  2990. return;
  2991. if (!log[oldMessage.guild.id])
  2992. log[oldMessage.guild.id] = {
  2993. onoff: "Off"
  2994. };
  2995. if (log[oldMessage.guild.id].onoff === "Off") return;
  2996. var logChannel = oldMessage.guild.channels.find(
  2997. c => c.name === `${log[oldMessage.guild.id].channel}`
  2998. );
  2999. if (!logChannel) return;
  3000.  
  3001. if (oldMessage.content.startsWith("https://")) return;
  3002.  
  3003. let messageUpdate = new Discord.RichEmbed()
  3004. .setTitle("**[MESSAGE EDIT]**")
  3005. .setThumbnail(oldMessage.author.avatarURL)
  3006. .setColor("BLUE")
  3007. .setDescription(
  3008. `**\n**:wrench: Successfully \`\`EDIT\`\` **MESSAGE** In ${oldMessage.channel}\n\n**Channel:** \`\`${oldMessage.channel.name}\`\` (ID: ${oldMessage.channel.id})\n**Message ID:** ${oldMessage.id}\n**Sent By:** <@${oldMessage.author.id}> (ID: ${oldMessage.author.id})\n\n**Old Message:**\`\`\`${oldMessage}\`\`\`\n**New Message:**\`\`\`${newMessage}\`\`\``
  3009. )
  3010. .setTimestamp()
  3011. .setFooter(oldMessage.guild.name, oldMessage.guild.iconURL);
  3012.  
  3013. logChannel.send(messageUpdate);
  3014. });
  3015.  
  3016. client.on("roleCreate", role => {
  3017. if (!role.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3018. if (!role.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG")) return;
  3019. if (!log[role.guild.id])
  3020. log[role.guild.id] = {
  3021. onoff: "Off"
  3022. };
  3023. if (log[role.guild.id].onoff === "Off") return;
  3024. var logChannel = role.guild.channels.find(
  3025. c => c.name === `${log[role.guild.id].channel}`
  3026. );
  3027. if (!logChannel) return;
  3028.  
  3029. role.guild.fetchAuditLogs().then(logs => {
  3030. var userID = logs.entries.first().executor.id;
  3031. var userAvatar = logs.entries.first().executor.avatarURL;
  3032.  
  3033. let roleCreate = new Discord.RichEmbed()
  3034. .setTitle("**[ROLE CREATE]**")
  3035. .setThumbnail(userAvatar)
  3036. .setDescription(
  3037. `**\n**:white_check_mark: Successfully \`\`CREATE\`\` Role.\n\n**Role Name:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`
  3038. )
  3039. .setColor("GREEN")
  3040. .setTimestamp()
  3041. .setFooter(role.guild.name, role.guild.iconURL);
  3042.  
  3043. logChannel.send(roleCreate);
  3044. });
  3045. });
  3046. client.on("roleDelete", role => {
  3047. if (!role.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3048. if (!role.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG")) return;
  3049. if (!log[role.guild.id])
  3050. log[role.guild.id] = {
  3051. onoff: "Off"
  3052. };
  3053. if (log[role.guild.id].onoff === "Off") return;
  3054. var logChannel = role.guild.channels.find(
  3055. c => c.name === `${log[role.guild.id].channel}`
  3056. );
  3057. if (!logChannel) return;
  3058.  
  3059. role.guild.fetchAuditLogs().then(logs => {
  3060. var userID = logs.entries.first().executor.id;
  3061. var userAvatar = logs.entries.first().executor.avatarURL;
  3062.  
  3063. let roleDelete = new Discord.RichEmbed()
  3064. .setTitle("**[ROLE DELETE]**")
  3065. .setThumbnail(userAvatar)
  3066. .setDescription(
  3067. `**\n**:white_check_mark: Successfully \`\`DELETE\`\` Role.\n\n**Role Name:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`
  3068. )
  3069. .setColor("RED")
  3070. .setTimestamp()
  3071. .setFooter(role.guild.name, role.guild.iconURL);
  3072.  
  3073. logChannel.send(roleDelete);
  3074. });
  3075. });
  3076. client.on("roleUpdate", (oldRole, newRole) => {
  3077. if (!oldRole.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3078. if (!oldRole.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG"))
  3079. return;
  3080. if (!log[oldRole.guild.id])
  3081. log[oldRole.guild.id] = {
  3082. onoff: "Off"
  3083. };
  3084. if (log[oldRole.guild.id].onoff === "Off") return;
  3085. var logChannel = oldRole.guild.channels.find(
  3086. c => c.name === `${log[oldRole.guild.id].channel}`
  3087. );
  3088. if (!logChannel) return;
  3089.  
  3090. oldRole.guild.fetchAuditLogs().then(logs => {
  3091. var userID = logs.entries.first().executor.id;
  3092. var userAvatar = logs.entries.first().executor.avatarURL;
  3093.  
  3094. if (oldRole.name !== newRole.name) {
  3095. if (log[oldRole.guild.id].onoff === "Off") return;
  3096. let roleUpdateName = new Discord.RichEmbed()
  3097. .setTitle("**[ROLE NAME UPDATE]**")
  3098. .setThumbnail(userAvatar)
  3099. .setColor("BLUE")
  3100. .setDescription(
  3101. `**\n**:white_check_mark: Successfully \`\`EDITED\`\` Role Name.\n\n**Old Name:** \`\`${oldRole.name}\`\`\n**New Name:** \`\`${newRole.name}\`\`\n**Role ID:** ${oldRole.id}\n**By:** <@${userID}> (ID: ${userID})`
  3102. )
  3103. .setTimestamp()
  3104. .setFooter(oldRole.guild.name, oldRole.guild.iconURL);
  3105.  
  3106. logChannel.send(roleUpdateName);
  3107. }
  3108. if (oldRole.hexColor !== newRole.hexColor) {
  3109. if (oldRole.hexColor === "#000000") {
  3110. var oldColor = "`Default`";
  3111. } else {
  3112. var oldColor = oldRole.hexColor;
  3113. }
  3114. if (newRole.hexColor === "#000000") {
  3115. var newColor = "`Default`";
  3116. } else {
  3117. var newColor = newRole.hexColor;
  3118. }
  3119. if (log[oldRole.guild.id].onoff === "Off") return;
  3120. let roleUpdateColor = new Discord.RichEmbed()
  3121. .setTitle("**[ROLE COLOR UPDATE]**")
  3122. .setThumbnail(userAvatar)
  3123. .setColor("BLUE")
  3124. .setDescription(
  3125. `**\n**:white_check_mark: Successfully \`\`EDITED\`\` **${oldRole.name}** Role Color.\n\n**Old Color:** ${oldColor}\n**New Color:** ${newColor}\n**Role ID:** ${oldRole.id}\n**By:** <@${userID}> (ID: ${userID})`
  3126. )
  3127. .setTimestamp()
  3128. .setFooter(oldRole.guild.name, oldRole.guild.iconURL);
  3129.  
  3130. logChannel.send(roleUpdateColor);
  3131. }
  3132. });
  3133. });
  3134.  
  3135. client.on("channelCreate", channel => {
  3136. if (!channel.guild) return;
  3137. if (!channel.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3138. if (!channel.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG"))
  3139. return;
  3140. if (!log[channel.guild.id])
  3141. log[channel.guild.id] = {
  3142. onoff: "Off"
  3143. };
  3144. if (log[channel.guild.id].onoff === "Off") return;
  3145. var logChannel = channel.guild.channels.find(
  3146. c => c.name === `${log[channel.guild.id].channel}`
  3147. );
  3148. if (!logChannel) return;
  3149.  
  3150. if (channel.type === "text") {
  3151. var roomType = "Text";
  3152. } else if (channel.type === "voice") {
  3153. var roomType = "Voice";
  3154. } else if (channel.type === "category") {
  3155. var roomType = "Category";
  3156. }
  3157.  
  3158. channel.guild.fetchAuditLogs().then(logs => {
  3159. var userID = logs.entries.first().executor.id;
  3160. var userAvatar = logs.entries.first().executor.avatarURL;
  3161.  
  3162. let channelCreate = new Discord.RichEmbed()
  3163. .setTitle("**[CHANNEL CREATE]**")
  3164. .setThumbnail(userAvatar)
  3165. .setDescription(
  3166. `**\n**:white_check_mark: Successfully \`\`CREATE\`\` **${roomType}** channel.\n\n**Channel Name:** \`\`${channel.name}\`\` (ID: ${channel.id})\n**By:** <@${userID}> (ID: ${userID})`
  3167. )
  3168. .setColor("GREEN")
  3169. .setTimestamp()
  3170. .setFooter(channel.guild.name, channel.guild.iconURL);
  3171.  
  3172. logChannel.send(channelCreate);
  3173. });
  3174. });
  3175. client.on("channelDelete", channel => {
  3176. if (!channel.guild) return;
  3177. if (!channel.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3178. if (!channel.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG"))
  3179. return;
  3180. if (!log[channel.guild.id])
  3181. log[channel.guild.id] = {
  3182. onoff: "Off"
  3183. };
  3184. if (log[channel.guild.id].onoff === "Off") return;
  3185. var logChannel = channel.guild.channels.find(
  3186. c => c.name === `${log[channel.guild.id].channel}`
  3187. );
  3188. if (!logChannel) return;
  3189.  
  3190. if (channel.type === "text") {
  3191. var roomType = "Text";
  3192. } else if (channel.type === "voice") {
  3193. var roomType = "Voice";
  3194. } else if (channel.type === "category") {
  3195. var roomType = "Category";
  3196. }
  3197.  
  3198. channel.guild.fetchAuditLogs().then(logs => {
  3199. var userID = logs.entries.first().executor.id;
  3200. var userAvatar = logs.entries.first().executor.avatarURL;
  3201.  
  3202. let channelDelete = new Discord.RichEmbed()
  3203. .setTitle("**[CHANNEL DELETE]**")
  3204. .setThumbnail(userAvatar)
  3205. .setDescription(
  3206. `**\n**:white_check_mark: Successfully \`\`DELETE\`\` **${roomType}** channel.\n\n**Channel Name:** \`\`${channel.name}\`\` (ID: ${channel.id})\n**By:** <@${userID}> (ID: ${userID})`
  3207. )
  3208. .setColor("RED")
  3209. .setTimestamp()
  3210. .setFooter(channel.guild.name, channel.guild.iconURL);
  3211.  
  3212. logChannel.send(channelDelete);
  3213. });
  3214. });
  3215. client.on("channelUpdate", (oldChannel, newChannel) => {
  3216. if (!oldChannel.guild) return;
  3217. if (!log[oldChannel.guild.id])
  3218. log[oldChannel.guild.id] = {
  3219. onoff: "Off"
  3220. };
  3221. if (log[oldChannel.guild.id].onoff === "Off") return;
  3222. var logChannel = oldChannel.guild.channels.find(
  3223. c => c.name === `${log[oldChannel.guild.id].channel}`
  3224. );
  3225. if (!logChannel) return;
  3226.  
  3227. if (oldChannel.type === "text") {
  3228. var channelType = "Text";
  3229. } else if (oldChannel.type === "voice") {
  3230. var channelType = "Voice";
  3231. } else if (oldChannel.type === "category") {
  3232. var channelType = "Category";
  3233. }
  3234.  
  3235. oldChannel.guild.fetchAuditLogs().then(logs => {
  3236. var userID = logs.entries.first().executor.id;
  3237. var userAvatar = logs.entries.first().executor.avatarURL;
  3238.  
  3239. if (oldChannel.name !== newChannel.name) {
  3240. let newName = new Discord.RichEmbed()
  3241. .setTitle("**[CHANNEL EDIT]**")
  3242. .setThumbnail(userAvatar)
  3243. .setColor("BLUE")
  3244. .setDescription(
  3245. `**\n**:wrench: Successfully Edited **${channelType}** Channel Name\n\n**Old Name:** \`\`${oldChannel.name}\`\`\n**New Name:** \`\`${newChannel.name}\`\`\n**Channel ID:** ${oldChannel.id}\n**By:** <@${userID}> (ID: ${userID})`
  3246. )
  3247. .setTimestamp()
  3248. .setFooter(oldChannel.guild.name, oldChannel.guild.iconURL);
  3249.  
  3250. logChannel.send(newName);
  3251. }
  3252. if (oldChannel.topic !== newChannel.topic) {
  3253. if (log[oldChannel.guild.id].onoff === "Off") return;
  3254. let newTopic = new Discord.RichEmbed()
  3255. .setTitle("**[CHANNEL EDIT]**")
  3256. .setThumbnail(userAvatar)
  3257. .setColor("BLUE")
  3258. .setDescription(
  3259. `**\n**:wrench: Successfully Edited **${channelType}** Channel Topic\n\n**Old Topic:**\n\`\`\`${oldChannel.topic ||
  3260. "NULL"}\`\`\`\n**New Topic:**\n\`\`\`${newChannel.topic ||
  3261. "NULL"}\`\`\`\n**Channel:** ${oldChannel} (ID: ${
  3262. oldChannel.id
  3263. })\n**By:** <@${userID}> (ID: ${userID})`
  3264. )
  3265. .setTimestamp()
  3266. .setFooter(oldChannel.guild.name, oldChannel.guild.iconURL);
  3267.  
  3268. logChannel.send(newTopic);
  3269. }
  3270. });
  3271. });
  3272.  
  3273. client.on("guildBanAdd", (guild, user) => {
  3274. if (!guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3275. if (!guild.member(client.user).hasPermission("VIEW_AUDIT_LOG")) return;
  3276. if (!log[guild.id])
  3277. log[guild.id] = {
  3278. onoff: "Off"
  3279. };
  3280. if (log[guild.id].onoff === "Off") return;
  3281. var logChannel = guild.channels.find(
  3282. c => c.name === `${log[guild.id].channel}`
  3283. );
  3284. if (!logChannel) return;
  3285.  
  3286. guild.fetchAuditLogs().then(logs => {
  3287. var userID = logs.entries.first().executor.id;
  3288. var userAvatar = logs.entries.first().executor.avatarURL;
  3289.  
  3290. if (userID === client.user.id) return;
  3291.  
  3292. let banInfo = new Discord.RichEmbed()
  3293. .setTitle("**[BANNED]**")
  3294. .setThumbnail(userAvatar)
  3295. .setColor("DARK_RED")
  3296. .setDescription(
  3297. `**\n**:airplane: Successfully \`\`BANNED\`\` **${user.username}** From the server!\n\n**User:** <@${user.id}> (ID: ${user.id})\n**By:** <@${userID}> (ID: ${userID})`
  3298. )
  3299. .setTimestamp()
  3300. .setFooter(guild.name, guild.iconURL);
  3301.  
  3302. logChannel.send(banInfo);
  3303. });
  3304. });
  3305. client.on("guildBanRemove", (guild, user) => {
  3306. if (!guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3307. if (!guild.member(client.user).hasPermission("VIEW_AUDIT_LOG")) return;
  3308. if (!log[guild.id])
  3309. log[guild.id] = {
  3310. onoff: "Off"
  3311. };
  3312. if (log[guild.id].onoff === "Off") return;
  3313. var logChannel = guild.channels.find(
  3314. c => c.name === `${log[guild.id].channel}`
  3315. );
  3316. if (!logChannel) return;
  3317.  
  3318. guild.fetchAuditLogs().then(logs => {
  3319. var userID = logs.entries.first().executor.id;
  3320. var userAvatar = logs.entries.first().executor.avatarURL;
  3321.  
  3322. if (userID === client.user.id) return;
  3323.  
  3324. let unBanInfo = new Discord.RichEmbed()
  3325. .setTitle("**[UNBANNED]**")
  3326. .setThumbnail(userAvatar)
  3327. .setColor("GREEN")
  3328. .setDescription(
  3329. `**\n**:unlock: Successfully \`\`UNBANNED\`\` **${user.username}** From the server\n\n**User:** <@${user.id}> (ID: ${user.id})\n**By:** <@${userID}> (ID: ${userID})`
  3330. )
  3331. .setTimestamp()
  3332. .setFooter(guild.name, guild.iconURL);
  3333.  
  3334. logChannel.send(unBanInfo);
  3335. });
  3336. });
  3337.  
  3338. client.on("guildMemberUpdate", (oldMember, newMember) => {
  3339. if (!oldMember.guild) return;
  3340. if (!log[oldMember.guild.id])
  3341. log[oldMember.guild.id] = {
  3342. onoff: "Off"
  3343. };
  3344. if (log[oldMember.guild.id].onoff === "Off") return;
  3345. var logChannel = oldMember.guild.channels.find(
  3346. c => c.name === `${log[(oldMember, newMember.guild.id)].channel}`
  3347. );
  3348. if (!logChannel) return;
  3349.  
  3350. oldMember.guild.fetchAuditLogs().then(logs => {
  3351. var userID = logs.entries.first().executor.id;
  3352. var userAvatar = logs.entries.first().executor.avatarURL;
  3353. var userTag = logs.entries.first().executor.tag;
  3354.  
  3355. if (oldMember.nickname !== newMember.nickname) {
  3356. if (oldMember.nickname === null) {
  3357. var oldNM = "`اسمه الاصلي`";
  3358. } else {
  3359. var oldNM = oldMember.nickname;
  3360. }
  3361. if (newMember.nickname === null) {
  3362. var newNM = "`اسمه الاصلي`";
  3363. } else {
  3364. var newNM = newMember.nickname;
  3365. }
  3366.  
  3367. let updateNickname = new Discord.RichEmbed()
  3368. .setTitle("**[UPDATE MEMBER NICKNAME]**")
  3369. .setThumbnail(userAvatar)
  3370. .setColor("BLUE")
  3371. .setDescription(
  3372. `**\n**:spy: Successfully \`\`CHANGE\`\` Member Nickname.\n\n**User:** ${oldMember} (ID: ${oldMember.id})\n**Old Nickname:** ${oldNM}\n**New Nickname:** ${newNM}\n**By:** <@${userID}> (ID: ${userID})`
  3373. )
  3374. .setTimestamp()
  3375. .setFooter(oldMember.guild.name, oldMember.guild.iconURL);
  3376.  
  3377. logChannel.send(updateNickname);
  3378. }
  3379. if (oldMember.roles.size < newMember.roles.size) {
  3380. let role = newMember.roles
  3381. .filter(r => !oldMember.roles.has(r.id))
  3382. .first();
  3383. if (!log[oldMember.guild.id])
  3384. log[oldMember.guild.id] = {
  3385. onoff: "Off"
  3386. };
  3387. if (log[oldMember.guild.id].onoff === "Off") return;
  3388. let roleAdded = new Discord.RichEmbed()
  3389. .setTitle("**[ADDED ROLE TO MEMBER]**")
  3390. .setThumbnail(oldMember.guild.iconURL)
  3391. .setColor("GREEN")
  3392. .setDescription(
  3393. `**\n**:white_check_mark: Successfully \`\`ADDED\`\` Role to **${oldMember.user.username}**\n\n**User:** <@${oldMember.id}> (ID: ${oldMember.user.id})\n**Role:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`
  3394. )
  3395. .setTimestamp()
  3396. .setFooter(userTag, userAvatar);
  3397.  
  3398. logChannel.send(roleAdded);
  3399. }
  3400. if (oldMember.roles.size > newMember.roles.size) {
  3401. let role = oldMember.roles
  3402. .filter(r => !newMember.roles.has(r.id))
  3403. .first();
  3404. if (!log[oldMember.guild.id])
  3405. log[oldMember.guild.id] = {
  3406. onoff: "Off"
  3407. };
  3408. if (log[(oldMember, newMember.guild.id)].onoff === "Off") return;
  3409. let roleRemoved = new Discord.RichEmbed()
  3410. .setTitle("**[REMOVED ROLE FROM MEMBER]**")
  3411. .setThumbnail(oldMember.guild.iconURL)
  3412. .setColor("RED")
  3413. .setDescription(
  3414. `**\n**:negative_squared_cross_mark: Successfully \`\`REMOVED\`\` Role from **${oldMember.user.username}**\n\n**User:** <@${oldMember.user.id}> (ID: ${oldMember.id})\n**Role:** \`\`${role.name}\`\` (ID: ${role.id})\n**By:** <@${userID}> (ID: ${userID})`
  3415. )
  3416. .setTimestamp()
  3417. .setFooter(userTag, userAvatar);
  3418.  
  3419. logChannel.send(roleRemoved);
  3420. }
  3421. });
  3422. if (oldMember.guild.owner.id !== newMember.guild.owner.id) {
  3423. if (!log[oldMember.guild.id])
  3424. log[oldMember.guild.id] = {
  3425. onoff: "Off"
  3426. };
  3427. if (log[(oldMember, newMember.guild.id)].onoff === "Off") return;
  3428. let newOwner = new Discord.RichEmbed()
  3429. .setTitle("**[UPDATE GUILD OWNER]**")
  3430. .setThumbnail(oldMember.guild.iconURL)
  3431. .setColor("GREEN")
  3432. .setDescription(
  3433. `**\n**:white_check_mark: Successfully \`\`TRANSFER\`\` The Owner Ship.\n\n**Old Owner:** <@${oldMember.user.id}> (ID: ${oldMember.user.id})\n**New Owner:** <@${newMember.user.id}> (ID: ${newMember.user.id})`
  3434. )
  3435. .setTimestamp()
  3436. .setFooter(oldMember.guild.name, oldMember.guild.iconURL);
  3437.  
  3438. logChannel.send(newOwner);
  3439. }
  3440. });
  3441.  
  3442. client.on("voiceStateUpdate", (voiceOld, voiceNew) => {
  3443. if (!voiceOld.guild.member(client.user).hasPermission("EMBED_LINKS")) return;
  3444. if (!voiceOld.guild.member(client.user).hasPermission("VIEW_AUDIT_LOG"))
  3445. return;
  3446. if (!log[voiceOld.guild.id])
  3447. log[voiceOld.guild.id] = {
  3448. onoff: "Off"
  3449. };
  3450. if (log[(voiceOld, voiceOld.guild.id)].onoff === "Off") return;
  3451. var logChannel = voiceOld.guild.channels.find(
  3452. c => c.name === `${log[(voiceOld, voiceNew.guild.id)].channel}`
  3453. );
  3454. if (!logChannel) return;
  3455.  
  3456. voiceOld.guild.fetchAuditLogs().then(logs => {
  3457. var userID = logs.entries.first().executor.id;
  3458. var userTag = logs.entries.first().executor.tag;
  3459. var userAvatar = logs.entries.first().executor.avatarURL;
  3460.  
  3461. if (voiceOld.serverMute === false && voiceNew.serverMute === true) {
  3462. let serverMutev = new Discord.RichEmbed()
  3463. .setTitle("**[VOICE MUTE]**")
  3464. .setThumbnail(
  3465. "https://images-ext-1.discordapp.net/external/pWQaw076OHwVIFZyeFoLXvweo0T_fDz6U5C9RBlw_fQ/https/cdn.pg.sa/UosmjqDNgS.png"
  3466. )
  3467. .setColor("RED")
  3468. .setDescription(
  3469. `**User:** ${voiceOld} (ID: ${voiceOld.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`
  3470. )
  3471. .setTimestamp()
  3472. .setFooter(userTag, userAvatar);
  3473.  
  3474. logChannel.send(serverMutev);
  3475. }
  3476. if (voiceOld.serverMute === true && voiceNew.serverMute === false) {
  3477. if (!log[voiceOld.guild.id])
  3478. log[voiceOld.guild.id] = {
  3479. onoff: "Off"
  3480. };
  3481. if (log[(voiceOld, voiceOld.guild.id)].onoff === "Off") return;
  3482. let serverUnmutev = new Discord.RichEmbed()
  3483. .setTitle("**[VOICE UNMUTE]**")
  3484. .setThumbnail(
  3485. "https://images-ext-1.discordapp.net/external/u2JNOTOc1IVJGEb1uCKRdQHXIj5-r8aHa3tSap6SjqM/https/cdn.pg.sa/Iy4t8H4T7n.png"
  3486. )
  3487. .setColor("GREEN")
  3488. .setDescription(
  3489. `**User:** ${voiceOld} (ID: ${voiceOld.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`
  3490. )
  3491. .setTimestamp()
  3492. .setFooter(userTag, userAvatar);
  3493.  
  3494. logChannel.send(serverUnmutev);
  3495. }
  3496. if (voiceOld.serverDeaf === false && voiceNew.serverDeaf === true) {
  3497. if (!log[voiceOld.guild.id])
  3498. log[voiceOld.guild.id] = {
  3499. onoff: "Off"
  3500. };
  3501. if (log[(voiceOld, voiceOld.guild.id)].onoff === "Off") return;
  3502. let serverDeafv = new Discord.RichEmbed()
  3503. .setTitle("**[VOICE DEAF]**")
  3504. .setThumbnail(
  3505. "https://images-ext-1.discordapp.net/external/7ENt2ldbD-3L3wRoDBhKHb9FfImkjFxYR6DbLYRjhjA/https/cdn.pg.sa/auWd5b95AV.png"
  3506. )
  3507. .setColor("RED")
  3508. .setDescription(
  3509. `**User:** ${voiceOld} (ID: ${voiceOld.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`
  3510. )
  3511. .setTimestamp()
  3512. .setFooter(userTag, userAvatar);
  3513.  
  3514. logChannel.send(serverDeafv);
  3515. }
  3516. if (voiceOld.serverDeaf === true && voiceNew.serverDeaf === false) {
  3517. if (!log[voiceOld.guild.id])
  3518. log[voiceOld.guild.id] = {
  3519. onoff: "Off"
  3520. };
  3521. if (log[(voiceOld, voiceOld.guild.id)].onoff === "Off") return;
  3522. let serverUndeafv = new Discord.RichEmbed()
  3523. .setTitle("**[VOICE UNDEAF]**")
  3524. .setThumbnail(
  3525. "https://images-ext-2.discordapp.net/external/s_abcfAlNdxl3uYVXnA2evSKBTpU6Ou3oimkejx3fiQ/https/cdn.pg.sa/i7fC8qnbRF.png"
  3526. )
  3527. .setColor("GREEN")
  3528. .setDescription(
  3529. `**User:** ${voiceOld} (ID: ${voiceOld.id})\n**By:** <@${userID}> (ID: ${userID})\n**Channel:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannel.id})`
  3530. )
  3531. .setTimestamp()
  3532. .setFooter(userTag, userAvatar);
  3533.  
  3534. logChannel.send(serverUndeafv);
  3535. }
  3536. });
  3537.  
  3538. if (
  3539. voiceOld.voiceChannelID !== voiceNew.voiceChannelID &&
  3540. voiceNew.voiceChannel &&
  3541. voiceOld.voiceChannel != null
  3542. ) {
  3543. if (!log[voiceOld.guild.id])
  3544. log[voiceOld.guild.id] = {
  3545. onoff: "Off"
  3546. };
  3547. if (log[(voiceOld, voiceOld.guild.id)].onoff === "Off") return;
  3548. let voiceLeave = new Discord.RichEmbed()
  3549. .setTitle("**[CHANGED VOICE ROOM]**")
  3550. .setColor("GREEN")
  3551. .setThumbnail(voiceOld.user.avatarURL)
  3552. .setDescription(
  3553. `**\n**:repeat: Successfully \`\`CHANGED\`\` The Voice Channel.\n\n**From:** \`\`${voiceOld.voiceChannel.name}\`\` (ID: ${voiceOld.voiceChannelID})\n**To:** \`\`${voiceNew.voiceChannel.name}\`\` (ID: ${voiceNew.voiceChannelID})\n**User:** ${voiceOld} (ID: ${voiceOld.id})`
  3554. )
  3555. .setTimestamp()
  3556. .setFooter(voiceOld.user.tag, voiceOld.user.avatarURL);
  3557.  
  3558. logChannel.send(voiceLeave);
  3559. }
  3560. });
Add Comment
Please, Sign In to add comment