Discord Slash Komutlu Hoş Geldin Botu - V14

Jameica

Yazar Şefi
Moderatör
Katılım
9 Eki 2022
Konular
23
Mesajlar
44
Tepki puanı
68
Puanları
1,610
Merhabalar, bu kodlama giriş ve çıkış mesajları için kullanılabilecek bir kodlamadır. Kodlamayı kullanır iken main dosyasındaki replace kısımlarını kullanmayın hata verebilir. Keyifli kullanımlar.


Komutlar Dosyasına Yapılan Kodlama ;

JavaScript:
const Discord = require('discord.js');
const { PermissionsBitField } = require("discord.js")
const louritydb = require("croxydb");
module.exports = {
    name: "hoşgeldin-sistemi",
    description: "Hoşgeldin sistemini ayarlarsınız.",
    type: 1,
    options: [
        {
            name: "kanal",
            description: "Hoşgeldin kanalını ayarlar.",
            type: 7,
            required: true,
            channel_types: [0]
        },

        {
            name: "giris-mesaj",
            description: "Hoşgeldin kanalına atılacak giriş mesajını ayarlarsınız.",
            type: 3,
            required: false
        },

        {
            name: "cikis-mesaj",
            description: "Hoşgeldin kanalına atılacak çıkış mesajını ayarlarsınız.",
            type: 3,
            required: false
        }
    ],
    run: async (client, interaction) => {

        const row = new Discord.ActionRowBuilder()

            .addComponents(
                new Discord.ButtonBuilder()
                    .setEmoji("🗑️")
                    .setLabel("Sistemi Kapat")
                    .setStyle(Discord.ButtonStyle.Danger)
                    .setCustomId("kapat")
            )

        const row1 = new Discord.ActionRowBuilder()

            .addComponents(
                new Discord.ButtonBuilder()
                    .setEmoji("🔽")
                    .setLabel("Mesajı Göster")
                    .setStyle(Discord.ButtonStyle.Primary)
                    .setCustomId("goster")
            )

            .addComponents(
                new Discord.ButtonBuilder()
                    .setEmoji("🗑️")
                    .setLabel("Sistemi Kapat")
                    .setStyle(Discord.ButtonStyle.Danger)
                    .setCustomId("kapat1")
            )

        const embed = new Discord.EmbedBuilder()
            .setTitle("Yetkin Yok!")
            .setDescription("Bu komutu kullanabilmek için `Kanalları Yönet`  yetkisinde olman lazım.")
            .setFooter({ text: "Lourity Tester" })
            .setColor("Red")

        if (!interaction.member.permissions.has(PermissionsBitField.Flags.ManageChannels)) return interaction.reply({ embeds: [embed], ephemeral: true })

        const gMesaj = interaction.options.getString('giris-mesaj')
        const cMesaj = interaction.options.getString('cikis-mesaj')
        const kanal = interaction.options.getChannel('kanal')

        louritydb.set(`hgbb_${interaction.guild.id}`, kanal.id)
        louritydb.set(`hgbbCikisMesaj_${interaction.guild.id}`, cMesaj)
        louritydb.set(`hgbbGirisMesaj_${interaction.guild.id}`, gMesaj)

        const kanalEmbed = new Discord.EmbedBuilder()
            .setTitle("Başarıyla Ayarlandı!")
            .setDescription("Hoşgeldin sistemi başarıyla ayarlandı!")
            .setFooter({ text: "Lourity Tester" })
            .setColor("Green")

        if (gMesaj, cMesaj) return interaction.reply({ embeds: [kanalEmbed], components: [row1] })
        if (!gMesaj, !cMesaj) return interaction.reply({ embeds: [kanalEmbed], components: [row1] })
    }
};

Main Dosyası (bot.js,index.js,server.js) ;
JavaScript:
// Hoşgeldin Sistemi
client.on("guildMemberAdd", member => {
    let gMesaj = louritydb.get(`hgbbGirisMesaj_${member.guild.id}`);
    const kanal = louritydb.get(`hgbb_${member.guild.id}`)
    if (!kanal) return;

    // const msge = gMesaj
    //     .replace("-etiketsiz-", member.user.tag)
    //     .replace("-etiketli-", member)
    //     .replace("-üyesayısı-", member.guild.memberCount)

    let embed = new Discord.EmbedBuilder()
        .setTitle("Sunucuya Katıldı!")
        .setDescription(gMesaj || `${member} sunucuya katıldı! Sunucumuz **${member.guild.memberCount}** kişi oldu.`)
        .setThumbnail(member.user.displayAvatarURL())
        .setFooter({ text: "Lourity Tester" })
        .setColor("Green")

    member.guild.channels.cache.get(kanal).send({ embeds: [embed] })
});

