diff --git a/commands/moderation/clear-channel.js b/commands/moderation/clear-channel.js new file mode 100644 index 00000000..d62da364 --- /dev/null +++ b/commands/moderation/clear-channel.js @@ -0,0 +1,26 @@ +const Command = require('../../structures/Command'); + +module.exports = class ClearChannelCommand extends Command { + constructor(client) { + super(client, { + name: 'clear-channel', + group: 'moderation', + memberName: 'clear-channel', + description: 'Deletes all messages in a channel by cloning it and then deleting it.', + guildOnly: true, + throttling: { + usages: 1, + duration: 30 + }, + clientPermissions: ['MANAGE_CHANNELS'], + userPermissions: ['MANAGE_CHANNELS', 'MANAGE_MESSAGES'] + }); + } + + async run(msg) { + if (!msg.channel.deletable) return msg.say('This channel cannot be deleted.'); + await msg.channel.clone(); + await msg.channel.delete(); + return null; + } +}; diff --git a/package.json b/package.json index 3e857fd4..014552d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "40.5.1", + "version": "40.6.0", "description": "Your personal server companion.", "main": "Shard.js", "scripts": { @@ -46,7 +46,7 @@ "zalgolize": "^1.2.4" }, "devDependencies": { - "eslint": "^4.6.1", + "eslint": "^4.7.0", "eslint-config-aqua": "^2.0.1" }, "eslintConfig": {