pastebin

discord roles
  1. const { RichEmbed } = require('discord.js');
  2. const { prefix } = require('../config');
  3.  
  4. exports.run = async (client, message, args) => {
  5.  
  6.     await message.delete().catch(O_o=>{});
  7.  
  8.     const a = message.guild.roles.get('485987998794514442'); // Moderator
  9.     const b = message.guild.roles.get('485987998165499914'); // Administrator
  10.     const c = message.guild.roles.get('482192667766423561'); // Developer
  11.  
  12.     const filter = (reaction, user) => ['🇦', '🇧', '🇨'].includes(reaction.emoji.name) && user.id === message.author.id;
  13.  
  14.     const embed = new RichEmbed()
  15.         .setTitle('Avaiilable Roles')
  16.         .setDescription(`
  17.        
  18.         🇦 ${a.toString()}
  19.         🇧 ${b.toString()}
  20.         🇨 ${c.toString()}
  21.  
  22.         `)
  23.         .setColor(0xdd9323)
  24.         .setFooter(`ID: ${message.author.id}`);
  25.        
  26.     message.channel.send(embed).then(async msg => {
  27.  
  28.         await msg.react('🇦');
  29.         await msg.react('🇧');
  30.         await msg.react('🇨');
  31.  
  32.         msg.awaitReactions(filter, {
  33.             max: 1,
  34.             time: 30000,
  35.             errors: ['time']
  36.         }).then(collected => {
  37.  
  38.             const reaction = collected.first();
  39.  
  40.             switch (reaction.emoji.name) {
  41.                 case '🇦':
  42.                     if (message.member.roles.has(a.id)) {
  43.                         msg.delete(2000);
  44.                         return message.channel.send('You are already in this role!').then(m => m.delete(3000));
  45.                     }
  46.                     message.member.addRole(a).catch(err => {
  47.                         console.log(err);
  48.                         return message.channel.send(`Error adding you to this role: **${err.message}**.`);
  49.                     });
  50.                     message.channel.send(`You have been added to the **${a.name}** role!`).then(m => m.delete(3000));
  51.                     msg.delete();
  52.                     break;
  53.                 case '🇧':
  54.                     if (message.member.roles.has(b.id)) {
  55.                         msg.delete(2000);
  56.                         return message.channel.send('You are already in this role!').then(m => m.delete(3000));
  57.                     }
  58.                     message.member.addRole(b).catch(err => {
  59.                         console.log(err);
  60.                         return message.channel.send(`Error adding you to this role: **${err.message}**.`);
  61.                     });
  62.                     message.channel.send(`You have been added to the **${b.name}** role!`).then(m => m.delete(3000));
  63.                     msg.delete();
  64.                     break;
  65.                 case '🇨':
  66.                     if (message.member.roles.has(c.id)) {
  67.                         msg.delete(2000);
  68.                         return message.channel.send('You are already in this role!').then(m => m.delete(3000));
  69.                     }
  70.                     message.member.addRole(c).catch(err => {
  71.                         console.log(err);
  72.                         return message.channel.send(`Error adding you to this role: **${err.message}**.`);
  73.                     });
  74.                     message.channel.send(`You have been added to the **${c.name}** role!`).then(m => m.delete(3000));
  75.                     msg.delete();
  76.                     break;
  77.             }
  78.         }).catch(collected => {
  79.             return message.channel.send(`I couldn't add you to this role!`);
  80.        });
  81.  
  82.    });
  83.  
  84. };
  85.  
  86. exports.help = {
  87.    name: 'roles'
  88. };
Parsed in 0.025 seconds