Untitled

 avatar
unknown
javascript
2 years ago
2.4 kB
4
Indexable
const Discord = require('discord.js');
const { MessageButton, MessageActionRow } = require('discord-buttons');

module.exports = {
    command: 'lock',
    alias: [''],
    desc: 'locks/unlocks channel.',

    async run(client, rawArgs, message) {
        let warningemoji = client.emojis.cache.get('847635074069692456')
        const member = message.guild.roles.cache.get('849064271979872296')

        if (message.member.permissions.has('MANAGE_CHANNELS')) {
            message.channel.updateOverwrite(member, {'SEND_MESSAGES': false})

            const lockedembed = new Discord.MessageEmbed()
                .setTitle(`${warningemoji} CHANNEL LOCKED ${warningemoji}`)
                .setDescription(`\`\`\`This channel is currently locked by ${message.author.tag}\`\`\``)
                .setColor('#2f3136')
            const unlockedembed = new Discord.MessageEmbed()
                .setTitle(`${warningemoji} CHANNEL UNLOCKED ${warningemoji}`)
                .setDescription(`\`\`\`The channel was unlocked by ${message.author.tag}\`\`\``)
                .setColor('#2f3136')

            let lockdisabled = new MessageButton()
                .setStyle('red')
                .setLabel('lock channel')
                .setID('channel_unlocked')
            let lockenabled = new MessageButton()
                .setStyle('green')
                .setLabel('unlock channel')
                .setID('channel_locked')

            await message.channel.send('', {embed: lockedembed, button: lockenabled});

            client.on('clickButton', async (button) => {
                    if (button.clicker.user != message.author) return;

                    if (button.id === 'channel_locked') {
                        button.message.edit('', {embed: unlockedembed, button: lockdisabled})
                        message.channel.updateOverwrite(member, {'SEND_MESSAGES': true})
                        button.defer(true)

                    } else {
                        button.message.edit('', {embed: lockedembed, button: lockenabled})
                        message.channel.updateOverwrite(member, {'SEND_MESSAGES': false})
                        button.defer(true)

                    }

            });

        } else {
            return message.channel.send(noPermissionsEmbed)
        }
    }
}
Editor is loading...