Advertisement
jensie1996

Discord bot v12 tut 3

Apr 26th, 2020
4,757
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (command === `${prefix}kick`) {
  2.  
  3.         const args = message.content.slice(prefix.length).split(/ +/);
  4.  
  5.         if (!message.member.hasPermission("KICK_MEMBERS")) return message.reply("sorry jij kan dit niet");
  6.  
  7.         if (!message.guild.me.hasPermission("KICK_MEMBERS")) return message.reply("Geen perms");
  8.  
  9.         if (!args[1]) return message.reply("Geen gebruiker opgegeven.");
  10.  
  11.         if (!args[2]) return message.reply("Gelieve een redenen op te geven.");
  12.  
  13.         var kickUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[1]));
  14.  
  15.         var reason = args.slice(2).join(" ");
  16.  
  17.         if (!kickUser) return message.reply("Kan de gebruiker niet vinden.");
  18.  
  19.         var embed = new discord.MessageEmbed()
  20.             .setColor("#ff0000")
  21.             .setThumbnail(kickUser.user.displayAvatarURL)
  22.             .setFooter(message.member.displayName, message.author.displayAvatarURL)
  23.             .setTimestamp()
  24.             .setDescription(`** Gekickt:** ${kickUser} (${kickUser.id})
  25.             **Gekickt door:** ${message.author}
  26.             **Redenen: ** ${reason}`);
  27.  
  28.         var embedPrompt = new discord.MessageEmbed()
  29.             .setColor("GREEN")
  30.             .setAuthor("Gelieve te reageren binnen 30 sec.")
  31.             .setDescription(`Wil je ${kickUser} kicken?`);
  32.  
  33.  
  34.         message.channel.send(embedPrompt).then(async msg => {
  35.  
  36.             var emoji = await promptMessage(msg, message.author, 30, ["✅", "❌"]);
  37.  
  38.  
  39.             // We kijken dat het de gebruiker is die het als eerste heeft uitgevoerd.
  40.             // message.channel.awaitMessages(m => m.author.id == message.author.id,
  41.             //     { max: 1, time: 30000 }).then(collected => {
  42.  
  43.             //         if (collected.first().content.toLowerCase() == 'yes') {
  44.             //             message.reply('Kick speler.');
  45.             //         }
  46.             //         else
  47.             //             message.reply('Geanuleerd');
  48.  
  49.             //     }).catch(() => {
  50.             //         message.reply('Geen antwoord na 30 sec, geanuleerd.');
  51.             //     });
  52.  
  53.  
  54.             if (emoji === "✅") {
  55.  
  56.                 msg.delete();
  57.  
  58.                 kickUser.kick(reason).catch(err => {
  59.                     if (err) return message.channel.send(`Er is iets foutgegaan.`);
  60.                 });
  61.  
  62.                 message.reply(embed);
  63.  
  64.             } else if (emoji === "❌") {
  65.  
  66.                 msg.delete();
  67.  
  68.                 message.reply("Kick geanuleerd").then(m => m.delete(5000));
  69.  
  70.             }
  71.  
  72.         });
  73.     }
  74.  
  75.  
  76.     if (command === `${prefix}ban`) {
  77.  
  78.         const args = message.content.slice(prefix.length).split(/ +/);
  79.  
  80.         if (!args[1]) return message.reply("Geen gebruiker opgegeven.");
  81.  
  82.         if (!args[2]) return message.reply("Gelieve een redenen op te geven.");
  83.  
  84.         if (!message.member.hasPermission("BAN_MEMBERS")) return message.reply("sorry jij kan dit niet");
  85.  
  86.         if (!message.guild.me.hasPermission("BAN_MEMBERS")) return message.reply("Geen perms");
  87.  
  88.         var banUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[1]));
  89.  
  90.         var reason = args.slice(2).join(" ");
  91.  
  92.         if (!banUser) return message.reply("Kan de gebruiker niet vinden.");
  93.  
  94.         var embed = new discord.MessageEmbed()
  95.             .setColor("#ff0000")
  96.             .setThumbnail(banUser.user.displayAvatarURL)
  97.             .setFooter(message.member.displayName, message.author.displayAvatarURL)
  98.             .setTimestamp()
  99.             .setDescription(`** Geband:** ${banUser} (${banUser.id})
  100.             **Geband door:** ${message.author}
  101.             **Redenen: ** ${reason}`);
  102.  
  103.         var embedPrompt = new discord.MessageEmbed()
  104.             .setColor("GREEN")
  105.             .setAuthor("Gelieve te reageren binnen 30 sec.")
  106.             .setDescription(`Wil je ${banUser} bannen?`);
  107.  
  108.  
  109.         message.channel.send(embedPrompt).then(async msg => {
  110.  
  111.             var emoji = await promptMessage(msg, message.author, 30, ["✅", "❌"]);
  112.  
  113.  
  114.             // We kijken dat het de gebruiker is die het als eerste heeft uitgevoerd.
  115.             // message.channel.awaitMessages(m => m.author.id == message.author.id,
  116.             //     { max: 1, time: 30000 }).then(collected => {
  117.  
  118.             //         if (collected.first().content.toLowerCase() == 'yes') {
  119.             //             message.reply('Kick speler.');
  120.             //         }
  121.             //         else
  122.             //             message.reply('Geanuleerd');
  123.  
  124.             //     }).catch(() => {
  125.             //         message.reply('Geen antwoord na 30 sec, geanuleerd.');
  126.             //     });
  127.  
  128.  
  129.             if (emoji === "✅") {
  130.  
  131.                 msg.delete();
  132.  
  133.                
  134.                 banUser.ban(reason).catch(err => {
  135.                     if (err) return message.channel.send(`Er is iets foutgegaan.`);
  136.                 });
  137.  
  138.                 message.reply(embed);
  139.  
  140.             } else if (emoji === "❌") {
  141.  
  142.                 msg.delete();
  143.  
  144.                 message.reply("Ban geanuleerd").then(m => m.delete(5000));
  145.  
  146.             }
  147.  
  148.         });
  149.     }
  150.  
  151. // Emojis aan teksten kopellen.
  152. async function promptMessage(message, author, time, reactions) {
  153.     // We gaan eerst de tijd * 1000 doen zodat we seconden uitkomen.
  154.     time *= 1000;
  155.  
  156.     // We gaan ieder meegegeven reactie onder de reactie plaatsen.
  157.     for (const reaction of reactions) {
  158.         await message.react(reaction);
  159.     }
  160.  
  161.     // Als de emoji de juiste emoji is die men heeft opgegeven en als ook de auteur die dit heeft aangemaakt er op klikt
  162.     // dan kunnen we een bericht terug sturen.
  163.     const filter = (reaction, user) => reactions.includes(reaction.emoji.name) && user.id === author.id;
  164.  
  165.     // We kijken als de reactie juist is, dus met die filter en ook het aantal keren en binnen de tijd.
  166.     // Dan kunnen we bericht terug sturen met dat icoontje dat is aangeduid.
  167.     return message.awaitReactions(filter, { max: 1, time: time }).then(collected => collected.first() && collected.first().emoji.name);
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement