Advertisement
akimc

Untitled

Aug 2nd, 2019
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.61 KB | None | 0 0
  1. const Discord = require('discord.js')
  2. const client = new Discord.Client()
  3. const ms = require('ms')
  4. const fs = require('fs')
  5. const bot = new Discord.Client();
  6. const warns = JSON.parse(fs.readFileSync('warns.json'))
  7. let prefix = '!';
  8.  
  9. client.login("NjA2ODc2OTI1NTYyMDYwOTM3.XURcgQ.K8KYebc9YzI02LifD79NDXG3Dug");
  10.  
  11. client.on('error', (error) => {
  12. console.log(error)
  13. })
  14. client.on('ready', function () {
  15. console.log('Je suis pret chef !')
  16. client.user.setActivity("")
  17.  
  18. })
  19.  
  20. client.on("message", async function (message) {
  21. let args = message.content.split(/\s/);
  22. let cmd = args[0];
  23. if (!message.guild) return
  24.  
  25. if (args[0].toLowerCase() === prefix + "warn") {
  26. if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send("Vous n'avez pas la permission d'utiliser cette commande :x:")
  27. let member = message.mentions.members.first()
  28. if (!member) return message.channel.send("Veuillez mentionner un membre :x:")
  29. if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.ownerID) return message.channel.send("Vous ne pouvez pas warn ce membre :x:")
  30. let reason = args.slice(2).join(' ')
  31. if (!reason) return message.channel.send("Veuillez indiquer une raison :x:")
  32. if (!warns[member.id]) {
  33. warns[member.id] = []
  34. }
  35. warns[member.id].unshift({
  36. reason: reason,
  37. date: Date.now(),
  38. mod: message.author.id
  39. })
  40. fs.writeFileSync('./warns.json', JSON.stringify(warns))
  41. message.channel.send(member + " a été warn pour " + reason + " :white_check_mark:")
  42. }
  43.  
  44. if (args[0].toLowerCase() === prefix + "infractions") {
  45. if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send("Vous n'avez pas la permission d'utiliser cette commande :x:")
  46. let member = message.mentions.members.first()
  47. if (!member) return message.channel.send("Veuillez mentionner un membre :x:")
  48. let embed = new Discord.RichEmbed()
  49. .setAuthor(member.user.username, member.user.displayAvatarURL)
  50. .addField('10 derniers warns', ((warns[member.id] && warns[member.id].length) ? warns[member.id].slice(0, 10).map(e => e.reason) : "Ce membre n'a aucun warns :x:"))
  51. .setTimestamp()
  52. message.channel.send(embed)
  53. }
  54.  
  55.  
  56. //Les mots interdits :
  57. let blacklisted = ['fdp', 'ntm', 'connard', 'pute', 'https://discord.gg/', 'pornhub.com', 'putain', 'ta gueule', 'nique', 'salope', 'PD', 'batard', 'putin', 'enfoiré', 'connare', 'fils de pute', 'bâtard', 'bicot', 'conasse', 'couille molle', 'débile', 'ducon', 'dugland', 'enculé', 'fachiste', 'imbécile', 'lavette', 'bite', 'baisable', 'baise', 'baiser', 'bander ', 'branler', 'branlette', 'bordel', 'burnes', 'chatte', '(sexe)', 'chiant(e)', 'chiasse',
  58. 'chier', 'chiottes', 'con', 'conne', 'fils de pute', ];
  59. //Il va chercher les mots
  60. let foundInText = false;
  61. for (var i in blacklisted) {
  62. if (message.content.toLowerCase().includes(blacklisted[i].toLowerCase())) foundInText = true;
  63. }
  64. if (foundInText) { //Contenu du message du bot qui supprime et envoie au salon nommer "logs" le message contenant l'insulte
  65. message.delete();
  66. }
  67.  
  68. if(cmd.toLowerCase() == `${prefix}giveaway`){
  69. var item = "";
  70. var time;
  71. var winnerCount
  72. //$giveaway 1(winnerscount) 60(60secondes) item I want to $giveaway
  73.  
  74.  
  75. for (var i = 3; 1 < args.length; i++){
  76. item += (args[i] + " ");
  77. }
  78. winnerCount = Number(args[1]);
  79. time = Number(args[2]);
  80. var embed = new Discord.RichEmbed();
  81. embed.setDescription(item);
  82. var embedSent = await message.channel.send(embed);
  83. embedSent.react("🎉");
  84. setTimeout(function() {
  85. var peopleReacted = embedSent.reactions.get("🎉").users.array();
  86. var index = Math.floor(Math.random() * peopleReacted.length);
  87. var winners = [];
  88. var winnerMessage = "";
  89. for (var i = 0; i < winnerCount; i++){
  90. winners.push(peopleReacted[index]);
  91. index = Math.floor(Math.random() *peopleReacted.length);
  92. }
  93. for (var i = 0; i < winners.length; i++){
  94. if (winners[i].id == bot.user.id){
  95. winners[i].slice(i, 1);
  96. continue;
  97. }
  98. winnerMessage += (winners[i].toString() + " ");
  99. }
  100. var haveHas = "has";
  101. if (winners.length == 1){
  102. haveHas = "has";
  103. }
  104. else {
  105. haveHas = "have";
  106. }
  107. message.channel.send(winnerMessage + " " + haveHas + ` won ${item}`);
  108. }, time * 1000);//time parameter is in miliseconds so we're converting seconds to miliseconds
  109. }
  110.  
  111. if(args[0].toLowerCase()===prefix + 'tempban') {
  112. let banreason = args.slice(2).join(" ");
  113.  
  114. if (!message.member.hasPermission('BAN_MEMBERS')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande :x:')
  115. let member = message.mentions.members.first()
  116. let params = message.content.split(" ").slice(1);
  117. let time = params [1];
  118. if (!member) return message.channel.send('Veuillez mentionner un utilisateur :x:')
  119. if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.owner.id) return message.channel.send('Vous ne pouvez pas bannir cet utilisateur :x:')
  120. if(!time) return message.reply("Veuiller spécifier un temps de ban :x:");
  121. if (!member.bannable) return message.channel.send('Je ne peux pas bannir cet utilisateur :x:')
  122. if(!reason) return message.channel.send("Veuillez donner une raison :x:")
  123. message.guild.ban(member, ms(ms(time), {long: true}))
  124. message.channel.send('*' + member.user.username + '* a été banni '+ms(ms(time), {long: true})+' pour : **'+reason+'** :white_check_mark:')
  125.  
  126. setTimeout(function(){
  127. message.guild.unban(member.user);
  128. message.channel.send(`${member.user} a été **unban** :white_check_mark:`)
  129.  
  130. },ms(time));
  131. }
  132.  
  133. if(args[0].toLowerCase()===prefix + 'ban') {
  134. if (!message.member.hasPermission('BAN_MEMBERS')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande :x:')
  135. let member = message.mentions.members.first()
  136. if (!member) return message.channel.send('Veuillez mentionner un utilisateur :x:')
  137. if(!banreason) return message.channel.send("Veuillez donner une raison :x:")
  138. if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.owner.id) return message.channel.send('Vous ne pouvez pas bannir cet utilisateur :x:')
  139. if (!member.bannable) return message.channel.send('Je ne peux pas bannir cet utilisateur :x:')
  140. message.guild.ban(member)
  141. message.channel.send('*' + member.user.username + '* a été banni pour '+banreason+' :white_check_mark:')
  142. }
  143. if(args[0].toLocaleLowerCase() === prefix +'help'){
  144. if(args[1]) return message.channel.send("Syntaxe incorrecte, essayez plutôt `!help` :x:")
  145. let embed = new Discord.RichEmbed()
  146. .setColor('#d06b00')
  147. .setThumbnail('https://image.noelshack.com/fichiers/2019/31/5/1564761970-larmesbot.jpg')
  148. .setTitle("**Page d'aide Modération**")
  149. .addField('!mute <pseudo> <raison>','Mute un joueur indéfiniment.',true)
  150. .addField('!tempmute <pseudo> <temps> <raison>','Tempmute un utilisateur pendant une durée déterminée.',true)
  151. .addField('!unmute <pseudo>','Unmute un utilisateur mute ou tempmute.',true)
  152. .addField('!ban <pseudo> <raison>', 'Banni un utilisateur indéfiniment.',true)
  153. .addField('!tempban <pseudo> <temps> <raison>','Tempban un utilisateur pendant une durée déterminée.',true)
  154. .addField('!clear <nombre>','Clear un certain nombre de message. Il ne faut pas dépasser 100.',true)
  155. .addField('!kick <pseudo> <raison>','Kick un utilisateur.')
  156. .addField('!infractions <pseudo>',"Voir les warns d'un Utilisateur.")
  157. .addField('!warn <pseudo> <raison>','Avertir un Utilisateur.')
  158. .setFooter('LarmesBot Bot | Dev by Elena#4939')
  159. message.channel.send({embed})
  160. }
  161. if(args[0].toLowerCase()===prefix + 'kick') {
  162. if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande :x:')
  163. let member = message.mentions.members.first()
  164. if (!member) return message.channel.send('Veuillez mentionner un utilisateur :x:')
  165. if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.owner.id) return message.channel.send('Vous ne pouvez pas exclure cet utilisateur :x:')
  166. if (!member.kickable) return message.channel.send('Je ne peux pas exclure cet utilisateur :x:')
  167. if(!reason) return message.channel.send("Veuillez donner une raison :x:")
  168. member.kick()
  169. message.channel.send('*' + member.user.username + '* a été exclu pour : **'+reason+'** :white_check_mark:')
  170. }
  171.  
  172. if(args[0].toLowerCase()===prefix + 'clear'){
  173. let verifynumber = isNaN(args[0])
  174.  
  175. if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande :x:')
  176. if(!args[0]) return message.channel.send('Syntaxe : `!clear <nombre>` :x:')
  177. if(verifynumber === true ) return message.channel.send('Veuillez indiquer **un nombre** :x:')
  178. if(args[0] > 100) return message.channel.send('Veuillez indiquer un nombre **inférieur ou égal à 100** :x:')
  179. message.channel.bulkDelete(args[0]).then(() =>{
  180. message.channel.send(`**${args[0]} messages** supprimés :white_check_mark: `)
  181. message.channel.bulkDelete(1)
  182. })
  183.  
  184. }
  185.  
  186. if(args[0].toLowerCase()===prefix + 'tempmute') {
  187. let reason = args.slice(3).join(" ");
  188. let member = message.mentions.members.first();
  189. if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send(`Vous n'avez **pas la permission** d'utiliser cette commande :x:`);
  190. if(!member) return message.reply("Veuillez mentionner un utilisateur :x:");
  191. let muteRole = message.guild.roles.find("name", "muted");
  192. if(!muteRole) return message.reply("Le grade muted n'est pas trouvé :x:")
  193. if(!reason) return message.channel.send("Veuillez indiquer **une raison** :x:")
  194. let params = message.content.split(" ").slice(1);
  195. let time = params [1];
  196. if(!time) return message.reply("Veuiller spécifier un temps de mute :x:");
  197. if(member.roles.has(muteRole.id)) return message.channel.send(`${member.user} est **déjà mute** :x:`);
  198. let verifytime = isNaN(args[2])
  199. if(verifytime === false) return message.channel.send('Veuillez utiliser un temps en **secondes (s), minutes (m), days (d)** :x:')
  200. if(!(time.includes('0') || time.includes('1') || time.includes('2') || time.includes('3') || time.includes('4') || time.includes('5') || time.includes('6') || time.includes('7') || time.includes('8') || time.includes('9'))) return message.channel.send('(erreur ou jai du mal) Veuillez utiliser un temps en **secondes (s), minutes (m), days (d)** :x:')
  201. if(!(time.includes('s') || time.includes('d') || time.includes('h') || time.includes('m'))) return message.channel.send('Veuillez utiliser un temps en **secondes (s), minutes (m), days (d)** :x:')
  202.  
  203. member.addRole(muteRole.id);
  204. message.channel.send(`${member.user} a été **mute** pendant **${ms(ms(time), {long: true})}** pour** ${reason}** par **${message.author}** :white_check_mark:`)
  205.  
  206. setTimeout(function(){
  207. member.removeRole(muteRole.id);
  208. message.channel.send(`${member.user} a été **unmute** :white_check_mark:`)
  209.  
  210. },ms(time));
  211. }
  212.  
  213. if(args[0].toLowerCase()===prefix + 'unmute') {
  214. let member = message.mentions.members.first();
  215. if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send(`Vous n'avez **pas la permission** d'utiliser cette commande :x:`);
  216. if(!member) return message.reply("Veuillez mentionner un utilisateur :x:");
  217. let muteRole = message.guild.roles.find("name", "muted");
  218. if(!muteRole) return message.reply("Le grade muted n'est pas trouvé, impossible de l'enlever à l'utilisateur :x:")
  219.  
  220. if(!member.roles.has(muteRole.id)) return message.channel.send(`${member.user} n'est **pas mute** :x:`);
  221. member.removeRole(muteRole.id);
  222. message.channel.send(`${member.user} a été **unmute** par **${message.author}** :white_check_mark:`)
  223. }
  224.  
  225. if(args[0].toLowerCase()===prefix + 'mute') {
  226. let reason = args.slice(2).join(" ");
  227. let member = message.mentions.members.first();
  228. if(!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send(`Vous n'avez **pas la permission** d'utiliser cette commande :x:`);
  229. if(!member) return message.reply("Veuillez mentionner un utilisateur :x:");
  230. let muteRole = message.guild.roles.find("name", "muted");
  231. if(!muteRole) return message.reply("Le grade muted n'est pas trouvé, impossible de l'enlever à l'utilisateur :x:");
  232.  
  233. if(!reason) return message.channel.send("Veuillez indiquer **une raison** :x:")
  234. if(member.roles.has(muteRole.id)) return message.channel.send(`${member.user} est **déjà mute** :x:`);
  235. member.addRole(muteRole.id);
  236. message.channel.send(`${member.user} **a été mute** par ${message.author} pour **${reason}** :white_check_mark:`);
  237. }
  238.  
  239.  
  240. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement