Kod ⛔ Ban Atma Sistemi

  • Konuyu Başlatan Konuyu Başlatan WxTimer
  • Başlangıç tarihi Başlangıç tarihi

Hoş Geldiniz!

Discordev'e Kayıt Olduğunuzda, topluluğumuzun diğer üyeleriyle tartışabilir, paylaşımda bulunabilir ve özel mesajlaşabilirsiniz.

Hemen Kayıt Ol!
  • Konu Yazar
Selam dostlar 👋
Sunucu güvenliğini artırmak için geliştirdiğim **ban komutu**nu paylaşıyorum.
Bu komutla sunucunuzda kuralları ihlal eden kişileri kolayca yasaklayabilirsiniz.



⚡ Özellikler
  • `/ban-at` komutu ile kullanıcı yasaklama
  • Yasaklama sebebi girme (zorunlu)
  • Rol hiyerarşisine göre kontrol (üst role ban atılamaz)
  • **Embed mesaj** ile şık ban bildirimi
  • Yasaklanan kişinin avatarı ve bilgileri embed içinde gösterilir
  • Ban yetkisi sadece BanMembers iznine sahip olanlara açık



🔧 Kurulum
  1. Kodları commands/ban-at.js dosyasına kaydedin.
  2. Botunuzu yeniden başlatın.
  3. `/ban-at` komutunu kullanarak test edin.



📜 Kod
JavaScript:
const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } = require("discord.js");

module.exports = {
    data: new SlashCommandBuilder()
        .setName("ban-at")
        .setDescription("Kişiyi sunucudan yasaklar.")
        .setDefaultMemberPermissions(PermissionFlagsBits.BanMembers)
        .addUserOption(option =>
            option.setName("kişi")
                .setDescription("Banlanacak kişi")
                .setRequired(true)
        )
        .addStringOption(option =>
            option.setName("sebep")
                .setDescription("Ban sebebi")
                .setRequired(true)
        ),

    async execute(interaction) {
        const { options } = interaction;
        const { guild } = interaction;

        const user = options.getUser("kişi");
        const reason = options.getString("sebep") || "Yasaklanma sebebi girilmemiş.";
        const İkon = user.displayAvatarURL();
    
        const member = await interaction.guild.members.fetch(user.id);

        const BanerrEmbed = new EmbedBuilder()
            .setTitle(`Hata!`)
            .setDescription(`Daha yüksek bir role sahip olduğu için **${user.username}** üstünde işlem **yapamazsın.**`)
            .setThumbnail(guild.iconURL({ dynamic: true }))
            .setColor(0xff0000);

        if (member.roles.highest.position >= interaction.member.roles.highest.position)
            return interaction.reply({ embeds: [BanerrEmbed], ephemeral: true });

        await member.ban({ reason });

        const Banembed = new EmbedBuilder()
            .setAuthor({ name: `YOU ARE BANNED!`, iconURL: guild.iconURL({ dynamic: true }) })
            .setThumbnail(İkon)
            .addFields(
                { name: "Yasaklanan Kişi", value: `${user}`, inline: true },
                { name: "Yasaklanma Sebebi", value: `${reason}`, inline: true }
            )
            .setColor(0x337fb2);

        await interaction.reply({ embeds: [Banembed] });
    }
}



📝 Notlar
  • Kullanıcıyla aynı veya daha yüksek role sahip birine işlem yapılamaz.
  • Ban sebebi yazmak zorunludur.
  • Yasaklama sonrası bot, embed mesaj ile sonucu bildirir.
  • İsteyenler embed tasarımını kendi sunucularına göre düzenleyebilir.

👉 Güvenli bir sunucu için birebir, denemenizi tavsiye ederim 🚀
 
Geri
Üst