Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.13 KB | None | 0 0
  1. const discord = require("discord.js");
  2. const bot = new discord.Client();
  3.  
  4. const token = "ton token";
  5. const prefix = "ton préfixe"
  6. var listperm = ["CREATE_INSTANT_INVITE", "KICK_MEMBERS", "BAN_MEMBERS", "ADMINISTRATOR", "MANAGE_CHANNELS", "MANAGE_GUILD",
  7. "ADD_REACTIONS", "VIEW_AUDIT_LOG", "VIEW_CHANNEL", "SEND_MESSAGES", "SEND_TTS_MESSAGES", "MANAGE_MESSAGES", "EMBED_LINKS", "ATTACH_FILES",
  8. "READ_MESSAGE_HISTORY", "MENTION_EVERYONE", "USE_EXTERNAL_EMOJIS", "CONNECT", "SPEAK", "MUTE_MEMBERS", "DEAFEN_MEMBERS", "MOVE_MEMBERS",
  9. "USE_VAD", "PRIORITY_SPEAKER", "CHANGE_NICKNAME", "MANAGE_NICKNAMES", "MANAGE_ROLES", "MANAGE_WEBHOOKS", "MANAGE_EMOJIS"
  10. ]
  11. function getmention(mention){
  12. if (!mention) return;
  13. if (mention.startsWith('<@') && mention.endsWith('>')) {
  14. mention = mention.slice(2, -1);
  15. if (mention.startsWith('!')) {
  16. mention = mention.slice(1);
  17. }
  18. return bot.users.get(mention);
  19. }
  20. }
  21.  
  22.  
  23.  
  24. bot.on("message", message => {
  25. if (message.author.id != bot.user.id) return;
  26. var args = message.content.split(/ +/);
  27. switch (args[0]) {
  28. case `${prefix}8ball`:
  29. if (message.deletable) message.delete();
  30. let arg = message.content.split(/ +/).slice(1);
  31. if (!arg[0]) return;
  32. const reponses = ["Oe", "Nan", "de fou", "Jsp frère", "Peut-être", "Evidemment", "Evidemment que non", "Comment peux-tu te poser là question?", "Biensur", "Effectivement", "anticonstitutionnellement"];
  33. let embed = new discord.RichEmbed();
  34. embed.setAuthor(bot.user.username, bot.user.avatarURL);
  35. embed.addField(`Question : ${arg.join(" ")}❓`, `Reponse : **${reponses[Math.floor(Math.random()*reponses.length)]}**`);
  36. embed.setColor("#010101");
  37. embed.setTimestamp();
  38. message.channel.send(embed).catch(console.error);
  39. break;
  40. case `${prefix}flip`:
  41. if (message.deletable) message.delete();
  42. const flip = ["Pile", "Face"];
  43. let flipembed = new discord.RichEmbed()
  44. .setColor("#010101")
  45. .addField("FLIP", ` :moneybag: La piece affiche : **${flip[Math.floor(Math.random()*flip.length)]}**`);
  46. message.channel.send(flipembed).catch(console.error);
  47. break;
  48. case `${prefix}ban`:
  49. if (message.deletable) message.delete();
  50. if (message.channel.type !== "text") return;
  51. var mentions = args[1];
  52. if(!message.guild.member(getmention(mentions)).bannable || !message.guild.member(bot.user).hasPermission("BAN_MEMBERS")) return;
  53. var raison = message.content.split(/ +/).slice(2).join(" ") || null;
  54. message.guild.member(getmention(mentions)).ban({
  55. reason: raison
  56. });
  57. break;
  58. case `${prefix}kick`:
  59. if (message.deletable) message.delete();
  60. if (message.channel.type !== "text") return;
  61. var mentions = args[1];
  62. if(!message.guild.member(getmention(mentions)).kickable || !message.guild.member(bot.user).hasPermission("KICK_MEMBERS")) return;
  63. var raison = message.content.split(/ +/).slice(2).join(" ") || null;
  64. message.guild.member(getmention(mentions)).kick({
  65. reason: raison
  66. });
  67. break;
  68. case `${prefix}unban`:
  69. if (message.deletable) message.delete();
  70. if (message.channel.type !== "text") return;
  71. if (!args[1]) return;
  72. if (!message.member.hasPermission("BAN_MEMBERS")) return;
  73. message.guild.fetchBans().then(ee => {
  74. ee.forEach(unbanmember => {
  75. if (unbanmember.id === args[1]) message.guild.unban(unbanmember).then(unbanmembere => message.channel.send(`${unbanmembere.tag} à été unban`).then(m => m.delete(3000)));
  76. });
  77. });
  78. break;
  79. case `${prefix}delchan`:
  80. if (message.deletable) message.delete();
  81. if (message.channel.type !== "text") return;
  82. if (!args[1]) return;
  83. if (!message.member.hasPermission("MANAGE_CHANNELS")) return;
  84. let chanadel = message.guild.channels.get(args[1]);
  85. if(!chanadel) return;
  86. chanadel.delete().then(() => {
  87. if(message.channel.id != args[1])message.channel.send(`Le channel possédant l'id ${args[1]} a été supprimé`).then(m => m.delete(3000));
  88. });
  89. break;
  90. case `${prefix}createchan`:
  91. if (message.deletable) message.delete();
  92. if (message.channel.type !== "text") return;
  93. if (!args[1]) return;
  94. if (!args[2]) return;
  95. if (!message.member.hasPermission("MANAGE_CHANNELS")) return;
  96. if (message.guild.channels.size > 499) return;
  97. message.guild.createChannel(args[1], args[2]).catch(console.error);
  98. break;
  99. case `${prefix}roleperm`:
  100. if (message.deletable) message.delete();
  101. if (message.channel.type !== "text") return;
  102. var arguments = message.content.split(/ +/).slice(2);
  103. if (!arguments[0]) return;
  104. if (!args[1]) return;
  105. if (!message.guild.roles.find(x => x.name === arguments.join(" "))) return;
  106. if (listperm.includes(args[1]) == false) return message.channel.send("Cette permission n'existe pas, faites !help perm").then(m => m.delete(1000));
  107. if (message.guild.roles.find(x => x.name === arguments.join(" ")).hasPermission(args[1])) return message.channel.send(`\`${arguments.join(" ")} \` has permission \` ${args[1]}\` : :white_check_mark:`).then(m => m.delete(3000));
  108. else message.channel.send(`\`${arguments.join(" ")} \` has permission \` ${args[1]}\` : :x:`).then(m => m.delete(3000));
  109. break;
  110. case `${prefix}quialerole`:
  111. if (message.deletable) message.delete();
  112. var argse = message.content.split(/ +/).slice(1);
  113. if (message.channel.type !== "text") return;
  114. if (!argse[0]) return;
  115. if (!message.guild.roles.find(x => x.name === argse.join(" "))) return;
  116. if(message.guild.members.filter(x => x.roles.find(x => x.name === argse.join(" "))).map(x => x.user.tag).toString().length < 1990)message.channel.send(`\`\`\`${message.guild.members.filter(x => x.roles.find(x => x.name === argse.join(" "))).map(x => x.user.tag)} \`\`\` has **${argse.join(" ")} role**`).then(m => m.delete(3000));
  117. break;
  118. case `${prefix}quialaperm`:
  119. if (message.deletable) message.delete();
  120. if (message.channel.type !== "text") return;
  121. if (!args[1]) return;
  122. if (listperm.includes(args[1]) == false) return message.channel.send("Cette permission n'existe pas, faites !help perm").then(m => m.delete(1000));
  123. if(message.guild.members.filter(x => x.hasPermission(args[1])).map(x => x.user.tag).toString().length < 1990)message.channel.send(`\`\`\`${message.guild.members.filter(x => x.hasPermission(args[1])).map(x => x.user.tag)} \`\`\` has **${args[1]} permission**`).then(m => m.delete(3000))
  124. break;
  125. case `${prefix}streaming`:
  126. if (message.deletable) message.delete();
  127. let texte = message.content.split(/ +/).slice(1);
  128. if(!texte[0]) return;
  129. bot.user.setActivity(`${texte.join(" ")}`, {
  130. type: "STREAMING",
  131. url: 'https://www.twitch.tv/monstercat'
  132. }).then(() => message.channel.send(`🖥 | Streaming : \`${texte.join(" ")}\``).then(msg => msg.delete(3000)));
  133. break;
  134. case `${prefix}playing`:
  135. if (message.deletable) message.delete();
  136. let cc = message.content.split(/ +/).slice(1);
  137. if (!cc[0]) return;
  138. bot.user.setActivity(`${cc.join(" ")}`, {
  139. type: "PLAYING"
  140. }).then(() => message.channel.send(`?? | Playing : \`${texte.join(" ")}\``).then(msg => msg.delete(3000)));
  141. break;
  142. case `${prefix}watching`:
  143. if (message.deletable) message.delete();
  144. let cce = message.content.split(/ +/).slice(1);
  145. if (!cce[0]) return;
  146. bot.user.setActivity(`${cce.join(" ")}`, {
  147. type: "WATCHING"
  148. }).then(() => message.channel.send(`👁‍🗨 | Watching : \`${texte.join(" ")}\``).then(msg => msg.delete(3000)));
  149. break;
  150. case `${prefix}listening`:
  151. if (message.deletable) message.delete();
  152. let ccez = message.content.split(/ +/).slice(1);
  153. if (!ccez[0]) return;
  154. bot.user.setActivity(`${ccez.join(" ")}`, {
  155. type: "LISTENING"
  156. }).then(() => message.channel.send(`👂 | Listening : \`${texte.join(" ")}\``).then(msg => msg.delete(3000)));
  157. break;
  158. case `${prefix}clear`:
  159. let number = parseInt(args[1]) || 10;
  160. if (message.deletable) message.delete();
  161. if(!message.channel.fetchMessages({limit: number})) return;
  162. message.channel.fetchMessages({
  163. limit: Math.min(number, 100, 200)
  164. })
  165. .then(messagedelet => {
  166. messagedelet.filter(x => x.author.id === bot.user.id && x.deletable == true).forEach(m => {
  167. m.delete().catch(console.error);
  168. })
  169. }).catch(console.error);
  170. break;
  171. case `${prefix}say`:
  172. if (message.deletable) message.delete();
  173. var coucouzer = message.content.split(/ +/).slice(1);
  174. if (!coucouzer[0]) return;
  175. let sayembed = new discord.RichEmbed()
  176. .setColor("#010101")
  177. .setDescription(coucouzer.join(" "));
  178. message.channel.send(sayembed).catch(console.error);
  179. break;
  180. }
  181. })
  182.  
  183.  
  184. bot.on("message", message => {
  185. if (message.author.id != bot.user.id) return;
  186. var args = message.content.split(/ +/);
  187. switch (args[0]) {
  188. case `${prefix}help`:
  189. var embed = new discord.RichEmbed();
  190. if (args[1] != "moderation" && args[1] != "utiles" && args[1] != "fun" && args[1] != "perm") {
  191. embed.setColor("#010101");
  192. embed.setAuthor("Help douli - project", bot.user.avatarURL);
  193. embed.addField("[𝕮𝖔𝖒𝖒𝖆𝖓𝖉𝖊𝖘 **𝖋𝖚𝖓]** 🖥", `**\`${prefix}help fun\`**`);
  194. embed.addField("[𝕮𝖔𝖒𝖒𝖆𝖓𝖉𝖊𝖘 **𝖚𝖙𝖎𝖑𝖊𝖘]** 🖥", `**\`${prefix}help utiles\`**`);
  195. embed.addField("[𝕮𝖔𝖒𝖒𝖆𝖓𝖉𝖊𝖘 **𝖒𝖔𝖉𝖊𝖗𝖆𝖙𝖎𝖔𝖓]** 🖥", `**\`${prefix}help moderation\`**`);
  196.  
  197. embed.setTimestamp();
  198. embed.setThumbnail(bot.user.avatarURL);
  199. } else if (args[1] === "moderation") {
  200. embed.setColor("#010101");
  201. embed.setAuthor("Help Modération douli - project", bot.user.avatarURL);
  202. embed.addField(`${prefix}ban`, `Utilisation : \`${prefix}ban @mentiondumembreaban raison\``);
  203. embed.addField(`${prefix}kick`, `Utilisation : \`${prefix}kick @mentiondumembreakick raison\``);
  204. embed.addField(`${prefix}unban`, `Utilisation : \`${prefix}unban iddumembreadeban\``);
  205. embed.addField(`${prefix}createchan`, `Utilisation : \`${prefix}createchan nomduchan type\` (Type = text ou voice)`);
  206. embed.addField(`${prefix}delchan`, `Utilisation : \`${prefix}delchan idduchan\``);
  207. embed.setTimestamp();
  208. embed.setThumbnail(bot.user.avatarURL);
  209. } else if (args[1] === "fun") {
  210. embed.setColor("#010101");
  211. embed.setAuthor("Help Fun douli - project", bot.user.avatarURL);
  212. embed.addField(`${prefix}8ball`, `Utilisation : \`${prefix}8ball question\``);
  213. embed.addField(`${prefix}flip`, `Utilisation : \`${prefix}flip\``);
  214. embed.addField(`${prefix}say`, `Utilisation : \`${prefix}say message\``);
  215. embed.setTimestamp();
  216. embed.setThumbnail(bot.user.avatarURL);
  217. } else if (args[1] === "utiles") {
  218. embed.setColor("#010101");
  219. embed.setAuthor("Help Utiles douli - project", bot.user.avatarURL);
  220. embed.addField(`${prefix}clear`, `Utilisation : \`${prefix}clear nombredemessage\``);
  221. embed.addField(`${prefix}watching`, `Utilisation : \`${prefix}watching messageamettreenstatus\``);
  222. embed.addField(`${prefix}listening`, `Utilisation : \`${prefix}listening messageamettreenstatus\``);
  223. embed.addField(`${prefix}playing`, `Utilisation : \`${prefix}playing messageamettreenstatus\``);
  224. embed.addField(`${prefix}streaming`, `Utilisation : \`${prefix}streaming messageamettreenstatus\``);
  225. embed.addField(`${prefix}roleperm`, `Utilisation : \`${prefix}roleperm permissionaverifier nomduroleaverifiersiilpossedelapermspecifie\` (Permission gérer le serveur = MANAGE_GUILD, pour voir comment ecrire les permissions faites ${prefix}help perm)`);
  226. embed.addField(`${prefix}quialerole`, `Utilisation : \`${prefix}quialerole nomdurole\``);
  227. embed.addField(`${prefix}quialaperm`, `Utilisation : \`${prefix}quialaperm perm\` Permission gérer le serveur = MANAGE_GUILD, pour voir comment ecrire les permissions faites ${prefix}help perm)`);
  228. embed.setTimestamp();
  229. embed.setThumbnail(bot.user.avatarURL);
  230. } else if (args[1] === "perm") {
  231. embed.setColor("#010101");
  232. embed.setAuthor("Help Perm douli - project", bot.user.avatarURL);
  233. embed.addField("Administrateur", "ADMINISTRATOR");
  234. embed.addField("Voir les logs", "VIEW_AUDIT_LOG");
  235. embed.addField("Gerer le serveur", "MANAGE_GUILD");
  236. embed.addField("Gerer les roles", "MANAGE_ROLES");
  237. embed.addField("Gerer les salons", "MANAGE_CHANNELS");
  238. embed.addField("Kick un membre", "KICK_MEMBERS");
  239. embed.addField("Ban un membre", "BAN_MEMBERS");
  240. embed.addField("Créer une invitation", "CREATE_INSTANT_INVITE");
  241. embed.addField("Changer son pseudo", "CHANGE_NICKNAME");
  242. embed.addField("Gerer les pseudos", "MANAGE_NICKNAMES");
  243. embed.addField("Gerer les emojis", "MANAGE_EMOJIS");
  244. embed.addField("Gerer les webhooks", "MANAGE_WEBHOOKS");
  245. embed.addField("Move un membre", "MOVE_MEMBERS");
  246. embed.setTimestamp();
  247. embed.setThumbnail(bot.user.avatarURL);
  248.  
  249. }
  250. message.channel.send(embed).catch(console.error);
  251. break;
  252. }
  253. })
  254.  
  255.  
  256.  
  257.  
  258.  
  259. bot.login(token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement