import { Message } from 'eris'; import { Client, Command } from '../class'; export default class Unmute extends Command { constructor(client: Client) { super(client); this.name = 'unmute'; this.description = 'Unmutes a member.'; this.usage = 'unmute [reason]'; this.permissions = 2; this.guildOnly = true; this.enabled = true; } public async run(message: Message, args: string[]) { try { if (!args[0]) return this.client.commands.get('help').run(message, [this.name]); const member = this.client.util.resolveMember(args[0], this.mainGuild); if (!member) return this.error(message.channel, 'Cannot find user.'); try { const res1 = await this.client.db.local.muted.get(`muted-${member.id}`); if (!res1 || !this.mainGuild.members.get(member.id).roles.includes('478373942638149643')) return this.error(message.channel, 'This user is already unmuted.'); } catch {} // eslint-disable-line no-empty if (member && !this.client.util.moderation.checkPermissions(member, message.member)) return this.error(message.channel, 'Permission Denied.'); message.delete(); await this.client.util.moderation.unmute(member.user.id, message.member, args.slice(1).join(' ')); return this.success(message.channel, `${member.user.username}#${member.user.discriminator} has been unmuted.`); } catch (err) { return this.client.util.handleError(err, message, this, false); } } }