const { Command } = require('discord.js-commando'); module.exports = class SubscribeCommand extends Command { constructor(client) { super(client, { name: 'subscribe', aliases: ['join'], group: 'role-manage', memberName: 'subscribe', description: 'Subscribes you to the specified role.', guildOnly: true, clientPermissions: ['MANAGE_ROLES'], args: [ { key: 'role', prompt: 'What role do you want to subscribe to?', type: 'role' } ] }); } async run(msg, { role }) { const roles = msg.guild.settings.get('openRoles', []); if (!roles.includes(role.id)) return msg.reply('This role is not open!'); if (!role.editable) return msg.reply('I do not have permission to manage this role!'); if (msg.member.roles.has(role.id)) return msg.reply('You are already a member of this role!'); await msg.member.roles.add(role); return msg.say(`You were added to **${role.name}**!`); } };