client.on("guildMemberRemove", member => {

    let cMesaj = louritydb.get(`hgbbCikisMesaj_${member.guild.id}`);
    const kanal = louritydb.get(`hgbb_${member.guild.id}`)
    if (!kanal) return;

    // const msge = cMesaj
    //     .replace("-etiketsiz-", member.user.tag)
    //     .replace("-etiketli-", member)
    //     .replace("-üyesayısı-", member.guild.memberCount)

    let embed = new Discord.EmbedBuilder()
        .setTitle("Sunucudan Ayrıldı!")
        .setDescription(cMesaj || `${member} sunucudan ayrıldı! Sunucumuz **${member.guild.memberCount}** kişi oldu.`)
        .setThumbnail(member.user.displayAvatarURL())
        .setFooter({ text: "Lourity Tester" })
        .setColor("Red")

    member.guild.channels.cache.get(kanal).send({ embeds: [embed] })
});

// Hoşgeldin Sistemi - Button
client.on('interactionCreate', async interaction => {

    const embed = new Discord.EmbedBuilder()
        .setTitle("Yetersiz Yetki!")
        .setDescription("> Bu komutu kullanabilmek için `Kanalları Yönet` yetkisine ihtiyacın var!")
        .setFooter({ text: "Lourity Bot" })
        .setColor("Red")

    const embed1 = new Discord.EmbedBuilder()
        .setTitle("Başarıyla Sıfırlandı!")
        .setDescription("> Hoşgeldin sistemi başarıyla **sıfırlandı**!")
        .setColor("Green")

    if (!interaction.isButton()) return;
    if (!interaction.member.permissions.has(Discord.PermissionsBitField.Flags.ManageChannels)) return interaction.reply({ embeds: [embed], ephemeral: true });
    if (interaction.customId === "kapat") {
        louritydb.delete(`hgbb_${interaction.guild.id}`)
        louritydb.delete(`hgbbCikisMesaj_${interaction.guild.id}`)
        louritydb.delete(`hgbbGirisMesaj_${interaction.guild.id}`)
        interaction.reply({ embeds: [embed1], ephemeral: true })
    }
})

client.on('interactionCreate', async interaction => {

    const embed = new Discord.EmbedBuilder()
        .setTitle("Yetersiz Yetki!")
        .setDescription("> Bu komutu kullanabilmek için `Kanalları Yönet` yetkisine ihtiyacın var!")
        .setFooter({ text: "Lourity Bot" })
        .setColor("Red")

    const embed1 = new Discord.EmbedBuilder()
        .setTitle("Başarıyla Sıfırlandı!")
        .setDescription("> Hoşgeldin sistemi başarıyla **sıfırlandı**!")
        .setColor("Green")

    const embed2 = new Discord.EmbedBuilder()
        .setTitle("Zaten Sıfırlanmış!")
        .setDescription("> Hoşgeldin sistemi zaten sıfırlanmış!")
        .setColor("Red")

    if (!interaction.isButton()) return;
    // const w = louritydb.get(`hgbb_${interaction.guild.id}`)
    // if (!w) return interaction.reply({ embeds: [embed2], ephemeral: true })
    if (!interaction.member.permissions.has(Discord.PermissionsBitField.Flags.ManageChannels)) return interaction.reply({ embeds: [embed], ephemeral: true });
    if (interaction.customId === "kapat1") {
        louritydb.delete(`hgbb_${interaction.guild.id}`)
        louritydb.delete(`hgbbCikisMesaj_${interaction.guild.id}`)
        louritydb.delete(`hgbbGirisMesaj_${interaction.guild.id}`)
        interaction.reply({ embeds: [embed1], ephemeral: true })
    }
})

client.on('interactionCreate', async interaction => {

    let msge = louritydb.get(`hgbbCikisMesaj_${interaction.guild.id}`)
    let msge2 = louritydb.get(`hgbbGirisMesaj_${interaction.guild.id}`)

    const mesaj = new Discord.EmbedBuilder()
        .setTitle("Ayarlanan Mesaj")
        .setDescription(`📥 **Giriş Mesajı:** ${msge} \n\n📤 **Çıkış Mesajı:** ${msge2}`)
        .setColor("Yellow")

    const uyari = new Discord.EmbedBuilder()
        .setTitle("Başarısız!")
        .setDescription(`Sistem ayarlı değil veya mesaj ayarlanmamış!`)
        .setColor("Red")

    const embed = new Discord.EmbedBuilder()
        .setTitle("Yetersiz Yetki!")
        .setDescription("> Bu komutu kullanabilmek için `Kanalları Yönet` yetkisine ihtiyacın var!")
        .setFooter({ text: "Lourity Bot" })
        .setColor("Red")

    if (!interaction.isButton()) return;
    if (!interaction.member.permissions.has(Discord.PermissionsBitField.Flags.ManageChannels)) return interaction.reply({ embeds: [embed], ephemeral: true });
    if (interaction.customId === "goster") {
        if (!msge) return interaction.reply({ embeds: [uyari], ephemeral: true })
        if (!msge2) return interaction.reply({ embeds: [uyari], ephemeral: true })
        interaction.reply({ embeds: [mesaj], ephemeral: true })
    }
})
 
  • Beğen
Tepkiler: Dolica ve Sperayz