Advertisement
n3k4a

Zbot Files | زرف في زرف

Feb 13th, 2020
812
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 56.77 KB | None | 0 0
  1. const http = require('http');
  2. const express = require('express');
  3. const app = express();
  4. app.get("/", (request, response) => {
  5. response.sendStatus(200);
  6. });
  7. app.listen(process.env.PORT);
  8. setInterval(() => {
  9. http.get(`http://zbot5.glitch.me`);
  10. }, 280000);
  11.  
  12. // كل البكجات الي ممكن تحتجها في اي بوت
  13. const { Client, RichEmbed } = require("discord.js");
  14. var { Util } = require('discord.js');
  15. const {TOKEN, YT_API_KEY, prefix, devs} = require('./config')
  16. const client = new Client({ disableEveryone: true})
  17. const ytdl = require("ytdl-core");
  18. const canvas = require("canvas");
  19. const Canvas = require("canvas");
  20. const convert = require("hh-mm-ss")
  21. const fetchVideoInfo = require("youtube-info");
  22. const botversion = require('./package.json').version;
  23. const simpleytapi = require('simple-youtube-api')
  24. const moment = require("moment");
  25. const fs = require('fs');
  26. const util = require("util")
  27. const gif = require("gif-search");
  28. const opus = require("node-opus");
  29. const ms = require("ms");
  30. const jimp = require("jimp");
  31. const { get } = require('snekfetch');
  32. const guild = require('guild');
  33. const dateFormat = require('dateformat');//npm i dateformat
  34. const YouTube = require('simple-youtube-api');
  35. const youtube = new YouTube('AIzaSyAdORXg7UZUo7sePv97JyoDqtQVi3Ll0b8');
  36. const hastebins = require('hastebin-gen');
  37. const getYoutubeID = require('get-youtube-id');
  38. const yt_api_key = "AIzaSyDeoIH0u1e72AtfpwSKKOSy3IPp2UHzqi4";
  39. const pretty = require("pretty-ms");
  40. client.login(TOKEN);
  41. const queue = new Map();
  42. var table = require('table').table
  43. const Discord = require('discord.js');
  44. client.on('ready', () => {
  45. console.log(`Logged in as ${client.user.tag}!`);
  46. });
  47.  
  48.  
  49. client.on("message", message => {
  50. if (message.content === (prefix + "help")) {
  51. message.channel.send(`**__Z__BoT<a:Zbot1:635830167323017236>
  52. <a:Zbot2:635830244275781633> Help Menu <a:Zbot2:635830244275781633>
  53.  
  54. <a:Zbot4:635835892216496164>z!help1 => General orders
  55. <a:Zbot3:635833840094412810>z!help2 => Admins orders
  56. <a:music:635830204958244884>z!help3 => Music orders
  57. <a:Zbot5:635837862721355806>z!help4 => About for Bot
  58. <a:Zbot2:635830244275781633>z!help5 => Protection orders
  59. :tickets: z!help6 => Ticket orders
  60. **`);
  61. }
  62. });
  63.  
  64.  
  65.  
  66. client.on('message', message => {
  67. if (message.author.bot) return;
  68. if (message.content === prefix + "help4") {
  69. message.channel.send('**Check Your DM <a:Zbot5:635837862721355806>**');
  70.  
  71. message.author.sendMessage(`**
  72. About for Bot <a:Zbot5:635837862721355806>
  73.  
  74. Developers Bot <@600369127907131412> <@539845895517241394> <@572176808959803406>
  75.  
  76. Server Support : https://discord.gg/UbJdZpE
  77.  
  78. ** `);
  79.  
  80. }
  81. });
  82.  
  83. client.on('message', message => {
  84. if (message.author.bot) return;
  85. if (message.content === prefix + "help3") {
  86. message.channel.send('**Check Your DM <a:music:635830204958244884>**');
  87.  
  88. message.author.sendMessage(`
  89. **Music orders <a:music:635830204958244884>
  90. z!play
  91. z!skip
  92. z!np
  93. z!replay
  94. z!queue
  95. z!vol
  96. z!pause
  97.  
  98. **`);
  99.  
  100. }
  101. });
  102.  
  103. client.on('message', message => {
  104. if (message.author.bot) return;
  105. if (message.content === prefix + "help1") {
  106. message.channel.send('**Check Your DM <a:Zbot4:635835892216496164>**');
  107.  
  108. message.author.sendMessage(`
  109. **General orders <a:Zbot4:635835892216496164>
  110.  
  111. z!bot
  112.  
  113. z!id
  114.  
  115. z!ping
  116.  
  117. z!inv
  118. **`);
  119.  
  120. }
  121. });
  122.  
  123. client.on('message', async(message) => {
  124. let args = message.content.split(' ');
  125. if(args[0] == `${prefix}kick`){
  126. if(!message.guild || message.author.bot) return undefined;
  127. if(!message.member.hasPermission('KICK_MEMBERS') || !message.guild.member(client.user).hasPermission('KICK_MEMBERS')) return;
  128. let user = message.guild.members.get(args[1]) || message.mentions.members.first();
  129. let reason = args.slice(2).join(" ");
  130. if(!user) return message.channel.send(`${prefix}kick @member reason`);
  131. if(!reason) reason = 'No reason provided.';
  132. if(message.guild.member(user.user).highestRole.position >= message.guild.member(message.member).highestRole.position) return message.channel.send(`You cant kick **${user.user.username}** because his role highest than your role!`);
  133. if(message.guild.member(user.user).highestRole.position >= message.guild.member(client.user).highestRole.position) return message.channel.send(`I cant kick **${user.user.username}** because his role highest than my role!`);
  134. if(!message.guild.member(user.user).kickable) return message.channel.send(`I cant kick **${user.user.username}**.`);
  135. await message.guild.member(user).kick(reason, user);
  136. await message.channel.send(`**``${user.user.username}** has been kicked ``\`\`${reason}\`\``);
  137. }
  138. });
  139.  
  140. client.on('message', message => {
  141. if (message.author.bot) return;
  142. if (message.content === prefix + "help2") {
  143. message.channel.send('**Check Your DM <a:Zbot3:635833840094412810>**');
  144.  
  145. message.author.sendMessage(`
  146. **Admins orders <a:Zbot3:635833840094412810>
  147.  
  148. z!clear
  149.  
  150. z!ban
  151.  
  152. z!kick
  153.  
  154. z!unban
  155. **`);
  156.  
  157. }
  158. });
  159.  
  160.  
  161. client.on('message', message => {
  162. if (message.author.bot) return;
  163. if (message.content === prefix + "help5") {
  164. message.channel.send('**Check Your DM <a:Zbot2:635830244275781633>**');
  165.  
  166. message.author.sendMessage(`
  167. ** Protection <<a:Zbot2:635830244275781633>
  168. z!limit لمعرفه حدود الحمايه
  169. z!limitbans لتحديد حدود البان
  170. z!limitkicks لتحديد حدود الكيك
  171. z!limitroleDelete لتحديد حدود حذف الرتب
  172. z!limitroleCreate لتحديد حدود عمل الرتب
  173. z!limitchannelDelete لتحديد حدود حذف الرومات
  174. z!limittime لتحديد مده الحمايه
  175.  
  176.  
  177.  
  178. **`);
  179.  
  180. }
  181. });
  182.  
  183. client.on('message', message =>{
  184. let command = message.content.split(" ")[0];
  185. if (command == prefix + "unban") {
  186. if(!message.member.hasPermission('BAN_MEMBERS')) return;
  187. let args = message.content.split(" ").slice(1).join(" ");
  188. if(args == 'all') {message.guild.fetchBans().then(zg => {
  189. zg.forEach(NoNo => {message.guild.unban(NoNo);})});
  190. return message.channel.send('** Unbanned all members **')}
  191. if(!args) return message.channel.send('**Please Type the member ID / all**');
  192. message.guild.unban(args).then(m =>{message.channel.send(`**`` Unbanned ${m.username}``**`);
  193. }).catch(stry =>{message.channel.send(`**I can't find \`${args}\` in the ban list**`)});
  194. }});
  195.  
  196.  
  197. client.on('message', message => {
  198. if(message.content.split(' ')[0] == `${prefix}ban`){
  199. if(!message.guild || message.author.bot) return undefined;
  200. if(!message.member.hasPermission('BAN_MEMBERS')) return message.channel.send('You don\'t have permission.');
  201. if(!message.guild.member(client.user).hasPermission('BAN_MEMBERS')) return message.channel.send('I don\'t have permission.');
  202. let args = message.content.split(" ").slice(1);
  203. let user = message.guild.members.get(message.content.split(' ')[1]) || message.mentions.members.first();
  204. let reason = message.content.split(" ").slice(2).join(" ");
  205. if(!user) return message.channel.send(` ${prefix}ban @mention reason`);
  206. if(!reason) reason = 'No reason provided.';
  207. if(user.user.id === message.author.id) return message.channel.send('You can\'t ban yourself!');
  208. if(message.guild.member(user.user).highestRole.position >= message.guild.member(message.member).highestRole.position) return message.channel.send(`You can't ban **${user.user.tag}** because his role highest than your role!`);
  209. if(message.guild.member(user.user).highestRole.position >= message.guild.member(client.user).highestRole.position) return message.channel.send(`I can't ban **${user.user.tag}** because his role highest than my role!`);
  210. if(message.guild.member(user.user).hasPermission('MANAGE_GUILD') || user.user.id == message.guild.owner.id) return message.channel.send(`You can't ban **${user.user.tag}** because he have Administration permissions!`);
  211. if(!message.guild.member(user.user).bannable) return message.channel.send(`I can't ban **${user.user.tag}**.`);
  212. message.guild.member(user).ban(reason, user);
  213. message.channel.send(```Done , Has been banned ${user.user.username} \nReason:`` \`\`${reason}\`\``);
  214. }
  215. });
  216.  
  217.  
  218. client.on('message', async msg => {
  219. if (msg.author.bot) return undefined;
  220. if (!msg.content.startsWith(prefix)) return undefined;
  221. const args = msg.content.split(' ');
  222. const searchString = args.slice(1).join(' ');
  223. const url = args[1] ? args[1] .replace(/<(.+)>/g, '$1') : '';
  224. const serverQueue = queue.get(msg.guild.id);
  225. let command = msg.content.toLowerCase().split(" ")[0];
  226. command = command.slice(prefix.length)
  227. if (command === `play`) {
  228. const voiceChannel = msg.member.voiceChannel;
  229. if (!voiceChannel) return msg.channel.send(':no_entry_sign: You must join a voice channel to use that!');
  230. const permissions = voiceChannel.permissionsFor(msg.client.user);
  231. if (!permissions.has('CONNECT')) {
  232. return msg.channel.send('لا يتوآجد لدي صلاحية للتكلم بهذآ الروم');
  233. }
  234. if (!permissions.has('SPEAK')) {
  235. return msg.channel.send('لا يتوآجد لدي صلاحية للتكلم بهذآ الروم');
  236. }
  237.  
  238. if (!permissions.has('EMBED_LINKS')) {
  239. return msg.channel.sendMessage("**يجب توآفر برمشن `EMBED LINKS`لدي **rl")
  240. }
  241.  
  242. if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) {
  243. const playlist = await youtube.getPlaylist(url);
  244. const videos = await playlist.getVideos();
  245. for (const video of Object.values(videos)) {
  246. const video2 = await youtube.getVideoByID(video.id);
  247. await handleVideo(video2, msg, voiceChannel, true);
  248. }
  249. return msg.channel.send(` **${playlist.title}** تم الإضآفة إلى قأئمة التشغيل`);
  250. } else {
  251. try {
  252.  
  253. var video = await youtube.getVideo(url);
  254.  
  255. } catch (error) {
  256. try {
  257. var fast = {};
  258. var videos = await youtube.searchVideos(searchString, 10);
  259. let index = 0;
  260. const embed1 = new Discord.RichEmbed()
  261. .setDescription(`**الرجآء من حضرتك إختيآر رقم المقطع** :
  262. ${videos.map(video2 => `[**${++index}**] **${video2.title}**`).join('\n')}`)
  263. .setFooter(`${msg.guild.name}`)
  264. msg.channel.sendEmbed(embed1).then(message =>{
  265.  
  266. message.delete(15000)
  267.  
  268. });
  269. try {
  270. var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 11, {
  271. maxMatches: 1,
  272. time: 20000,
  273. errors: ['time']
  274. })
  275.  
  276. }catch(err) {
  277. console.error(err);
  278. return msg.channel.send('لم يتم إختيآر مقطع صوتي');
  279. }
  280. const videoIndex = parseInt(response.first().content);
  281. var video = await youtube.getVideoByID(videos[videoIndex - 1].id);
  282. } catch (err) {
  283. console.error(err);
  284. return msg.channel.send(':x: لا يتوفر نتآئج بحث ');
  285. }
  286. }
  287.  
  288. return handleVideo(video, msg, voiceChannel);
  289. }
  290. } else if (command === `skip`) {
  291. if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
  292. if (!serverQueue) return msg.channel.send('لا يتوفر مقطع لتجآوزه');
  293. serverQueue.connection.dispatcher.end('تم تجآوز هذآ المقطع');
  294. return undefined;
  295. } else if (command === `stop`) {
  296. if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
  297. if (!serverQueue) return msg.channel.send('لا يتوفر مقطع لإيقآفه');
  298. serverQueue.songs = [];
  299. serverQueue.connection.dispatcher.end('تم إيقآف هذآ المقطع');
  300. return undefined;
  301. } else if (command === `vol`) {
  302. if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
  303. if (!serverQueue) return msg.channel.send('لا يوجد شيء شغآل.');
  304. if (!args[1]) return msg.channel.send(`<a:mu:636594533051793408> مستوى الصوت **${serverQueue.volume}**`);
  305. serverQueue.volume = args[1];
  306. serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 50);
  307. return msg.channel.send(`<a:mu:636594533051793408> تم تغير الصوت الي **${args[1]}**`);
  308. } else if (command === `np`) {
  309. if (!serverQueue) return msg.channel.send('لا يوجد شيء حالي ف العمل.');
  310. const embedNP = new Discord.RichEmbed()
  311. .setDescription(`<a:mu:636594533051793408> الان يتم تشغيل : **${serverQueue.songs[0].title}**`)
  312. return msg.channel.sendEmbed(embedNP);
  313. } else if (command === `replay`) {
  314. if (!serverQueue) return msg.channel.send('لا يوجد شيء حالي ف العمل.');
  315. const embedNP = new Discord.RichEmbed()
  316. .setDescription(`سيتم اعاده تشغيل الفديو :**${serverQueue.songs[0].title}**`)
  317. msg.channel.send({embed: embedNP})
  318. return handleVideo(video, msg, msg.member.voiceChannel);
  319.  
  320. } else if (command === `queue`) {
  321. if (!serverQueue) return msg.channel.send('لا يوجد شيء حالي ف العمل.');
  322. let index = 0;
  323. const embedqu = new Discord.RichEmbed()
  324. .setDescription(`**Songs Queue**
  325. ${serverQueue.songs.map(song => `**${++index} -** ${song.title}`).join('\n')}
  326. **الان يتم تشغيل** ${serverQueue.songs[0].title}`)
  327. return msg.channel.sendEmbed(embedqu);
  328. } else if (command === `pause`) {
  329. if (serverQueue && serverQueue.playing) {
  330. serverQueue.playing = false;
  331. serverQueue.connection.dispatcher.pause();
  332. return msg.channel.send('تم إيقاف الموسيقى مؤقتا!');
  333. }
  334. return msg.channel.send('لا يوجد شيء حالي ف العمل.');
  335. } else if (command === "resume") {
  336. if (serverQueue && !serverQueue.playing) {
  337. serverQueue.playing = true;
  338. serverQueue.connection.dispatcher.resume();
  339. return msg.channel.send('استأنفت الموسيقى بالنسبة لك !');
  340. }
  341. return msg.channel.send('لا يوجد شيء حالي في العمل.');
  342. }
  343.  
  344. return undefined;
  345. async function handleVideo(video, msg, voiceChannel, playlist = false) {
  346. const serverQueue = queue.get(msg.guild.id);
  347. const song = {
  348. id: video.id,
  349. title: Util.escapeMarkdown(video.title),
  350. url: `https://www.youtube.com/watch?v=${video.id}`,
  351. time:`${video.duration.hours}:${video.duration.minutes}:${video.duration.seconds}`,
  352. eyad:`${video.thumbnails.high.url}`,
  353. best:`${video.channel.title}`,
  354. bees:`${video.raw.snippet.publishedAt}`,
  355. shahd:`${video.raw.kind}`,
  356. zg:`${video.raw.snippet.channelId}`,
  357. views:`${video.raw.views}`,
  358. like:`${video.raw.likeCount}`,
  359. dislike:`${video.raw.dislikeCount}`,
  360. hi:`${video.raw.id}`
  361. };
  362. if (!serverQueue) {
  363. const queueConstruct = {
  364. textChannel: msg.channel,
  365. voiceChannel: voiceChannel,
  366. connection: null,
  367. songs: [],
  368. volume: 5,
  369. playing: true
  370. };
  371. queue.set(msg.guild.id, queueConstruct);
  372. queueConstruct.songs.push(song);
  373. try {
  374. var connection = await voiceChannel.join();
  375. queueConstruct.connection = connection;
  376. play(msg.guild, queueConstruct.songs[0]);
  377. } catch (error) {
  378. console.error(`I could not join the voice channel: ${error}`);
  379. queue.delete(msg.guild.id);
  380. return msg.channel.send(`لا أستطيع دخول هذآ الروم ${error}`);
  381. }
  382. } else {
  383. serverQueue.songs.push(song);
  384. console.log(serverQueue.songs);
  385. if (playlist) return undefined;
  386. else return msg.channel.send(` **${song.title}** تم اضافه الاغنية الي القائمة!`);
  387. }
  388. return undefined;
  389. }
  390.  
  391. function play(guild, song) {
  392. const serverQueue = queue.get(guild.id);
  393.  
  394. if (!song) {
  395. serverQueue.voiceChannel.leave();
  396. queue.delete(guild.id);
  397. return;
  398. }
  399. console.log(serverQueue.songs);
  400. const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
  401. .on('end', reason => {
  402. if (reason === 'Stream is not generating quickly enough.') console.log('Song ended.');
  403. else console.log(reason);
  404. serverQueue.songs.shift();
  405. play(guild, serverQueue.songs[0]);
  406. })
  407. .on('error', error => console.error(error));
  408. dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
  409. fetchVideoInfo(`${song.hi}`, function (err, fuck) {
  410. if (err) throw new Error(err);
  411. console.log(fuck);
  412. const yyyy = {}
  413. if(!yyyy[msg.guild.id]) yyyy[msg.guild.id] = {
  414. like: `${fuck.likeCount}`,
  415. dislike: `${fuck.dislikeCount}`
  416. }
  417. serverQueue.textChannel.send({embed : new Discord.RichEmbed()
  418. .setURL(fuck.url)
  419. .addField('<a:music:635830204958244884> Time The Video :' , `${song.time}`, true).addField('Channel Name :' , `${song.best}`, true)
  420. .setColor('#ff0000')
  421. }).then(love => {
  422. love.react('aawf').then(r=>{
  423. love.react('sw').then(r =>{
  424. love.react('wa').then(r=> {
  425. let likee = (reaction, user) => reaction.emoji.name === 'ds' && user.id === msg.author.id;
  426. let dislikee = (reaction, user) => reaction.emoji.name === 'sd' && user.id === msg.author.id;
  427. let cnn = (reaction, user) => reaction.emoji.name === 'sw' && user.id === msg.author.id;
  428.  
  429. let ll = love.createReactionCollector(likee , {max:5});
  430. let dd = love.createReactionCollector(dislikee , {max:5});
  431. let cn = love.createReactionCollector(cnn , {max:5});
  432.  
  433. ll.on("collect", r => {
  434. love.edit({embed : new Discord.RichEmbed()
  435. .setURL(fuck.url)
  436. .addField('Channel Name :' , `${song.best}`, true)
  437. .addField('Time The Video :' , `${song.time}`, true)
  438. .setColor('#ff0000')
  439. .setTimestamp()
  440. });
  441. })
  442.  
  443. dd.on("collect", r => {
  444. yyyy[msg.guild.id].dislike++;
  445. love.edit({embed : new Discord.RichEmbed()
  446. .setURL(fuck.url)
  447. .addField('Time The Video :' , `${song.time}`, true)
  448. .addField('Channel Name :' , `${song.best}`, true)
  449. .setColor('#ff0000')
  450. .setTimestamp()
  451. });
  452. })
  453. cn.on("collect", r => {
  454. love.edit({embed : new Discord.RichEmbed()
  455. .setTitle(`**${fuck.title}**`)
  456. .setURL(fuck.url)
  457. .addField('Time The Video :' , `${song.time}`, true)
  458. .addField('Channel Name :' , `${song.best}`, true)
  459. .addField('Channel ID :' , `${song.zg}`, true)
  460. .addField('Video Created at :' , `${fuck.datePublished}`, true)
  461. .addField('Views :' , `${fuck.views}`, true)
  462. .addField('Like👍 :' , `${fuck.likeCount}`, true)
  463. .addField('dislike👎 :' , `${fuck.dislikeCount}`, true)
  464. .addField('comments :' , `${fuck.commentCount}`, true)
  465. .setImage(`${song.eyad}`)
  466. .setThumbnail('http://cdn.akhbaar24.com/430e061a-f89a-43c7-86d9-82fae5f7c495.jpg')
  467. .setColor('#ff0000')
  468. .setTimestamp()
  469. });
  470. })
  471. })
  472. })
  473. })
  474. })
  475. })
  476. }
  477. });
  478.  
  479. client.on('message', message => {
  480. if(message.content === `${prefix}invite`){
  481. let invitelink = `https://bit.ly/2ZAR8n9`;//By 3Mo_Steve#9446 &&wiojiadw
  482. var embed = new Discord.RichEmbed()
  483. .setColor('BLACK')
  484. .setDescription(`لاضافت البوت [Click Here](${invitelink})`)
  485. //
  486. message.channel.send("")
  487. message.author.send(embed)
  488. }
  489. })
  490.  
  491. client.on('message', message => {
  492. if (message.content.startsWith('z!' + "bot")) {
  493. message.channel.send({
  494. embed: new Discord.RichEmbed()
  495. .setAuthor(client.user.username,client.user.avatarURL)
  496. .setThumbnail(client.user.avatarURL)
  497. .setColor('RANDOM')
  498. .setTitle('``INFO ZBot`` ')
  499. .addField('``My Ping``' , [`${Date.now() - message.createdTimestamp}` + 'MS'], true)
  500. .addField('``RAM Usage``', `[${(process.memoryUsage().rss / 1048576).toFixed()}MB]`, true)
  501. .addField('``servers``', [client.guilds.size], true)
  502. .addField('``channels``' , `[ ${client.channels.size} ]` , true)
  503. .addField('``Users``' ,`[ ${client.users.size} ]` , true)
  504. .addField('``My Name``' , `[ ${client.user.tag} ]` , true)
  505. .addField('``My ID``' , `[ ${client.user.id} ]` , true)
  506. .addField('``My Prefix``' , `[ z! ]` , true)
  507. .addField('``My Language``' , `[ Java Script ]` , true)
  508. .setFooter('ZBoT')
  509. .addField('Developers:', `**<@572176808959803406>,<@600369127907131412>,<@539845895517241394>**`)// يغبي ما في داعي ترا ضايفينه ب z!help4
  510. .addField('**Support** :' , `https://discord.gg/UbJdZpE` , true)
  511. .addField('**invite me** :' , `https://bit.ly/2Pg32kR` , true)
  512. })
  513. }
  514. });
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525. client.on('message', message => {
  526. if (message.content.startsWith(prefix + "id")) {
  527. var args = message.content.split(" ").slice(1);
  528. let user = message.mentions.users.first();
  529. var men = message.mentions.users.first();
  530. var heg;
  531. if(men) {
  532. heg = men
  533. } else {
  534. heg = message.author
  535. }
  536. var mentionned = message.mentions.members.first();
  537. var h;
  538. if(mentionned) {
  539. h = mentionned
  540. } else {
  541. h = message.member
  542. }
  543. moment.locale('ar-TN');
  544. var id = new Discord.RichEmbed()
  545. .setAuthor(message.author.username, message.author.avatarURL)
  546. .setColor("#707070")
  547. .addField(': دخولك لديسكورد قبل', `${moment(heg.createdTimestamp).format('YYYY/M/D HH:mm:ss')} **\n** \`${moment(heg.createdTimestamp).fromNow()}\`` ,true)
  548. .addField(': انضمامك لسيرفر قبل', `${moment(h.joinedAt).format('YYYY/M/D HH:mm:ss')} \n \`${moment(h.joinedAt).fromNow()}\``, true)
  549. .setFooter(`ZBoT`, 'https://images-ext-2.discordapp.net/external/JpyzxW2wMRG2874gSTdNTpC_q9AHl8x8V4SMmtRtlVk/https/orcid.org/sites/default/files/files/ID_symbol_B-W_128x128.gif')
  550. .setThumbnail(heg.avatarURL);
  551. message.channel.send(id)
  552. } });
  553.  
  554.  
  555.  
  556.  
  557.  
  558. client.on('message', msg => {
  559. if (msg.content === 'كسمك') {
  560. msg.delete(30)
  561. }
  562. });
  563.  
  564. client.on('message', msg => {
  565. if (msg.content === 'زب') {
  566. msg.delete(30)
  567. }
  568. });
  569.  
  570. client.on('message', msg => {
  571. if (msg.content === 'زبي') {
  572. msg.delete(30)
  573.  
  574. }
  575. });
  576.  
  577. client.on('message', msg => {
  578. if (msg.content === 'كس') {
  579. msg.delete(30)
  580.  
  581. }
  582. });
  583.  
  584. client.on('message', msg => {
  585. if (msg.content === 'كسختك') {
  586. msg.delete(30)
  587.  
  588. }
  589. });
  590.  
  591. client.on('message', msg => {
  592. if (msg.content === 'اير') {
  593. msg.delete(30)
  594.  
  595. }
  596. });
  597.  
  598. client.on('message', msg => {
  599. if (msg.content === 'anal') {
  600. msg.delete(30)
  601.  
  602. }
  603. });
  604.  
  605. client.on('message', msg => {
  606. if (msg.content === 'pusyy') {
  607. msg.delete(30)
  608.  
  609. }
  610. });
  611. client.on('message', msg => {
  612. if (msg.content === 'cock') {
  613. msg.delete(30)
  614.  
  615. }
  616. });
  617. client.on('message', msg => {
  618. if (msg.content === 'نيك') {
  619. msg.delete(30)
  620.  
  621. }
  622. });
  623. client.on('message', msg => {
  624. if (msg.content === 'قحبة') {
  625. msg.delete(30)
  626.  
  627. }
  628. });
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637. client.on("roleCreate", role => {
  638. client.setTimeout(() => {
  639. role.guild.fetchAuditLogs({
  640. limit: 1,
  641. type: 30
  642. })
  643. .then(audit => {
  644. let exec = audit.entries.map(a => a.executor.username)
  645. try {
  646. let log = role.guild.channels.find('name', 'log');
  647. if (!log) return;
  648. let embed = new Discord.RichEmbed()
  649. .setColor('RANDOM')
  650. .setTitle('➕ RoleCreated')
  651. .addField('Role Name', role.name, true)
  652. .addField('Role ID', role.id, true)
  653. .addField('By', exec, true)
  654. .setTimestamp()
  655. log.send(embed).catch(e => {
  656. console.log(e);
  657. });
  658. } catch (e) {
  659. console.log(e);
  660. }
  661. })
  662. }, 1000)
  663. })
  664. client.on("roleDelete", role => {
  665. client.setTimeout(() => {
  666. role.guild.fetchAuditLogs({
  667. limit: 1,
  668. type: 30
  669. })
  670. .then(audit => {
  671. let exec = audit.entries.map(a => a.executor.username)
  672. try {
  673. let log = role.guild.channels.find('name', 'log');
  674. if (!log) return;
  675. let embed = new Discord.RichEmbed()
  676. .setColor('RANDOM')
  677. .setTitle('❌ RoleDeleted')
  678. .addField('Role Name:', role.name, true)
  679. .addField('Role ID:', role.id, true)
  680. .addField('By:', exec, true)
  681. .setTimestamp()
  682. log.send(embed).catch(e => {
  683. console.log(e);
  684. });
  685. } catch (e) {
  686. console.log(e);
  687. }
  688. })
  689. }, 1000)
  690. })
  691. client.on("roleUpdate", (re,updated) => {
  692. client.setTimeout(() => {
  693. re.guild.fetchAuditLogs({
  694. limit: 1,
  695. type: 30
  696. })
  697. .then(audit => {
  698. let exec = audit.entries.map(a => a.executor.username)
  699. try {
  700.  
  701. let log = re.guild.channels.find('name', 'log');
  702. if (!log) return;
  703. let embed = new Discord.RichEmbed()
  704. .setColor('BLACK')
  705. .setTitle("✏ Role Name Updated")
  706. .addField("Old",`${re.name}`,true)
  707. .addField("New",`${updated.name}`,true )
  708. .addField("Role id",`${re.id}`,true )
  709. .addField('By', exec, true)
  710. .setTimestamp()
  711. log.send(embed).catch(e => {
  712. console.log(e);
  713. });
  714. } catch (e) {
  715. console.log(e);
  716. }
  717. })
  718. }, 1000)
  719. })
  720. client.on("channelDelete", dc => {
  721. const channel = dc.guild.channels.find("name", "log")
  722. if(channel) {
  723. var embed = new Discord.RichEmbed()
  724. .setTitle(dc.guild.name)
  725. .setDescription(`***Channel Deleted Name : *** **${dc.name}** ⬅️`)
  726. .setColor(`RANDOM`)
  727. .setTimestamp();
  728. channel.sendEmbed(embed)
  729. }
  730. });
  731.  
  732.  
  733. client.on('messageUpdate', (message, newMessage) => {
  734. if (message.content === newMessage.content) return;
  735. if (!message || !message.id || !message.content || !message.guild || message.author.bot) return;
  736. const channel = message.guild.channels.find('name', 'log');
  737. if (!channel) return;
  738. let embed = new Discord.RichEmbed()
  739. .setAuthor(`${message.author.tag}`, message.author.avatarURL)
  740. .setColor('RANDOM')
  741. .setDescription(`✏ **Message Edited
  742. Sender <@${message.author.id}> Edited In** <#${message.channel.id}>\n\nBefore Edited:\n \`${message.cleanContent}\`\n\nAfter Edited:\n \`${newMessage.cleanContent}\``)
  743. .setTimestamp();
  744. channel.send({embed:embed});
  745. });
  746. client.on('messageDelete', message => {
  747. if (!message || !message.id || !message.content || !message.guild || message.author.bot) return;
  748. const channel = message.guild.channels.find('name', 'log');
  749. if (!channel) return;
  750.  
  751. let embed = new Discord.RichEmbed()
  752. .setAuthor(`${message.author.tag}`, message.author.avatarURL)
  753. .setColor('RANDOM')
  754. .setDescription(`🗑️ **Message Deleted**
  755. **Sender <@${message.author.id}> Deleted In** <#${message.channel.id}>\n\n \`${message.cleanContent}\``)
  756. .setTimestamp();
  757. channel.send({embed:embed});
  758. });
  759. client.on('guildMemberAdd', member => {
  760. if (!member || !member.id || !member.guild) return;
  761. const guild = member.guild;
  762.  
  763. const channel = member.guild.channels.find('name', 'log');
  764. if (!channel) return;
  765. let memberavatar = member.user.avatarURL
  766. const fromNow = moment(member.user.createdTimestamp).fromNow();
  767. const isNew = (new Date() - member.user.createdTimestamp) < 900000 ? '🆕' : '';
  768.  
  769. let embed = new Discord.RichEmbed()
  770. .setAuthor(`${member.user.tag}`, member.user.avatarURL)
  771. .setThumbnail(memberavatar)
  772. .setColor('RANDOM')
  773. .setDescription(`📥 <@${member.user.id}> **Joined To The Server**\n\n`)
  774. .setTimestamp();
  775. channel.send({embed:embed});
  776. });
  777. client.on('guildMemberRemove', member => {
  778. if (!member || !member.id || !member.guild) return;
  779. const guild = member.guild;
  780.  
  781. const channel = member.guild.channels.find('name', 'log');
  782. if (!channel) return;
  783. let memberavatar = member.user.avatarURL
  784. const fromNow = moment(member.joinedTimestamp).fromNow();
  785.  
  786. let embed = new Discord.RichEmbed()
  787. .setAuthor(`${member.user.tag}`, member.user.avatarURL)
  788. .setThumbnail(memberavatar)
  789. .setColor('RAMDOM')
  790. .setDescription(`📤 <@${member.user.id}> **Leave From Server**\n\n`)
  791. .setTimestamp();
  792. channel.send({embed:embed});
  793. });
  794. client.on('voiceStateUpdate', (oldM, newM) => {
  795. let m1 = oldM.serverMute;
  796. let m2 = newM.serverMute;
  797. let d1 = oldM.serverDeaf;
  798. let d2 = newM.serverDeaf;
  799. let ch = oldM.guild.channels.find('name', 'log')
  800. if(!ch) return;
  801. oldM.guild.fetchAuditLogs()
  802. .then(logs => {
  803. let user = logs.entries.first().executor
  804. if(m1 === false && m2 === true) {
  805. let embed = new Discord.RichEmbed()
  806. .setAuthor(`${newM.user.tag}`, newM.user.avatarURL)
  807. .setDescription(`${newM} has muted in server`)
  808. .setFooter(`By : ${user}`)
  809. ch.send(embed)
  810. }
  811. if(m1 === true && m2 === false) {
  812. let embed = new Discord.RichEmbed()
  813. .setAuthor(`${newM.user.tag}`, newM.user.avatarURL)
  814. .setDescription(`${newM} has unmuted in server`)
  815. .setFooter(`By : ${user}`)
  816. .setTimestamp()
  817. ch.send(embed)
  818. }
  819. if(d1 === false && d2 === true) {
  820. let embed = new Discord.RichEmbed()
  821. .setAuthor(`${newM.user.tag}`, newM.user.avatarURL)
  822. .setDescription(`${newM} has deafened in server`)
  823. .setFooter(`By : ${user}`)
  824. .setTimestamp()
  825. ch.send(embed)
  826. }
  827. if(d1 === true && d2 === false) {
  828. let embed = new Discord.RichEmbed()
  829. .setAuthor(`${newM.user.tag}`, newM.user.avatarURL)
  830. .setDescription(`${newM} has undeafened in server`)
  831. .setFooter(`By : ${user}`)
  832. .setTimestamp()
  833. ch.send(embed)
  834. }
  835. })
  836. });
  837. client.on("guildBanAdd", (guild, member) => {
  838. client.setTimeout(() => {
  839. guild.fetchAuditLogs({
  840. limit: 1,
  841. type: 22
  842. })
  843. .then(audit => {
  844. let exec = audit.entries.map(a => a.executor.username);
  845. try {
  846. let log = guild.channels.find('name', 'log');
  847. if (!log) return;
  848. client.fetchUser(member.id).then(myUser => {
  849. let embed = new Discord.RichEmbed()
  850. .setAuthor(exec)
  851. .setThumbnail(myUser.avatarURL)
  852. .addField('- Banned User:',`**${myUser.username}**`,true)
  853. .addField('- Banned By:',`**${exec}**`,true)
  854. .setFooter(myUser.username,myUser.avatarURL)
  855. .setTimestamp();
  856. log.send(embed).catch(e => {
  857. console.log(e);
  858. });
  859. });
  860. } catch (e) {
  861. console.log(e);
  862. }
  863. });
  864. }, 1000);
  865. });
  866.  
  867. client.on('guildCreate', guild => {
  868. client.channels.get("636578806945284117").send(`✅ **${client.user.tag} البوت دخل سيرفر
  869. Server name: ${guild.name}
  870. Server owner: ${guild.owner}
  871. Server id: ${guild.id}
  872. Server Count: ${guild.memberCount}
  873. عدد السيرفرات : ${client.guilds.size}**`)
  874. });
  875.  
  876. client.on('guildDelete', guild => {
  877. client.channels.get("636578806945284117").send(`❎ **${client.user.tag} البوت طلع من سيرفر
  878. Server name: ${guild.name}
  879. Server owner: ${guild.owner}
  880. Server id: ${guild.id}
  881. Server Count: ${guild.memberCount}
  882. عدد السيرفرات : ${client.guilds.size}**`)
  883. });
  884.  
  885.  
  886.  
  887.  
  888. client.on("message", msg => {
  889. if(msg.author.bot || !msg.guild) return;
  890. let [command, ...args] = msg.content.slice(prefix.length).split(/ +/g);
  891. if(command === "space") {
  892. if(args.shift() === "all") {
  893. let rooms = msg.guild.channels.filter(r=> r.name.includes("-") || r.name.includes("_"))
  894. rooms.forEach(r=> r.setName(r.name.replace(/-/g, " ").replace(/_/g, " ")))
  895. msg.channel.send("**Done i have spaced "+rooms.size+" channel ...**")
  896. .catch(err=> msg.channel.send(""))
  897. }
  898. else if(msg.mentions.channels.first()) {
  899. let room = msg.guild.channels.find(m=> m.name === msg.mentions.channels.first().name)
  900. room.setName(room.name.replace(/-/g, " ").replace(/_/g, " ")).then(sec=> msg.channel.send("**Done i have spaced "+room+" ...**"))
  901. .catch(err=> msg.channel.send(""))
  902. }
  903. else msg.channel.send("**Usage: \n > "+prefix+"space <all | mention channel>**")
  904. }
  905.  
  906. })
  907.  
  908.  
  909.  
  910.  
  911.  
  912. client.on('message', message => {
  913. if (message.author.bot) return; ///
  914. if (message.content.startsWith(prefix + 'clear')) {
  915. if(!message.channel.guild) return message.reply(`** This Command For Servers Only**`);
  916. if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send(`** You don't have Premissions!**`);
  917. if(!message.guild.member(client.user).hasPermission('MANAGE_GUILD')) return message.channel.send(`**I don't have Permission!**`);
  918. let args = message.content.split(" ").slice(1)
  919. let messagecount = parseInt(args);
  920. if (args > 100) return message.reply(`** The number can't be more than **100** .**`).then(messages => messages.delete(5000))
  921. if(!messagecount) args = '100';
  922. message.channel.fetchMessages({limit: messagecount}).then(messages => message.channel.bulkDelete(messages)).then(msgs => {
  923. message.channel.send(`** Done , Deleted \`${msgs.size}\` messages.**`).then(messages => messages.delete(5000));
  924. })
  925. }
  926. });
  927.  
  928. client.on('message' , message => {
  929. if(message.author.bot) return;
  930. if(message.content.startsWith(prefix + "ping")) {
  931. var PinG = `${Date.now() - message.createdTimestamp}`
  932. var ApL = `${Math.round(client.ping)}`
  933. message.channel.send(`**Ping:** \`${PinG}\`**🌐** \`ms.\``);
  934.  
  935. }
  936. });
  937.  
  938. client.on("message", message => {
  939. var prefix = "z!";
  940. var args = message.content.split(' ').slice(1);
  941. var msg = message.content.toLowerCase();
  942. if( !message.guild ) return;
  943. if( !msg.startsWith( prefix + 'role' ) ) return;
  944. if(!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send(' **__You Dont Have Permissions__**');
  945. if( msg.toLowerCase().startsWith( prefix + 'roleremove' ) ){
  946. if( !args[0] ) return message.reply( '** Mention User**' );
  947. if( !args[1] ) return message.reply( '** Write Name Of Role To Remove it From The User**' );
  948. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  949. var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  950. if( !role1 ) return message.reply( '** Mention Role To Remove it From The User**' );if( message.mentions.members.first() ){
  951. message.mentions.members.first().removeRole( role1 );
  952. return message.reply('** Success Removed Role**');
  953. }
  954. if( args[0].toLowerCase() == "all" ){
  955. message.guild.members.forEach(m=>m.removeRole( role1 ))
  956. return message.reply('** Succes Removed Rank [ '+role1.name+' ] From All**');
  957. } else if( args[0].toLowerCase() == "bots" ){
  958. message.guild.members.filter(m=>m.user.bot).forEach(m=>m.removeRole(role1))
  959. return message.reply('** Succes Removed Rank [ '+role1.name+' ] From All Bots**');
  960. } else if( args[0].toLowerCase() == "humans" ){
  961. message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.removeRole(role1))
  962. return message.reply('** Succes Removed Rank [ '+role1.name+' ] From All Humans**');
  963. }
  964. } else {
  965. if( !args[0] ) return message.reply( '** Mention User**' );
  966. if( !args[1] ) return message.reply( '** Write Name Of Role To Give It To User**' );
  967. var role = msg.split(' ').slice(2).join(" ").toLowerCase();
  968. var role1 = message.guild.roles.filter( r=>r.name.toLowerCase().indexOf(role)>-1 ).first();
  969. if( !role1 ) return message.reply( '** Write Name Of Role To Give It To User**' );if( message.mentions.members.first() ){
  970. message.mentions.members.first().addRole( role1 );
  971. return message.reply('** Success Gived Rank **');
  972. }
  973. if( args[0].toLowerCase() == "all" ){
  974. message.guild.members.forEach(m=>m.addRole( role1 ))
  975. return message.reply('** Success Gived All Rank [ '+role1.name+' ]**');
  976. } else if( args[0].toLowerCase() == "bots" ){
  977. message.guild.members.filter(m=>m.user.bot).forEach(m=>m.addRole(role1))
  978. return message.reply('** Success Gived All Bots Rank [ '+role1.name+' ] **');
  979. } else if( args[0].toLowerCase() == "humans" ){
  980. message.guild.members.filter(m=>!m.user.bot).forEach(m=>m.addRole(role1))
  981. return message.reply('** Success Gived All Humans Rank [ '+role1.name+' ]**');
  982. }
  983. }
  984. });
  985.  
  986.  
  987. let anti = JSON.parse(fs.readFileSync("./antigreff.json", "UTF8"));
  988. let config = JSON.parse(fs.readFileSync("./config.json", "UTF8"));
  989. client.on("message", message => {
  990. if(!message.channel.guild) return;
  991. let user = anti[message.guild.id+message.author.id]
  992. let num = message.content.split(" ").slice(1).join(" ");
  993. if(!anti[message.guild.id+message.author.id]) anti[message.guild.id+message.author.id] = {
  994. actions: 0
  995. }
  996. if(!config[message.guild.id]) config[message.guild.id] = {
  997. banLimit: 3,
  998. chaDelLimit: 3,
  999. roleDelLimit: 3,
  1000. kickLimits: 3,
  1001. roleCrLimits: 3,
  1002. time: 30
  1003. }
  1004. if(message.content.startsWith(prefix + "limit")) {
  1005. if(!message.member.hasPermission('MANAGE_GUILD')) return;
  1006. if(message.content.startsWith(prefix + "limitbans")) {
  1007. if(!num) return message.channel.send("**→ | Supply a number !");
  1008. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1009. config[message.guild.id].banLimit = num;
  1010. message.channel.send(`**→ | Changed bans limit to : ${config[message.guild.id].banLimit}.**`)
  1011. }
  1012. if(message.content.startsWith(prefix + "limitkicks")) {
  1013. if(!num) return message.channel.send("**→ | Supply a number !**");
  1014. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1015. config[message.guild.id].kickLimits = num;
  1016. message.channel.send(`**→ | Changed kicks limit to : ${config[message.guild.id].kickLimits}.**`)
  1017. }
  1018. if(message.content.startsWith(prefix + "limitroleDelete")) {
  1019. if(!num) return message.channel.send("**→ | Supply a number !**");
  1020. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1021. config[message.guild.id].roleDelLimit = num;
  1022. message.channel.send(`**→ | Changed Role Deleting limit to : ${config[message.guild.id].roleDelLimit}.**`)
  1023. }
  1024. if(message.content.startsWith(prefix + "limitroleCreate")) {
  1025. if(!num) return message.channel.send("**→ | Supply a number !**");
  1026. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1027. config[message.guild.id].roleCrLimits = num;
  1028. message.channel.send(`**→ | Changed Role Creation limit to : ${config[message.guild.id].roleCrLimits}.**`)
  1029. }//Zine , Mohamed Tarek , Kbosh
  1030. if(message.content.startsWith(prefix + "limitchannelDelete")) {
  1031. if(!num) return message.channel.send("**→ | Supply a number !**");
  1032. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1033. config[message.guild.id].chaDelLimit = num;
  1034. message.channel.send(`**→ | Changed Channel Deleting limit to : ${config[message.guild.id].chaDelLimit}.**`)
  1035. }
  1036. if(message.content.startsWith(prefix + "limittime")) {
  1037. if(!num) return message.channel.send("**→ | Supply a number !**");
  1038. if(isNaN(num)) return message.channel.send("**→ | Supply a number !**");
  1039. config[message.guild.id].time = num;
  1040. message.channel.send(`**→ | Changed Times limit to : ${config[message.guild.id].time}.**`)
  1041. }
  1042. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function(e) {
  1043. if(e) throw e;
  1044. });
  1045. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function(e) {
  1046. if(e) throw e;
  1047. });
  1048. }
  1049. });
  1050. client.on("channelDelete", async channel => {
  1051. const entry1 = await channel.guild.fetchAuditLogs({
  1052. type: 'CHANNEL_DELETE'
  1053. }).then(audit => audit.entries.first())
  1054. console.log(entry1.executor.username)
  1055. const entry = entry1.executor
  1056. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1057. banLimit: 3,
  1058. chaDelLimit: 3,
  1059. roleDelLimit: 3,
  1060. kickLimits: 3,
  1061. roleCrLimits: 3
  1062. }
  1063. if (!anti[channel.guild.id + entry.id]) {
  1064. anti[channel.guild.id + entry.id] = {
  1065. actions: 1
  1066. }
  1067. setTimeout(() => {
  1068. anti[channel.guild.id + entry.id].actions = "0"
  1069. }, config[channel.guild.id].time * 1000)
  1070. } else {
  1071. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)//Zine , Mohamed Tarek , Kbosh
  1072. console.log("TETS");
  1073. setTimeout(() => {
  1074. anti[channel.guild.id + entry.id].actions = "0"
  1075. }, config[channel.guild.id].time * 1000)
  1076. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].chaDelLimit) {
  1077. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**→ | ${entry.username} , Deleted many __Channles__.**`))
  1078. anti[channel.guild.id + entry.id].actions = "0"
  1079. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1080. if (e) throw e;
  1081. });
  1082. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1083. if (e) throw e;
  1084. });
  1085. }
  1086. }
  1087.  
  1088. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1089. if (e) throw e;
  1090. });
  1091. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1092. if (e) throw e;
  1093. });
  1094. })
  1095.  
  1096. client.on("roleDelete", async channel => {
  1097. const entry1 = await channel.guild.fetchAuditLogs({
  1098. type: 'ROLE_DELETE'
  1099. }).then(audit => audit.entries.first())
  1100. console.log(entry1.executor.username)
  1101. const entry = entry1.executor
  1102. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1103. banLimit: 3,
  1104. chaDelLimit: 3,
  1105. roleDelLimit: 3,
  1106. kickLimits: 3,
  1107. roleCrLimits: 3
  1108. }
  1109. if (!anti[channel.guild.id + entry.id]) {
  1110. anti[channel.guild.id + entry.id] = {
  1111. actions: 1
  1112. }
  1113. setTimeout(() => {
  1114. anti[channel.guild.id + entry.id].actions = "0"
  1115. }, config[channel.guild.id].time * 1000)
  1116. } else {
  1117. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)
  1118. console.log("TETS");
  1119. setTimeout(() => {
  1120. anti[channel.guild.id + entry.id].actions = "0"
  1121. }, config[channel.guild.id].time * 1000)
  1122. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].roleDelLimit) {
  1123. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**→ | ${entry.username} , Deleted many __Roles__!**`))
  1124. anti[channel.guild.id + entry.id].actions = "0"
  1125. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1126. if (e) throw e;
  1127. });
  1128. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1129. if (e) throw e;
  1130. });
  1131. }
  1132. }
  1133.  
  1134. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1135. if (e) throw e;
  1136. });
  1137. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1138. if (e) throw e;
  1139. });
  1140. });
  1141.  
  1142. client.on("roleCreate", async channel => {
  1143. const entry1 = await channel.guild.fetchAuditLogs({
  1144. type: 'ROLE_CREATE'
  1145. }).then(audit => audit.entries.first())
  1146. console.log(entry1.executor.username)
  1147. const entry = entry1.executor
  1148. if (!config[channel.guild.id]) config[channel.guild.id] = {
  1149. banLimit: 3,
  1150. chaDelLimit: 3,
  1151. roleDelLimit: 3,
  1152. kickLimits: 3,
  1153. roleCrLimits: 3
  1154. }
  1155. if (!anti[channel.guild.id + entry.id]) {
  1156. anti[channel.guild.id + entry.id] = {
  1157. actions: 1
  1158. }
  1159. setTimeout(() => {
  1160. anti[channel.guild.id + entry.id].actions = "0"
  1161. }, config[channel.guild.id].time * 1000)
  1162. } else {
  1163. anti[channel.guild.id + entry.id].actions = Math.floor(anti[channel.guild.id + entry.id].actions + 1)
  1164. console.log("TETS");
  1165. setTimeout(() => {
  1166. anti[channel.guild.id + entry.id].actions = "0"
  1167. }, config[channel.guild.id].time * 1000)
  1168. if (anti[channel.guild.id + entry.id].actions >= config[channel.guild.id].roleCrLimits) {
  1169. channel.guild.members.get(entry.id).ban().catch(e => channel.guild.owner.send(`**→ | ${entry.username} , is creating many __Rooms__.**`))
  1170. anti[channel.guild.id + entry.id].actions = "0"
  1171. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1172. if (e) throw e;
  1173. });
  1174. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1175. if (e) throw e;
  1176. });
  1177. }
  1178. }
  1179.  
  1180. fs.writeFile("./config.json", JSON.stringify(config, null, 2), function (e) {
  1181. if (e) throw e;
  1182. });
  1183. fs.writeFile("./antigreff.json", JSON.stringify(anti, null, 2), function (e) {
  1184. if (e) throw e;
  1185. });
  1186. });
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197. client.on('message',message=>{
  1198. if(message.content == prefix+'discrim'){const tags = [];
  1199. client.users.filter(m => m.discriminator === `${message.author.discriminator}`).forEach(m => {
  1200. if(m.id == message.author.id)return; tags.push(`${m.tag}`);});
  1201. message.channel.send(`\`\`\`json\n${tags.join("\n")}\n\`\`\``)}})
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208. client.on("message", message => {
  1209. if(message.content.startsWith(prefix + "server")){
  1210. if(message.author.bot || message.channel.type == "dm") return;
  1211. let onlineM = message.guild.members.filter(m => m.presence.status !== "offline");
  1212. let verifyL = ["None", "Low", "Medium", "Hard", "Extreme"];
  1213. let region = {
  1214. 'brazil': "`Brazil`",
  1215. 'eu-central': "`Central Europe`",
  1216. 'singapore': "`Singapore`",
  1217. 'us-central': "`US Central`",
  1218. 'sydney': "`Sydney`",
  1219. 'us-east': "`US East`",
  1220. 'us-south': "`US South`",
  1221. 'us-west': "`US West`",
  1222. 'eu-west': "`Western Europe`",
  1223. 'london': "`London`",
  1224. 'amsterdam': "`Amsterdam`",
  1225. 'hongkong': "`Hong Kong`",
  1226. 'russia': "`Russia`"
  1227. };
  1228. let serverEmbed = new Discord.RichEmbed()
  1229. .setColor("#36393e")
  1230. .setThumbnail(message.guild.iconURL)
  1231. .setAuthor(`${message.guild.name}, Server Info`)
  1232. .setDescription(`- Server Name \`${message.guild.name}\`\n- Created At \`${moment(message.guild.createdAt).format('D/MM/YYYY h:mm a')}\`\n- Total Members \`${message.guild.memberCount} [Online: ${onlineM.size}]\`\n- Server Owner \`${message.guild.owner.user.tag}\`\n- Channels \`${message.guild.channels.filter(m => m.type == 'text').size} Text || ${message.guild.channels.filter(m => m.type == 'voice').size} Voice\`\n- Categories \`${message.guild.channels.filter(m => m.type == 'category').size}\`\n- Roles \`${message.guild.roles.size}\`\n- Region \`${region[message.guild.region]}\`\n- Verification Level \`${verifyL[message.guild.verificationLevel]}\`\n- Server ID \`${message.guild.id}\``)
  1233. .setFooter(message.client.user.username,message.client.user.avatarURL);
  1234. if(!message.member.hasPermission("MANAGE_GUILD")) return message.channel.send(`:no_entry: You dont have permission!`).then(mm => mm.delete(5000)); message.channel.send(serverEmbed).catch(console.error);
  1235. } else if(message.content.startsWith(prefix + "user")){
  1236. if(message.author.bot || message.channel.type == "dm") return;
  1237. let mnt = message.mentions.users.first();
  1238. let user = mnt || message.author;
  1239. let userEmbed = new Discord.RichEmbed()
  1240. .setColor("#36393e")
  1241. .setThumbnail(user.avatarURL)
  1242. .setAuthor(`${user.username}, User Info`)
  1243. .setDescription(`- Name \`${user.tag}\`\n- Created At \`${moment(user.createdAt).format('D/MM/YYYY h:mm a')}\`\n- Joined At \`${moment(user.joinedAt).format('D/MM/YYYY h:mm a')}\`\n- ID \`${user.id}\``)
  1244. .setFooter(message.client.user.username,message.client.user.avatarURL);
  1245. message.channel.send(userEmbed).catch(console.error);
  1246.  
  1247. }
  1248. });
  1249.  
  1250.  
  1251.  
  1252. let current = 0;
  1253. let tchannels = [];
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259. client.on('message',async message => {
  1260. if(message.author.bot || message.channel.type === 'dm') return;
  1261. let args = message.content.split(" ");
  1262. let author = message.author.id;
  1263. let ticketsCat = message.guild.channels.find("name", "TICKETS");
  1264. if(args[0].toLowerCase() === `${prefix}helwgawgp`) {
  1265. let embed = new Discord.RichEmbed()
  1266. .setAuthor(client.user.username, client.user.displayAvatarURL)
  1267. .setThumbnail(message.author.avatarURL)
  1268. .setColor("#2a92b1")
  1269.  
  1270.  
  1271. await message.channel.send(``);
  1272. await message.channel.send(embed);
  1273. } else if(args[0].toLowerCase() === `${prefix}new`) {
  1274. const embed = new Discord.RichEmbed()
  1275. .setColor("#36393e")
  1276. .addField(`Error`, `This server doesn't have a \`Supprot Team\` role made so the ticket won't be opened.`)
  1277. .setTimestamp();
  1278. if (!message.guild.roles.exists("name", "Supprot Team")) return message.channel.send({ embed: embed });
  1279. if(!message.guild.me.hasPermission("MANAGE_CHANNELS")) return message.channel.send(`**i don't have Permissions**`);
  1280. console.log(current);
  1281. let openReason = "";
  1282. current++;
  1283. message.guild.createChannel(`ticket-${current}`, 'text').then(c => {
  1284. tchannels.push(c.id);
  1285. c.setParent(ticketsCat);
  1286. let role = message.guild.roles.find("name", "Support Team");
  1287. if(!ticketsCat) return message.channel.send(`You must create Category name is **TICKETS**`)
  1288. message.channel.send(`:white_check_mark: , **تم عمل التكت.** <#${c.id}>`);
  1289. c.overwritePermissions(role, {
  1290. SEND_MESSAGES: true,
  1291. READ_MESSAGES: true
  1292. });
  1293. c.overwritePermissions(message.guild.id, {
  1294. READ_MESSAGES: false,
  1295. SEND_MESSAGES: false
  1296. });
  1297. c.overwritePermissions(message.author.id, {
  1298. READ_MESSAGES: true,
  1299. SEND_MESSAGES: true
  1300. });
  1301.  
  1302. if(args[1]) openReason = `\nسبب فتح التكت , " **${args.slice(1).join(" ")}** "`;
  1303. let embed = new Discord.RichEmbed()
  1304. .setAuthor(message.author.username, message.author.avatarURL)
  1305. .setColor("#36393e")
  1306. .setDescription(`**Wait until the administration responds to you ** ${openReason}`);
  1307. c.send(`${message.author}`);
  1308. c.send(embed);
  1309. });
  1310. } else if(args[0].toLowerCase() === `${prefix}close`) {
  1311. if(!message.member.hasPermission("MANAGE_GUILD")) return message.channel.send(`:no_entry_sign: , **أنت لست من ادارة السيرفر لتنفيذ هذا الأمر.**`);
  1312. if(!message.channel.name.startsWith('ticket-') && !tchannels.includes(message.channel.id)) return message.channel.send(`:no_entry_sign: , **هذا الروم ليس من رومات التكت.**`);
  1313.  
  1314. message.channel.send(`:white_check_mark: , **سيتم اغلاق الروم في 3 ثواني من الاَن.**`);
  1315. tchannels.splice( tchannels.indexOf(message.channel.id), 1 );
  1316. setTimeout(() => message.channel.delete(), 3000);
  1317. } else if(args[0].toLowerCase() === `${prefix}rewgasxzvxzvagstart`) {
  1318. if(!devs.includes(message.author.id)) return message.channel.send(`:no_entry_sign: , **أنت لست من ادارة السيرفر لأستخدام هذا الأمر.**`);
  1319. message.channel.send(`:whi**`);
  1320. client.destroy();
  1321. client.login(process.env.Dream_TOKEN);
  1322. } else if(args[0].toLowerCase() === `${prefix}deleteall`) {
  1323. let iq = 0;
  1324. for(let q = 0; q < tchannels.length; q++) {
  1325. let c = message.guild.channels.get(tchannels[q]);
  1326. if(c) {
  1327. c.delete();
  1328. tchannels.splice( tchannels[q], 1 );
  1329. iq++;
  1330. }
  1331. if(q === tchannels.length - 1 || q === tchannels.lengh + 1) {
  1332. message.channel.send(`:white_check_mark: , **تم مسح \`${iq}\` من التكتات.**`);
  1333. }
  1334. }
  1335. }
  1336. });
  1337.  
  1338. client.on('message', message => {
  1339. var prefix = "z!";
  1340. if (message.content.startsWith(prefix + "rename")) {
  1341. if(!message.channel.guild) return;
  1342. if (!message.member.hasPermission("MANAGE_CHANNEL")) return;
  1343. var a= message.content.split(' ').slice(1).join(" ");
  1344. if (!a) return message.reply("Type Channel Name")
  1345. message.channel.setName(`${a}`)
  1346. .then(newChannel => message.channel.send(`Done Change Name To ${a}`))
  1347. .catch(console.error);
  1348. }
  1349. });
  1350.  
  1351. client.on('message', message => {
  1352. if (message.author.bot) return;
  1353. if (message.content === prefix + "help6") {
  1354. message.channel.send('**Check Your DM :tickets:**');
  1355.  
  1356. message.author.sendMessage(`**
  1357. :tickets:
  1358.  
  1359. > z!new
  1360. » Syntax: z!new [السبب]
  1361.  
  1362. > z!close
  1363. » Syntax: z!close
  1364. » Description: لأقفال تكت. :no_entry_sign:
  1365.  
  1366. > z!deleteall
  1367. » Syntax: z!deleteall
  1368. » Description لحذف جميع التكتات المفتوحة
  1369.  
  1370. > z!rename
  1371. » Syntax: z!rename
  1372. » Description لتغير اسم التيكت
  1373. ** `);
  1374.  
  1375. }
  1376. });
  1377.  
  1378.  
  1379. client.on ('message', async message => {
  1380. if (!message.guild || message.author.bot) return undefined;
  1381. if (message.guild.toggle == 'true') {
  1382. message.content.includes ("discord.gg/") ? message.delete () : null;
  1383. }
  1384. var prefix = prefix ? prefix : "z!",
  1385. command = message.content.slice (prefix.length).split (" ")[0],
  1386. type = message.content.split (" ")[1];
  1387. switch (command) {
  1388. case "link":
  1389. switch (type) {
  1390. case "on":
  1391. message.guild.toggle = 'true';
  1392. var messages = (await message.channel.fetchMessages ()).filter (m => m.content.includes ("discord.gg/"));
  1393. message.channel.bulkDelete (messages);
  1394. message.channel.send ("اوك الحين لو احد نشر رابط بتنمسح رسالته");
  1395. break;
  1396. case "off":
  1397. message.guild.toggle = 'false';
  1398. message.channel.send ("اوك الحين لو احد نشر رابط ما بيصير شي");
  1399. break;
  1400. }
  1401. break;
  1402. }
  1403. });
  1404.  
  1405.  
  1406. client.on("message", message => {
  1407. let args = message.content
  1408. .split(" ")
  1409. .slice(1)
  1410. .join(" ");
  1411. if (message.content.startsWith("bc")) {
  1412. if (!message.author.id === "") return;
  1413. message.channel.sendMessage("جار ارسال الرسالة ");
  1414. client.users.forEach(m => {
  1415. m.sendMessage(args);
  1416. });
  1417. }
  1418. });
  1419.  
  1420. client.on('message', message => {
  1421. if(!message.channel.guild) return;
  1422. let args = message.content.split(' ').slice(1).join(' ');
  1423. if (message.content.startsWith('bc')){
  1424. if(!message.author.id === '368537351984513025') return;
  1425. message.channel.sendMessage('جار ارسال الرسالة |:white_check_mark:')
  1426. client.users.forEach(m =>{
  1427. m.sendMessage(args)
  1428. })
  1429. }
  1430. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement