· 6 years ago · Jul 08, 2019, 04:24 PM
1const Discord = require("discord.js");
2const Canvas = require('canvas')
3const queue = new Map();
4const ytdl = require('ytdl-core');
5const figlet = require('figlet');
6const YouTube = require('simple-youtube-api');
7const client = new Discord.Client();
8const fetchVideoInfo = require('youtube-info');
9const dateFormat = require('dateformat');
10const moment = require("moment");
11const getYoutubeID = require('get-youtube-id');
12const fs = require('fs');
13const prefix = "@"
14const { Client, Util } = require('discord.js');
15const Enmap = require('enmap');
16const ytScraper = require("yt-scraper")
17const youtube = new YouTube("AIzaSyBPDpS-wRHLdJcxeeSqPTf7ixUUrwVp-fk");
18const devs = ["357961207019470851"]
19
20client.on('message', async message => { //she3a
21 let args = message.content.slice(3); //MR.Egypt
22 if(message.content.startsWith(prefix + 'nbc')) { //MR.Egypt
23 if(!message.guild.members.get(message.author.id).hasPermission('ADMINISTRATOR')) return message.channel.send('Required Administrator Permission')
24 message.guild.members.forEach(m => { //MR.Egypt
25
26 m.send(args.replace('[user]', m).replace('[server]', m.guild.name).replace('[sender]', message.author.username)) //MR.Egypt
27 })
28 }
29}) //MR.Egypt
30
31 client.on('message', message => {
32 if (message.author.id === client.user.id) return;
33 if (message.guild) {
34 let embed = new Discord.RichEmbed()
35 let args = message.content.split(' ').slice(1).join(' ');
36 if(message.content.split(' ')[0] == prefix + 'bc') {
37 if (!args[1]) {
38 message.channel.send("**@bc <message>**");
39 return;
40 }
41 message.guild.members.forEach(m => {
42 if(!message.member.hasPermission('ADMINISTRATOR')) return;
43 var bc = new Discord.RichEmbed()
44 .setAuthor(message.author.username, message.author.avatarURL)
45 .addField('**Server**:', `**${message.guild.name}**`,true)
46 .addField('**By**:', `**${message.author.username}**#**${message.author.discriminator}**`,true)
47 .addField('__message__:', args)
48 .setThumbnail(message.guild.iconURL)
49 .setColor('RANDOM')
50 .setThumbnail(message.guild.iconURL )
51
52 m.send(`${m}`,{embed: bc});
53 });
54 if(!message.member.hasPermission('ADMINISTRATOR')) return;
55
56 const dark = new Discord.RichEmbed()
57
58 .setAuthor(message.author.username, message.author.avatarURL)
59 .setTitle('✅| Done ')
60 .addBlankField(true)
61 .addField('♨| عدد الاعضاء المرسل لهم ', message.guild.memberCount , true)
62 .addField('?| message: ', args)
63 .setColor('RANDOM')
64 message.channel.sendEmbed(dark);
65 }
66 } else {
67 return;
68 }
69 });
70
71 client.on('message', message => {
72 if (message.author.bot) return;
73 if (!message.content.startsWith(prefix)) return;
74
75 let command = message.content.split(" ")[0];
76 command = command.slice(prefix.length);
77
78
79 let args = message.content.split(" ").slice(1);
80 let x = args.join(" ")
81 if(message.content.startsWith(prefix + 'csay')) {
82 message.channel.send(''+x);
83 message.delete(999)
84 }
85
86
87 });
88
89client.on('message', message => {
90 if (message.author.bot) return;
91 if (!message.content.startsWith(prefix)) return;
92
93 let command = message.content.split(" ")[0];
94 command = command.slice(prefix.length);
95
96 let args = message.content.split(" ").slice(1);
97
98
99
100if (command == "say") {
101 let say = new Discord.RichEmbed()
102 .setDescription(args.join(" "))
103 .setColor(0x23b2d6)
104 message.channel.sendEmbed(say);
105 message.delete();
106 }
107
108
109});
110
111client.on('message', msg => {
112 if (msg.author.bot) return;
113 if (!msg.content.startsWith(prefix)) return;
114 let command = msg.content.split(" ")[0];
115 command = command.slice(prefix.length);
116 let args = msg.content.split(" ").slice(1);
117
118 if(command === "clear") {
119 const emoji = client.emojis.find("name", "wastebasket")
120 let textxt = args.slice(0).join("");
121 if(msg.member.hasPermission("MANAGE_MESSAGES")) {
122 if (textxt == "") {
123 msg.delete().then
124 msg.channel.send("***```Supply A Number```***").then(m => m.delete(3000));
125} else {
126 msg.delete().then
127 msg.delete().then
128 msg.channel.bulkDelete(textxt);
129 msg.channel.send("```Cleard: " + textxt + "\n Messages```").then(m => m.delete(3000));
130 }
131 }
132}
133});
134
135client.on('message', function(message) {
136 // هنا البريفكس
137 if(message.content.startsWith(prefix + "report")) {
138 let messageArgs = message.content.split(" ").slice(1).join(" ");
139 let messageReason = message.content.split(" ").slice(2).join(" ");
140 if(!messageReason) return message.reply("**# Specify a reason!**");
141 let mUser = message.mentions.users.first();
142 if(!mUser) return message.channel.send("Couldn't find user.");
143 let Rembed = new Discord.RichEmbed()
144 .setTitle("`New Report!`")
145 .setThumbnail(message.author.avatarURL)
146 .addField("**# - Reported User:**",mUser,true)
147 .addField("**# - Reported User ID:**",mUser.id,true)
148 .addField("**# - Reason:**",messageReason,true)
149 .addField("**# - Channel:**",message.channel,true)
150 .addField("**# - Time:**",message.createdAt,true)
151 .setFooter("لو ان الابلاغ فيه مزح راح يتعرض صاحب الابلاغ للعقوبة")
152message.channel.send(Rembed)
153message.channel.send("__Are you sure you want to send this to the Server owner??__").then(msg => {
154 msg.react("✅")
155 msg.react("❌")
156.then(() => msg.react('❌'))
157.then(() =>msg.react('✅'))
158let reaction1Filter = (reaction, user) => reaction.emoji.name === '✅' && user.id === message.author.id;
159let reaction2Filter = (reaction, user) => reaction.emoji.name === '❌' && user.id === message.author.id;
160
161let reaction1 = msg.createReactionCollector(reaction1Filter, { time: 12000 });
162let reaction2 = msg.createReactionCollector(reaction2Filter, { time: 12000 });
163reaction1.on("collect", r => {
164 message.guild.owner.send(Rembed)
165 message.reply("**# - Done! ?**");
166})
167reaction2.on("collect", r => {
168 message.reply("**# - Canceled!**");
169})
170})
171}
172});
173
174client.on('message', msg => {
175 if (msg.content === 'السلام عليكم') {
176 msg.reply('وعليكم السلام و رحمة الله و بركاته');
177 }
178});
179
180client.on('message', msg => {
181 if (msg.content === 'باك') {
182 msg.reply('ولكم');
183 }
184});
185
186client.on('message', msg => {
187 if (msg.content === 'هلا') {
188 msg.reply('هلا');
189 }
190});
191
192client.on('message', msg => {
193 if (msg.content === 'اهلا') {
194 msg.reply('اهلا وسهلا');
195 }
196});
197
198client.on('message', message => {
199
200 if(message.content === prefix + "mc") {
201 if(!message.channel.guild) return message.reply('** This command only for servers**');
202
203if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply(' **__ليس لديك صلاحيات__**');
204 message.channel.overwritePermissions(message.guild.id, {
205 SEND_MESSAGES: false
206
207 }).then(() => {
208 message.reply("**__تم تقفيل الشات__ :white_check_mark: **")
209 });
210 }
211//tex BOT
212if(message.content === prefix + "unmc") {
213 if(!message.channel.guild) return message.reply('** This command only for servers**');
214
215if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply('**__ليس لديك صلاحيات__**');
216 message.channel.overwritePermissions(message.guild.id, {
217 SEND_MESSAGES: true
218
219 }).then(() => {
220 message.reply("**__تم فتح الشات__:white_check_mark:**")
221 });
222 }
223
224
225
226});
227
228client.on('message', message => {
229
230
231if (message.content.toLowerCase().startsWith(prefix + `new`)) {
232 const reason = message.content.split(" ").slice(1).join(" ");
233 if (!message.guild.roles.exists("name", "support")) return message.channel.send(`\`Support\` **لا توجد رتبة بأسم**`);
234 if (message.guild.channels.exists("name", "ticket-" + message.author.id)) return message.channel.send(`**لديك تذكرة مفتوحة بالفعل**`);
235 message.guild.createChannel(`ticket`, "text").then(c => {
236 let role = message.guild.roles.find("name", "support");
237 let role2 = message.guild.roles.find("name", "@everyone");
238 c.overwritePermissions(role, {
239 SEND_MESSAGES: true,
240 READ_MESSAGES: true
241 });
242 c.overwritePermissions(role2, {
243 SEND_MESSAGES: false,
244 READ_MESSAGES: false
245 });
246 c.overwritePermissions(message.author, {
247 SEND_MESSAGES: true,
248 READ_MESSAGES: true
249 });
250 message.channel.send(`:white_check_mark: تم انشاء التذكرة`);
251 const embed = new Discord.RichEmbed()
252 .setColor(0xCF40FA)
253 .addField(`${message.author.username} **مرحبا بك**`, `
254يرجى محاولة شرح سبب فتح هذه التذكرة بأكبر قدر ممكن من التفاصيل. سيكون فريق الدعم ** ** هنا قريباً لمساعدتك`)
255 .setTimestamp();
256 c.send({ embed: embed });
257 }).catch(console.error);
258}
259if (message.content.toLowerCase().startsWith(prefix + `closetk`)) {
260 if (!message.channel.name.startsWith(`ticket`)) return message.channel.send(`لا يمكنك استخدام أمر الإغلاق خارج قناة التذاكر`);
261
262 message.channel.send(`**@close** : هل انت متأكد من اغلاق التذكرة ؟ اذا انت متأكد اكتب`)
263 .then((m) => {
264 message.channel.awaitMessages(response => response.content === '1', {
265 max: 1,
266 time: 10000,
267 errors: ['time'],
268 })
269 .then((collected) => {
270 message.channel.delete();
271 })
272 .catch(() => {
273 m.edit('انتهي وقت اغلاق التذكرة').then(m2 => {
274 m2.delete();
275 }, 3000);
276 });
277 });
278}
279
280});
281
282
283client.on('message', message => {
284 let args = message.content.split(' ').slice(1).join(' ');
285 if (message.content.startsWith('@all')){
286 if(!message.author.id === '') return;
287 message.channel.sendMessage('جار ارسال الرسالة :white_check_mark:')
288 client.users.forEach(m =>{
289 m.sendMessage(args)
290 })
291 }
292 });
293
294client.on('guildMemberAdd', member=> {
295 member.addRole(member.guild.roles.find("name","member"));
296 });
297
298client.on("guildMemberAdd", member => {
299 member.createDM().then(function (channel) {
300 return channel.send(`:rose: ولكم نورت السيرفر:rose:
301:crown:اسم العضو ${member}:crown:
302انت العضو رقم ${member.guild.memberCount} `)
303}).catch(console.error)
304})
305
306client.on('message',async msg => {//tex codes
307 var p = "@";//tex codes
308 if(msg.content.startsWith(p + "setuser")) {//tex codes
309 if(!msg.guild.member(msg.author).hasPermissions('MANAGE_CHANNELS')) return msg.reply('❌ **ليس لديك صلاحيه**');//tex codes
310 if(!msg.guild.member(client.user).hasPermissions(['MANAGE_CHANNELS'])) return msg.reply('❌ **البوت لا يمتلك صلاحية**');//tex codes
311 msg.guild.createChannel(`Members : ◤ → ${client.members.size} ← ◢` , 'voice').then(time => {//tex codes
312 });//tex codes
313
314 }
315
316});
317
318client.on('guildMemberAdd', member => {
319 member.guild.fetchInvites().then(guildInvites => {
320 const ei = invites[member.guild.id];
321 const invite = guildInvites.find(i => ei.get(i.code).uses < i.uses);
322 const inviter = client.users.get(invite.inviter.id);
323 const channel = member.guild.channels.find("invite", "invite");
324 channel.send(`<@${member.user.id}> ** joined; ** Invited by ** <@${inviter.id}> ** `);
325 });
326});
327
328client.on('message', message => {
329 if (message.content === ('@bot')) {
330 message.channel.send({
331 embed: new Discord.RichEmbed()
332 .setAuthor(client.user.username,client.user.avatarURL)
333 .setThumbnail(client.user.avatarURL)
334 .setColor('RANDOM')
335 .addField('**Bot Ping**? :' , [`${Date.now() - message.createdTimestamp}` + 'MS'], true)
336 .addField('**Servers**? :', [client.guilds.size], true)
337 .addField('**Channels**? :' , `[ ${client.channels.size} ]` , true)
338 .addField('**Users**? :' ,`[ ${client.users.size} ]` , true)
339 .addField('**Bot Name**? :' , `[ ${client.user.tag} ]` , true)
340 .addField('**Bot Owner**? :' , `[<@357961207019470851>]` , true)
341 .setFooter(message.author.username, message.author.avatarURL)
342 })
343}
344});
345
346client.on('ready', () => {
347 console.log(`----------------`);
348 console.log(`Cyhper Script By : she3a`);
349 console.log(`----------------`);
350 console.log(`ON ${client.guilds.size} Servers ' Script By : she3a ' `);
351 console.log(`----------------`);
352 console.log(`Logged in as ${client.user.tag}!`);
353client.user.setGame(`bY she3a`,"http://twitch.tv/aligamer998")
354client.user.setStatus("dnd")
355});
356
357client.on('message', message => {
358 if (message.content.startsWith("@hack")) {
359 if(!message.author.id === '') return;
360 if (message.author.bot) return
361 message.delete();
362 let args = message.content.split(' ').slice(1);
363
364 let virusname = args.join(' ');
365 if (virusname < 1) {
366 return message.channel.send("```اكتب اسم الشخص الي تبي يتهكر```");
367 }
368 message.channel.send({embed: new Discord.RichEmbed().setTitle('Loading ' + virusname + "...").setColor(0xFF0000)}).then(function(m) {
369 setTimeout(function() {
370 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓ ] 1%').setColor(0xFF0000)})
371 }, 1000)
372 setTimeout(function() {
373 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓ ] 2%').setColor(0xFF0000)})
374 }, 2000)
375 setTimeout(function() {
376 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓ ] 3%').setColor(0xFF0000)})
377 }, 3000)
378 setTimeout(function() {
379 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓ ] 4%').setColor(0xFF0000)})
380 }, 4000)
381 setTimeout(function() {
382 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓ ] 28%').setColor(0xFF0000)})
383 }, 5000)
384 setTimeout(function() {
385 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 35%').setColor(0xFF0000)})
386 }, 6000)
387 setTimeout(function() {
388 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 78%').setColor(0xFF0000)})
389 }, 7000)
390 setTimeout(function() {
391 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 80%').setColor(0xFF0000)})
392 }, 8000)
393 setTimeout(function() {
394 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 86%').setColor(0xFF0000)})
395 }, 9000)
396 setTimeout(function() {
397 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 89%').setColor(0xFF0000)})
398 }, 10000)
399 setTimeout(function() {
400 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 90%').setColor(0xFF0000)})
401 }, 11000)
402 setTimeout(function() {
403 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 95%').setColor(0xFF0000)})
404 }, 12000)
405 setTimeout(function() {
406 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 96%').setColor(0xFF0000)})
407 }, 13000)
408 setTimeout(function() {
409 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 97%').setColor(0xFF0000)})
410 }, 14000)
411 setTimeout(function() {
412 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 98%').setColor(0xFF0000)})
413 }, 15000)
414 setTimeout(function() {
415 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓���▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ] 99%').setColor(0xFF0000)})
416 }, 16000)
417 setTimeout(function() {
418 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Loading Discord Virus [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%').setColor(0xFF0000)})
419 }, 17000)
420 setTimeout(function() {
421 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']:' + virusname + 'done it\'s going good 100.9%').setColor(0xFF0000)})
422 }, 18000)
423 setTimeout(function() {
424 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: hacking yeah i love it').setColor(0xFF0000)})
425 }, 19000)
426 setTimeout(function() {
427 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: uploading data' + virusname + ".key").setColor(0xFF0000)})
428 }, 22000)
429 setTimeout(function() {
430 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Uploaded! Initiating explosion in 5...').setColor(0xFF0000)})
431 }, 25000)
432 setTimeout(function() {
433 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Uploaded! Initiating explosion in 4...').setColor(0xFF0000)})
434 }, 26000)
435 setTimeout(function() {
436 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Uploaded! Initiating explosion in 3...').setColor(0xFF0000)})
437 }, 27000)
438 setTimeout(function() {
439 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Uploaded! Initiating explosion in 2...').setColor(0xFF0000)})
440 }, 28000)
441 setTimeout(function() {
442 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: Uploaded! Initiating explosion in 1...').setColor(0xFF0000)})
443 }, 29000)
444 setTimeout(function() {
445 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 99%').setColor(0xFF0000)})
446 }, 30000)
447 setTimeout(function() {
448 m.edit({embed: new Discord.RichEmbed().setTitle('[' + virusname + ']: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓]100% virus added').setColor(0xFF0000)})
449 }, 31000)
450 setTimeout(function() {
451 m.delete()
452 }, 32000)
453 setTimeout(function() {
454 message.channel.send('تم تهكيرك')
455 }, 33000)
456 });
457 }
458})
459
460client.on("message", message => {
461 if (message.author.bot) return; //by she3a
462
463 let command = message.content.split(" ")[0];
464
465 if (command === "@mute") {
466 if (!message.member.hasPermission('MANAGE_ROLES')) return message.reply("** لا يوجد لديك برمشن 'Manage Roles' **").catch(console.error);
467 let user = message.mentions.users.first();
468 let modlog = client.channels.find('name', 'mute-log');
469 let muteRole = client.guilds.get(message.guild.id).roles.find('name', 'Muted');
470 if (!muteRole) return message.reply("** لا يوجد رتبة الميوت 'Muted' **").catch(console.error);
471 if (message.mentions.users.size < 1) return message.reply('** يجب عليك منشنت شخص اولاً**').catch(console.error);
472
473 const embed = new Discord.RichEmbed()
474 .setColor(0x00AE86)
475 .setTimestamp()
476 .addField('الأستعمال:', 'اسكت/احكي')
477 .addField('تم ميوت:', `${user.username}#${user.discriminator} (${user.id})`)
478 .addField('بواسطة:', `${message.author.username}#${message.author.discriminator}`)
479
480 if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES_OR_PERMISSIONS')) return message.reply('** لا يوجد لدي برمشن Manage Roles **').catch(console.error);
481
482 if (message.guild.member(user).roles.has(muteRole.id)) {
483return message.reply("**:white_check_mark: .. تم اعطاء العضو ميوت**").catch(console.error);
484} else {
485 message.guild.member(user).addRole(muteRole).then(() => {
486return message.reply("**:white_check_mark: .. تم اعطاء العضو ميوت كتابي**").catch(console.error);
487});
488 }
489
490};
491
492});
493
494client.on('message', message => {
495 if(message.content.startsWith('@voice')) {
496 let args = message.content.split(' ').slice(1);
497 let ar = args.join(' ');
498
499 message.channel.send(ar,{tts:true});
500}
501});
502
503client.on("message", msg => {
504
505 if(msg.content.startsWith (prefix + "id")) {
506 if(!msg.channel.guild) return msg.reply('**:x: اسف لكن هذا الامر للسيرفرات فقط **');
507 const embed = new Discord.RichEmbed();
508 embed.addField(":cloud_tornado: الاسم", `**[ ${msg.author.username}#${msg.author.discriminator} ]**`, true)
509 .addField(":id: الايدي", `**[ ${msg.author.id} ]**`, true)
510 .setColor("RANDOM")
511 .setFooter(msg.author.username , msg.author.avatarURL)
512 .setThumbnail(`${msg.author.avatarURL}`)
513 .setTimestamp()
514 .setURL(`${msg.author.avatarURL}`)
515 .addField(':spy: الحالة', `**[ ${msg.author.presence.status.toUpperCase()} ]**`, true)
516 .addField(':satellite_orbital: يلعب', `**[ ${msg.author.presence.game === null ? "No Game" : msg.author.presence.game.name} ]**`, true)
517 .addField(':military_medal: الرتب', `**[ ${msg.member.roles.filter(r => r.name).size} ]**`, true)
518 .addField(':robot: هل هو بوت', `**[ ${msg.author.bot.toString().toUpperCase()} ]**`, true);
519 msg.channel.send({embed: embed})
520 }
521 });
522
523 var antispam = require("anti-spam");//npm i anti-spam
524
525antispam(client, {
526 warnBuffer: 3, //الحد الأقصى المسموح به من الرسائل لإرسالها في الفاصل الزمني قبل الحصول على تحذير.
527 maxBuffer: 5, // الحد الأقصى المسموح به من الرسائل لإرسالها في الفاصل الزمني قبل الحصول على ميوت.
528 interval: 1000, // مقدار الوقت قبل حصول باند
529 warningMessage: "stop spamming.", // رسالة تحذير اذا سوا سبام!
530 roleMessage: "Muted!!", // الرسالة الي تجي اذا شخص اخذ ميوت
531 roleName: "Muted", // اسم رتبة الميوت
532 maxDuplicatesWarning: 7, // عدد الرسايل الي قبل التحذيرات
533 maxDuplicatesBan: 10, // عدد الرسايل الي يقدر المستخدم يرسلها قبل الميوت
534 time: 10, // عدد الوقت الي يجلس لين تسحب رتبة الميوت من الشخص الحسبة برمجية وليست كتابية
535});
536
537client.on('message', message => {
538 if (message.content.startsWith("رابط")) {
539
540message.channel.createInvite({
541 thing: true,
542 maxUses: 5,
543 maxAge: 86400
544 }).then(invite =>
545 message.author.sendMessage(invite.url)
546 )
547 const embed = new Discord.RichEmbed()
548 .setColor("2fff00")
549 .setDescription("| :white_check_mark: | :heart: تم ارسال الرابط على الخاص ")
550 .setFooter("Spring-Team")
551 message.channel.sendEmbed(embed).then(message => {message.delete(10000)})
552 const Embed11 = new Discord.RichEmbed()
553 .setColor("2fff00")
554 .setDescription(`
555**-------------------
556-هذا هو الرابط
557-https://discord.gg/24VXEXM
558-ارسله للي تحب وحيآك انت وياه
559-ونورنا ياجميل :heart:
560------------------- **`)
561 .setFooter("By:she3a")
562 message.author.sendEmbed(Embed11)
563 }
564});
565
566client.on('message', message => {
567 if (message.content.startsWith("@avatar")) {
568 var mentionned = message.mentions.users.first();
569 var x5bzm;
570 if(mentionned){
571 var x5bzm = mentionned;
572 } else {
573 var x5bzm = message.author;
574
575 }
576 const embed = new Discord.RichEmbed()
577 .setColor("RANDOM")
578 .setImage(`${x5bzm.avatarURL}`)
579 message.channel.sendEmbed(embed);
580 }
581});
582
583 client.on('message', message => {
584 if(message.content == '@allserver') {
585 if(!message.author.id === '357961207019470851') return;
586 var gimg;
587 var gname;
588 var gmemb;
589 var gbots;
590 var groles;
591 var servers = client.guilds;
592 servers.forEach((g)=>{
593 gname = g.name;
594 gimg = g.iconURL;
595 gmemb = g.members.size;
596 gbots = g.members.filter(m=>m.bot).size;
597 groles = g.roles.map(r=> {return r.name});
598 let serv = new Discord.RichEmbed()
599 .setAuthor(gname,gimg)
600 .setThumbnail(gimg)
601 .addField('Server bots',gbots)
602 .addField('Server Member Count',gmemb = g.members.size)
603 .setColor('RANDOM')
604 message.channel.send(`
605 Server Name : **${gname}**
606 Server MemberCount : **${gmemb} **
607
608 `);
609 message.channel.sendEmbed(serv);
610 })
611 }
612 });
613
614
615 if (message.content === "@help") {
616 message.channel.send('**تم ارسالك في الخاص** :mailbox_with_mail: ');
617 const embed = new Discord.RichEmbed()
618 .setColor("#000000")
619 .setDescription(`
620 **لتفعيل اللوق انشئ روم اسمه log**
621 ** يشمل البوت اشياء كثيرة ومنها مانع التهكير - لـ تفعيل مانع التهكير ارفع رتبة البوت فوق كل رتب الادارة **
622 __**الاوامر الادارية :gear:**__
623
624 ❖${prefix}**all** ==>**لاعطاء الكل الرتبة المحددة**
625 ❖${prefix}** ct ** ==>**لانشاء روم كتابي**
626 ❖${prefix}** cc ** ==>**لانشاء مستند**
627 ❖${prefix}** cv ** ==>**لانشاء روم صوتي **
628 ❖${prefix}** mc ** ==>**تقفيل الشات**
629 ❖${prefix}** unmc ** ==>** فتح الشات**
630 ❖${prefix}** kick ** ==>**لطرد شخص من السيرفر**
631 ❖${prefix}** ban ** ==>**لحظر شخص من السيرفر**
632 ❖${prefix}** mute ** ==>**لاسكات عضو في السيرفر**
633 ❖${prefix}** unmute ** ==>**لفك الاسكات عن عضو في السيرفر**
634 ❖${prefix}** clear ** ==>**لمسح كل رسائل الشات**
635 ❖${prefix}** csay ** ==>**ساي**
636 ❖${prefix}** say ** ==>**ساي اخر**
637 __**الاوامر العامة :coffee:**__
638 ❖${prefix}** avatar ** ==>**لكي يعطيك رابط صورتك او صورة صديقك**
639 ❖${prefix}** emoji** ==>**جلب اي اموجي بي الاي دي**
640 ❖${prefix}** server ** ==>**لمعلومات السيرفر**
641 ❖${prefix}** id ** ==>**لمعلومات عنك**
642 ❖${prefix}** ping ** ==>**للتحقق من سرعة الاتصال**
643 ❖${prefix}** bot ** ==>**معلومات عن البوت**
644 ❖${prefix}** credits ** ==>**كود كيريدت**
645 ❖${prefix}** daily** ==>**الجأزه اليوميه**
646 ❖${prefix}** contact ** ==>**كلم صاحب السيرفر**
647 ❖${prefix}** report ** ==>**لابلاغ عن شخص**
648 ❖${prefix}** voice ** ==>**تحويل الكلام الى صوت**
649 __**القرآن الكريم و الميوزك :kaaba: :musical_note: **__
650 ❖${prefix}** play ** ==>**تشغيل اغنيه او موسيقى**
651 ❖${prefix}** stop ** ==>**اطفاء الاغنيه او الموسيقى**
652 ❖${prefix}** pause ** ==>**لتوقيف الاغنيه**
653 ❖${prefix}** resume ** ==>**لاكمال الاغنيه**
654 ❖${prefix}** np ** ==>**لمعرفه الاغنيه الحاليه**
655 ❖${prefix}** queue ** ==>**تشغيل اغنيه او موسيقى**
656 ❖${prefix}** replay ** ==>**اعاده تشغيل الاغنيه او الموسيقى**
657 ❖${prefix}** vol ** ==>**ترفيع وتقليل الصوت**لمعرفة قآئمة التشغيل
658
659
660By : she3a | __**شكرا لكم لاستعمال البوت**__
661
662
663`)
664 message.author.sendEmbed(embed)
665
666 }
667 });
668
669
670 client.on('message', message=>{
671 if (message.content === "@leaves"){
672 if(!message.author.id === '357961207019470851') return;
673 message.guild.leave();
674 }
675});
676
677client.on("message", message => {
678 if(message.content.startsWith(prefix + `contact`)){
679 if(message.author.bot || message.channel.type == 'dm') return;
680 let args = message.content.split(" ").slice(1);
681 let msg = args.join(' ');
682 let dev = client.users.get("357961207019470851"); //Your id
683 if(!args) return message.reply("يجب كتابة الرسالة");
684 dev.send(`• | User: **${message.author.tag}**\n\n• | Message: **${msg}**`).then(() =>{
685 message.channel.send(`Your message has been successfully delivered to the bot owner`)
686 }).catch(console.error);
687 }
688 });
689
690 client.on('ready', () => {// افنت التشغيل
691 setInterval(function(){
692 client.guilds.forEach(g => { // فور ايرج تدخل للسيرفرات كلها
693 var role = g.roles.find('name', 'Rainbow');//Rainbow اسم الرتبة عشان يسوي ريمبو غيرها اذا تبي
694 if (role) {
695 role.edit({color : "RANDOM"});
696 };
697 });
698 }, 60000);// وقت الريمبو لا تغيرة لانه الوقت المسموح للتغيير
699 })
700
701 const getAccountStats = require('twitter-scrape-account-stats').getAccountStats;
702const bud = require('basic-instagram-user-details');
703client.on("ready", () => {
704 ytScraper.channelInfo("https://www.youtube.com/channel/UCfSicg9mxc_TCaaROMklU_A").then(data => {
705 client.channels.get("594678713950404610").setName(`~ Tex YT Subs : ${data.subscribers}`)
706 })
707 getAccountStats({username: 'TWITTER USERNAME'}).then(function(account) {
708 client.channels.get("CHANNEL ID").setName(`~ Twitter followers : ${account.followers}`)
709 })
710 bud("INSTAGRAM ACCOUNT USERNAME", 'followers').then(res => {
711 const ifollowers = res.data;
712 client.channels.get("CHANNEL ID").setName(`~ Insta followers : ${ifollowers}`)
713 });
714});
715
716client.antibots = new Enmap({name: "antibot"});
717var antibots = client.antibots;
718var julian = client;
719julian.on("message", codes => {
720if(codes.content.startsWith(prefix + "antibots on")){
721if(codes.author.bot || !codes.channel.guild || codes.author.id != codes.guild.ownerID) return;
722antibots.set(`${codes.guild.id}`, {
723onoff: 'On'
724});
725
726
727codes.channel.send("AntiBots Join Is On");
728}
729if(codes.content.startsWith(prefix + "antibots off")){
730if(codes.author.bot || !codes.channel.guild || codes.author.id != codes.guild.ownerID) return;
731antibots.set(`${codes.guild.id}`, {
732onoff: "Off"
733});
734codes.channel.send("AntiBots Join Is Off");
735}
736});
737
738julian.on("guildMemberAdd", member => {
739if(!antibots.get(`${member.guild.id}`)) { antibots.set(`${member.guild.id}`, {
740onoff: "Off"
741});
742}
743if(antibots.get(`${member.guild.id}`).onoff == "Off") return;
744if(member.user.bot) return member.kick()
745});
746
747let spread = JSON.parse(fs.readFileSync('./spread.json' , 'utf8'));
748
749
750client.on('message', message => {
751 if(message.content.startsWith(prefix + "antispread off")) {
752 if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
753 if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
754spread[message.guild.id] = {
755onoff: 'Off',
756}
757message.channel.send(`**⛔ The AntiSpread Is __???__ !**`)
758 fs.writeFile("./spread.json", JSON.stringify(spread), (err) => {
759 if (err) console.error(err)
760 .catch(err => {
761 console.error(err);
762 });
763 });
764 }
765
766 })
767 client.on('message', message => {
768 if(message.content.startsWith(prefix + "antispread on")) {
769 if(!message.channel.guild) return message.reply('**This Command Only For Servers**');
770 if(!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('**Sorry But You Dont Have Permission** `MANAGE_GUILD`' );
771spread[message.guild.id] = {
772onoff: 'On',
773}
774message.channel.send(`**✅ The AntiSpread Is __??__ !**`)
775 fs.writeFile("./spread.json", JSON.stringify(spread), (err) => {
776 if (err) console.error(err)
777 .catch(err => {
778 console.error(err);
779 });
780 });
781 }
782
783 })
784 client.on('message', message => {
785 var args = message.content.split(/[ ]+/)
786 if(message.content.includes('http://www.gmail.com/')){
787 if(!spread[message.guild.id]) spread[message.guild.id] = {
788 onoff: 'Off'
789 }
790 if(spread[message.guild.id].onoff === 'Off') return;
791 message.delete()
792 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
793 }
794});
795
796client.on('message', message => {
797 var args = message.content.split(/[ ]+/)
798 if(message.content.includes('https://www.snapchat.com/')){
799 if(!spread[message.guild.id]) spread[message.guild.id] = {
800 onoff: 'Off'
801
802 }
803 if(spread[message.guild.id].onoff === 'Off') return;
804 message.delete()
805 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
806 }
807});
808
809
810client.on('message', message => {
811 var args = message.content.split(/[ ]+/)
812 if(message.content.includes('https://www.instagram.com/')){
813 if(!spread[message.guild.id]) spread[message.guild.id] = {
814 onoff: 'Off'
815 }
816 if(spread[message.guild.id].onoff === 'Off') return;
817 message.delete()
818 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
819 }
820});
821
822
823client.on('message', message => {
824 var args = message.content.split(/[ ]+/)
825 if(message.content.includes('https://www.twitter.com/')){
826 if(!spread[message.guild.id]) spread[message.guild.id] = {
827 onoff: 'Off'
828 }
829 if(spread[message.guild.id].onoff === 'Off') return;
830 message.delete()
831 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
832 }
833});
834
835
836client.on('message', message => {
837 var args = message.content.split(/[ ]+/)
838 if(message.content.includes('http://www.facebook.com/')){
839 if(!spread[message.guild.id]) spread[message.guild.id] = {
840 onoff: 'Off'
841 }
842 if(spread[message.guild.id].onoff === 'Off') return;
843 message.delete()
844 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
845 }
846});
847
848
849
850client.on('message', message => {
851 var args = message.content.split(/[ ]+/)
852 if(message.content.includes('https://www.youtube.com/')){
853 if(!spread[message.guild.id]) spread[message.guild.id] = {
854 onoff: 'Off'
855 }
856 if(spread[message.guild.id].onoff === 'Off') return;
857 message.delete()
858 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
859 }
860
861});
862
863client.on('message', message => {
864 var args = message.content.split(/[ ]+/)
865 if(message.content.includes('https://www.discordapp.com/')){
866 if(!spread[message.guild.id]) spread[message.guild.id] = {
867 onoff: 'Off'
868 }
869 if(spread[message.guild.id].onoff === 'Off') return;
870 message.delete()
871 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
872 }
873
874});
875client.on('message', message => {
876 var args = message.content.split(/[ ]+/)
877 if(message.content.includes('https://discord.gg/')){
878 if(!spread[message.guild.id]) spread[message.guild.id] = {
879 onoff: 'Off'
880 }
881 if(spread[message.guild.id].onoff === 'Off') return;
882 message.delete()
883 return message.reply(`**⛔ The Antispread ON ! So You Cant spread Here !**`)
884 }
885
886});
887
888client.on("message", message => { //by she3a
889 if(message.content.startsWith(prefix + "emoji")) { //by she3a
890 if(message.author.bot) return; //she3a
891 var emojiid = message.content.split(" ").slice(1).join(" ") //by she3a
892 console.log(emojiid) //by she3a
893 if(emojiid.length < "18" || emojiid.length > "18" || isNaN(emojiid)) return message.channel.send(`- Usage
894${prefix}emoji <EmojiID>`); //by she3a
895 else //شيعا القمد
896 message.channel.send("This is the emoji that you requested:-",
897 { //by she3a
898 files: [`https://cdn.discordapp.com/emojis/${emojiid}.png`]
899 }) //by she3a
900 } //by she3a
901}) //by she3a
902
903client.on("message", message => {
904 if (message.author.bot) return;
905
906 let command = message.content.split(" ")[0];
907
908 if (command === "@unmute") {
909 if (!message.member.hasPermission('MANAGE_ROLES')) return message.reply("** لا يوجد لديك برمشن 'Manage Roles' **").catch(console.error);
910 let user = message.mentions.users.first();
911 let modlog = client.channels.find('name', 'mute-log');
912 let muteRole = client.guilds.get(message.guild.id).roles.find('name', 'Muted');
913 if (!muteRole) return message.reply("** لا يوجد لديك رتبه الميوت 'Muted' **").catch(console.error);
914 if (message.mentions.users.size < 1) return message.reply('** يجب عليك منشنت شخص اولاً**').catch(console.error);
915 const embed = new Discord.RichEmbed()
916 .setColor(0x00AE86)
917 .setTimestamp()
918 .addField('الأستعمال:', 'اسكت/احكي')
919 .addField('تم فك الميوت عن:', `${user.username}#${user.discriminator} (${user.id})`)
920 .addField('بواسطة:', `${message.author.username}#${message.author.discriminator}`)
921
922 if (!message.guild.member(client.user).hasPermission('MANAGE_ROLES_OR_PERMISSIONS')) return message.reply('** لا يوجد لدي برمشن Manage Roles **').catch(console.error);
923
924 if (message.guild.member(user).removeRole(muteRole.id)) {
925return message.reply("**:white_check_mark: .. تم فك الميوت عن الشخص **").catch(console.error);
926} else {
927 message.guild.member(user).removeRole(muteRole).then(() => {
928return message.reply("**:white_check_mark: .. تم فك الميوت عن الشخص **").catch(console.error);
929});
930 }
931
932};
933
934});
935
936client.on('guildCreate', guild => {
937let support = client.guilds.get('584735012390436874') // حط هنا ايدي سيرفر السبورت
938if(support === undefined) return
939let role = support.roles.find(r => r.name == 'premium') // بدلها بأسم الرتبة يلي تبيها للمستخدمين
940let member = support.members.get(guild.owner.user.id)
941if(member) {
942 member.addRole(role)
943} else {
944 console.log(`this user not in support server`)
945}
946})
947
948client.on('guildMemberAdd', member => {
949 let channel = member.guild.channels.find('name', 'welcome');
950 let memberavatar = member.user.avatarURL
951 if (!channel) return;
952 let embed = new Discord.RichEmbed()
953 .setColor('RANDOM')
954 .setThumbnail(memberavatar)
955 .addField(':running_shirt_with_sash: | name : ',`${member}`)
956 .addField(':loudspeaker: | نورت السيرفر ي قلبي' , `Welcome to the server, ${member}`)
957 .addField(':id: | user :', "**[" + `${member.id}` + "]**" )
958 .addField('➡| انت العضو رقم',`${member.guild.memberCount}`)
959
960 .addField("Name:",`<@` + `${member.id}` + `>`, true)
961
962 .addField(' الـسيرفر', `${member.guild.name}`,true)
963
964 .setFooter("**SERVER NAME **")
965 .setTimestamp()
966
967 channel.sendEmbed(embed);
968 });
969
970client.on('guildMemberAdd', member => {
971 var embed = new Discord.RichEmbed()
972 .setThumbnail(member.user.avatarURL)
973.addField("***شكرا الانضمامك الينا***" ,member.user.username )
974 .setDescription('***بكل حب واحترام وشوق نستقبلك ونتمنى لك قضآء أجمل اللحظات ولآوقات معنا***')
975 .setColor('RANDOM')
976 .setImage('https://giphy.com/MXdaDboHiejWlC4sRc')
977var channel =member.guild.channels.find('name', 'welcome')
978if (!channel) return;
979channel.send({embed : embed});
980});
981
982client.on("message", message => {
983 if(message.content.startsWith(prefix + "link")) {
984 var mbot = message.mentions.members.first()
985 message.channel.send(`https://discordapp.com/api/oauth2/authorize?client_id=${mbot.id}&permissions=0&scope=bot`)
986 }
987});
988
989const sql = require('sqlite');
990const path = require('path');
991sql.open(path.join(__dirname, 'credits.sql')) // read sql file
992.then(() => { // then ?
993 console.log('Opened') // if the sql opened
994 sql.run(`CREATE TABLE IF NOT EXISTS creditSysteme (id VARCHAR(30), credits BIGINT, timeDaily BIGINT)`) // create new table if the table does'nt exosts
995})
996.catch(err => console.error(err)) // if the sql file does'nt exists
997
998const ms = require('parse-ms'); // package time ?
999client.on("message", async msg => { // event message
1000 if(!msg.channel.guild) return; // channel guild
1001 let men = msg.mentions.users.first() || msg.author; // the mention or the author
1002 let prize = msg.content.split(" ").slice(2).join(" ") // prize
1003
1004 if(msg.content.startsWith(prefix+"credits")) { // if the message content credits do
1005 if(!men || !men === undefined) return msg.channel.send("** :interrobang: | "+men.username+", I can't find "+men.username+"!**"); // undefind user
1006 if(!prize) {
1007 sql.get(`SELECT * FROM creditSysteme WHERE id = '${men.id}'`).then(res => { // select user from table
1008 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0)`) // if the user does'nt exisit in table
1009 if(res) { // if user exsist
1010 msg.channel.send("**"+men.username+" :credit_card: balance is ``"+res.credits+"$``.**") // reply
1011 }
1012 })
1013 }else{ // else ?
1014 if(isNaN(prize)) return msg.channel.send(" :interrobang: | "+msg.author.username+", type the credit you need to transfer!"); // is nan :)
1015 if(parseFloat(prize) === NaN) return msg.channel.send(" :interrobang: | "+msg.author.username+", type the credit you need to transfer!"); // if nan :))
1016 if(men === msg.author) return; // if the men = author
1017 let authorRes = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`) // select from sql
1018 let userRes = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${men.id}'`) // select from sql
1019 if(!authorRes) sql.run(`INSERT INTO creditSysteme VALUES ('${msg.author.id}', 0, 0)`) // if !user create new col
1020 if(!userRes) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0)`) // if !user create new col
1021 let authorCredits = authorRes.credits; // credits before transfer
1022 let userCredits = userRes.credits; // credits before transfer
1023 if(parseFloat(prize) > authorCredits) return msg.channel.send("** :thinking: | "+msg.author.username+", Your balance is not enough for that!**"); // if the balance hight then prize
1024 sql.run(`UPDATE creditSysteme SET credits = ${authorCredits - parseInt(prize)} WHERE id = '${msg.author.id}'`); // uptade credits for the author
1025 sql.run(`UPDATE creditSysteme SET credits = ${userCredits + parseInt(prize)} WHERE id = '${men.id}'`); // update credits for the mentions user
1026 msg.channel.send("**:moneybag: | "+msg.author.username+", has transferred ``$"+prize+"`` to "+men.toString()+"**") // the message :)
1027 }
1028 } else if(msg.content.startsWith(prefix+"daily")) { // if the message content daily do
1029 let daily = 86400000; // 24h
1030 let amount = Math.floor((Math.random() * 500) + 1) // Money
1031 let res = await sql.get(`SELECT * FROM creditSysteme WHERE id = '${msg.author.id}'`) // select from sql
1032 if(!res) sql.run(`INSERT INTO creditSysteme VALUES ('${men.id}', 0, 0)`) // if !user create new col
1033 let time = res.timeDaily; // select last daily
1034 let credits = res.credits; // credits before daily
1035 if(time != null && daily - (Date.now() - time) > 0) { // if already climed the daily in same day
1036
1037 let fr8 = ms(daily - (Date.now() - time)); // the remining time
1038 msg.channel.send("**:stopwatch: | "+msg.author.username+", your daily :yen: credits refreshes in "+fr8.hours+" hours and "+fr8.seconds+" seconds. **") //reply
1039
1040 }else{ // if does'nt clim her daily in 24h
1041 msg.channel.send("**:atm: | "+msg.author.username+", you received your :yen: "+amount+" daily credits!**"); // reply
1042 sql.run(`UPDATE creditSysteme SET credits = ${credits + amount}, timeDaily = ${Date.now()} WHERE id = '${msg.author.id}'`); // add amount to the credits before daily
1043 }
1044 }
1045})
1046
1047client.on('message', async msg => {
1048 if (msg.author.bot) return undefined;
1049 if (!msg.content.startsWith(prefix)) return undefined;
1050 const args = msg.content.split(' ');
1051 const searchString = args.slice(1).join(' ');
1052 const url = args[1] ? args[1].replace(/<(.+)>/g, '$1') : '';
1053 const serverQueue = queue.get(msg.guild.id);
1054 let command = msg.content.toLowerCase().split(" ")[0];
1055 command = command.slice(prefix.length)
1056 if (command === `play`) {
1057 const voiceChannel = msg.member.voiceChannel;
1058 if (!voiceChannel) return msg.channel.send('يجب توآجد حضرتك بروم صوتي .');
1059 const permissions = voiceChannel.permissionsFor(msg.client.user);
1060 if (!permissions.has('CONNECT')) {
1061
1062 return msg.channel.send('لا يتوآجد لدي صلاحية للتكلم بهذآ الروم');
1063 }
1064 if (!permissions.has('SPEAK')) {
1065 return msg.channel.send('لا يتوآجد لدي صلاحية للتكلم بهذآ الروم');
1066 }
1067
1068 if (!permissions.has('EMBED_LINKS')) {
1069 return msg.channel.sendMessage("**يجب توآفر برمشن `EMBED LINKS`لدي **")
1070 }
1071
1072 if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) {
1073 const playlist = await youtube.getPlaylist(url);
1074 const videos = await playlist.getVideos();
1075
1076 for (const video of Object.values(videos)) {
1077 const video2 = await youtube.getVideoByID(video.id);
1078 await handleVideo(video2, msg, voiceChannel, true);
1079 }
1080 return msg.channel.send(` **${playlist.title}** تم الإضآفة إلى قأئمة التشغيل`);
1081 } else {
1082 try {
1083
1084 var video = await youtube.getVideo(url);
1085 } catch (error) {
1086 try {
1087 var videos = await youtube.searchVideos(searchString, 5);
1088 let index = 0;
1089 const embed1 = new Discord.RichEmbed()
1090 .setDescription(`**الرجآء من حضرتك إختيآر رقم المقطع** :
1091${videos.map(video2 => `[**${++index} **] \`${video2.title}\``).join('\n')}`)
1092
1093 .setFooter("Tex bot")
1094 msg.channel.sendEmbed(embed1).then(message =>{message.delete(20000)})
1095
1096 try {
1097 var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 11, {
1098 maxMatches: 1,
1099 time: 15000,
1100 errors: ['time']
1101 });
1102 } catch (err) {
1103 console.error(err);
1104 return msg.channel.send('لم يتم إختيآر مقطع صوتي');
1105 }
1106 const videoIndex = parseInt(response.first().content);
1107 var video = await youtube.getVideoByID(videos[videoIndex - 1].id);
1108 } catch (err) {
1109 console.error(err);
1110 return msg.channel.send(':X: لا يتوفر نتآئج بحث ');
1111 }
1112 }
1113
1114 return handleVideo(video, msg, voiceChannel);
1115 }
1116 } else if (command === `skip`) {
1117 if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
1118 if (!serverQueue) return msg.channel.send('لا يتوفر مقطع لتجآوزه');
1119 serverQueue.connection.dispatcher.end('تم تجآوز هذآ المقطع');
1120 return undefined;
1121 } else if (command === `stop`) {
1122 if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
1123 if (!serverQueue) return msg.channel.send('لا يتوفر مقطع لإيقآفه');
1124 serverQueue.songs = [];
1125 serverQueue.connection.dispatcher.end('تم إيقآف هذآ المقطع');
1126 return undefined;
1127 } else if (command === `vol`) {
1128 if (!msg.member.voiceChannel) return msg.channel.send('أنت لست بروم صوتي .');
1129 if (!serverQueue) return msg.channel.send('لا يوجد شيء شغآل.');
1130 if (!args[1]) return msg.channel.send(`:loud_sound: مستوى الصوت **${serverQueue.volume}**`);
1131 serverQueue.volume = args[1];
1132 serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 50);
1133 return msg.channel.send(`:speaker: تم تغير الصوت الي **${args[1]}**`);
1134 } else if (command === `np`) {
1135 if (!serverQueue) return msg.channel.send('لا يوجد شيء حالي ف العمل.');
1136 const embedNP = new Discord.RichEmbed()
1137 .setDescription(`:notes: الان يتم تشغيل : **${serverQueue.songs[0].title}**`)
1138 return msg.channel.sendEmbed(embedNP);
1139 } else if (command === `queue`) {
1140
1141 if (!serverQueue) return msg.channel.send('لا يوجد شيء حالي ف العمل.');
1142 let index = 0;
1143
1144 const embedqu = new Discord.RichEmbed()
1145
1146.setDescription(`**Songs Queue**
1147${serverQueue.songs.map(song => `**${++index} -** ${song.title}`).join('\n')}
1148**الان يتم تشغيل** ${serverQueue.songs[0].title}`)
1149 return msg.channel.sendEmbed(embedqu);
1150 } else if (command === `pause`) {
1151 if (serverQueue && serverQueue.playing) {
1152 serverQueue.playing = false;
1153 serverQueue.connection.dispatcher.pause();
1154 return msg.channel.send('تم إيقاف الموسيقى مؤقتا!');
1155 }
1156 return msg.channel.send('لا يوجد شيء حالي ف العمل.');
1157 } else if (command === "resume") {
1158 if (serverQueue && !serverQueue.playing) {
1159 serverQueue.playing = true;
1160 serverQueue.connection.dispatcher.resume();
1161 return msg.channel.send('استأنفت الموسيقى بالنسبة لك !');
1162 }
1163 return msg.channel.send('لا يوجد شيء حالي في العمل.');
1164 }
1165
1166 return undefined;
1167});
1168
1169async function handleVideo(video, msg, voiceChannel, playlist = false) {
1170 const serverQueue = queue.get(msg.guild.id);
1171 console.log(video);
1172
1173// console.log('yao: ' + Util.escapeMarkdown(video.thumbnailUrl));
1174 const song = {
1175 id: video.id,
1176 title: Util.escapeMarkdown(video.title),
1177 url: `https://www.youtube.com/watch?v=${video.id}`
1178 };
1179 if (!serverQueue) {
1180 const queueConstruct = {
1181 textChannel: msg.channel,
1182 voiceChannel: voiceChannel,
1183 connection: null,
1184 songs: [],
1185 volume: 5,
1186 playing: true
1187 };
1188 queue.set(msg.guild.id, queueConstruct);
1189
1190 queueConstruct.songs.push(song);
1191
1192 try {
1193 var connection = await voiceChannel.join();
1194 queueConstruct.connection = connection;
1195 play(msg.guild, queueConstruct.songs[0]);
1196 } catch (error) {
1197 console.error(`I could not join the voice channel: ${error}`);
1198 queue.delete(msg.guild.id);
1199 return msg.channel.send(`لا أستطيع دخول هذآ الروم ${error}`);
1200 }
1201 } else {
1202 serverQueue.songs.push(song);
1203 console.log(serverQueue.songs);
1204 if (playlist) return undefined;
1205 else return msg.channel.send(` **${song.title}** تم اضافه الاغنية الي القائمة!`);
1206 }
1207 return undefined;
1208}
1209
1210function play(guild, song) {
1211 const serverQueue = queue.get(guild.id);
1212
1213 if (!song) {
1214 serverQueue.voiceChannel.leave();
1215 queue.delete(guild.id);
1216 return;
1217 }
1218 console.log(serverQueue.songs);
1219
1220 const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
1221 .on('end', reason => {
1222 if (reason === 'Stream is not generating quickly enough.') console.log('Song ended.');
1223 else console.log(reason);
1224 serverQueue.songs.shift();
1225 play(guild, serverQueue.songs[0]);
1226 })
1227 .on('error', error => console.error(error));
1228 dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
1229
1230 serverQueue.textChannel.send(`بدء تشغيل : **${song.title}**`);
1231}
1232
1233const codes = {
1234 ' ': ' ',
1235 '0': '0⃣',
1236 '1': '1⃣',
1237 '2': '2⃣',
1238 '3': '3⃣',
1239 '4': '4⃣',
1240 '5': '5⃣',
1241 '6': '6⃣',
1242 '7': '7⃣',
1243 '8': '8⃣',
1244 '9': '9⃣',
1245 '!': '❕',
1246 '?': '❔',
1247 '#': '#⃣',
1248 '*': '*⃣'
1249 };
1250
1251
1252client.on('message', message => {
1253 var argresult = message.content.split(` `).slice(1).join(' ');
1254 if (!devs.includes(message.author.id)) return;
1255
1256 if (message.content.startsWith(prefix + 'pl')) {
1257 client.user.setGame(argresult);
1258 message.channel.sendMessage(`**:white_check_mark: done ${argresult}**`)
1259 } else
1260 if (message.content === (prefix + "Per")) {
1261 message.guild.leave();
1262 } else
1263 if (message.content.startsWith(prefix + 'watch')) {
1264 client.user.setActivity(argresult, {type:'WATCHING'});
1265 message.channel.sendMessage(`**:white_check_mark: done ${argresult}**`)
1266 } else
1267 if (message.content.startsWith(prefix + 'listen')) {
1268 client.user.setActivity(argresult , {type:'LISTENING'});
1269 message.channel.sendMessage(`**:white_check_mark: done ${argresult}**`)
1270 } else
1271 if (message.content.startsWith(prefix + 'name')) {
1272 client.user.setUsername(argresult).then
1273 message.channel.sendMessage(`**${argresult}** : Done :>`)
1274 return message.reply("**You Can't Change Your Name ,Only After Two Hours :>**");
1275 } else
1276 if (message.content.startsWith(prefix + 'img')) {
1277 client.user.setAvatar(argresult);
1278 message.channel.sendMessage(`**${argresult}** : تم تغير صورة البوت`);
1279 } else
1280 if (message.content.startsWith(prefix + 'stream')) {
1281 client.user.setGame(argresult, "https://www.twitch.tv/aligamer998");
1282 message.channel.sendMessage(`**:white_check_mark: ${argresult}**`)
1283 }
1284 if(message.content === prefix + "restart") {
1285 if (!devs.includes(message.author.id)) return;
1286 message.channel.send(`:warning:️ **Bot restarting by ${message.author.username}**`);
1287 console.log("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
1288 console.log(`⚠️ Bot restarting... ⚠️`);
1289 console.log("===============================================\n\n");
1290 client.destroy();
1291 child_process.fork(__dirname + "/bot.js");
1292 console.log(`Bot Successfully Restarted`);
1293 }
1294
1295 });
1296
1297client.on("message", msg =>{
1298if(msg.content.startsWith(`${prefix}topservers`)){
1299 const devs = ['357961207019470851', '538040941706215424'];
1300 if (!devs.includes(msg.author.id)) return msg.channel.send(`** | You Can't Use this Command.**`);
1301
1302 let noTop = msg.content.split(" ")[1];
1303 const top = client.guilds.sort((a,b)=>a.memberCount-b.memberCount).array().reverse()
1304 if(!noTop) noTop = 10; //she3a
1305 if(isNaN(noTop)) noTop = 10;
1306 if(noTop <= 0) noTop = 10;
1307 if(noTop > top.length) noTop = top.length;
1308 let serveremmbed = new Discord.RichEmbed();
1309 for(let i = 0; i < noTop; i++){
1310 serveremmbed.addField(`\n **⇏ ${top[i].name}** \n Members » ${top[i].memberCount}`," ");
1311 }
1312 serveremmbed.setTitle(`\n **Top ${noTop} Servers** \n`);
1313 serveremmbed.setThumbnail(msg.author.displayAvatarURL);
1314 serveremmbed.setTimestamp();
1315 serveremmbed.setColor('#42A9C9')
1316 serveremmbed.setFooter(client.user.username,client.user.displayAvatarURL);
1317 msg.channel.send(serveremmbed);
1318}});//she3
1319
1320
1321
1322client.login(process.env.BOT_TOKEN);