V14 Herkese Rol Verme

DiscordJS V14 Sunucudaki Herkese Rol Verme Komudu

Posted on 9/9/2024

const { SlashCommandBuilder } = require('@discordjs/builders');

module.exports = {
    data: new SlashCommandBuilder()
        .setName('herkese-rol-ver')
        .setDescription('Belirttiğin rolü sunucudaki tüm üyelere verir.')
        .addRoleOption(option => 
            option.setName('rol')
                .setDescription('Verilecek rolü seçin')
                .setRequired(true)),
    async execute(interaction) {
        if (!interaction.member.permissions.has('ADMINISTRATOR')) {
            return interaction.reply({ content: 'Bu komutu kullanmak için yetkin yok.', ephemeral: true });
        }

        const role = interaction.options.getRole('rol');
        const members = await interaction.guild.members.fetch();
        let successCount = 0;
        let failCount = 0;

        await interaction.deferReply(); 

        members.forEach(member => {
            if (!member.roles.cache.has(role.id)) { 
                member.roles.add(role).then(() => {
                    successCount++;
                }).catch(() => {
                    failCount++;
                });
            }
        });

        interaction.editReply(`İşlem tamamlandı! ${successCount} üyeye başarıyla rol verildi. ${failCount} üyeye rol verilemedi.`);
    }
};