dkdkdk

const { EmbedBuilder, ButtonBuilder, ButtonStyle, ActionRowBuilder, StringSelectMenuBuilder, PermissionsBitField } = require(“discord.js”);

const db = require(“croxydb”);

const config = require(“../config.json”);

const loadEmojis = async (client, guildId) => {

    const emojiNames = [‘arrow’, ‘hareketli_arrow’, ‘robux_png’, ‘robux2_png’, ‘bildirim’, ‘nokta’, ‘giveaway’, ‘wumpus’, ‘nitrobasic’, ‘nitroboost’];

    const emojis = {};

    for (const name of emojiNames) {

        const emojiId = db.get(`emoji_${name}_${guildId}`);

        if (emojiId) {

            const emoji = client.emojis.cache.get(emojiId);

            if (emoji) {

                emojis[name] = {

                    name: emoji.name,

                    id: emoji.id,

                    animated: emoji.animated

                };

            }

        }

    }

    return emojis;

};

const clickTracker = {};

module.exports = {

    name: “ödül-al-mesaj”,

    description: ‘Ödül alma mesajını gönderir.’,

    type: 1,

    run: async (client, interaction) => {

        if (!interaction.member.permissions.has(PermissionsBitField.Flags.ManageGuild)) {

            return interaction.reply({ content: “Bu komutu kullanmak için gerekli yetkiye sahip deÄŸilsiniz.”, ephemeral: true });

        }

        const guildId = interaction.guild.id;

        const channelId = interaction.channel.id;

        const emojis = await loadEmojis(client, guildId);

        const embed = new EmbedBuilder()

        .setColor(“Red”)

        .setTitle(“<a:snowflake:1332754919861518447> Limited Time Event <a:snowflake:1332754919861518447>”)

        .setDescription(“<:emoji_21:1333869180251803761> This Holiday season, we’ve teamed up with **Discord** to give away FREE Nitro Rewards up until <t:1740769800:D>. Don’t miss out on this exclusive chance to win festive prizes!”)

        .setTitle(“<a:ledGift:1332118208492343409> **__NITRO REWARDS__** <a:ledGift:1332118208492343409>”)

        .setDescription(“> <:emoji_23:1333870326500691978> <@&1333812750069010502> `=` **Nitro Basic Monthly Gift** <:emoji_28:1333871348476284948>

> <:emoji_25:1333870350022213704> <@&1333812841584791663> `=` **Nitro Boost Monthly Gift** <:emoji_26:1333871309196628040>

> <a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027><a:xbar2:1333872892890579027>

> <:mor:1333084811585392690> <@&1333813046111371336> `=` **Nitro Temel Yıllık Hediye** <:emoji_29:1333872251933687858>

> <:emoji_22:1333870303897714791> <@&1333813136570187877> `=` **Nitro Boost Yıllık Hediyesi** <:emoji_26:1333871247120928788>”)

        .setThumbnail(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261817539118366791/8189-wumpus-ooo.png?ex=669456a8&is=66930528&hm=9ca8e1153cccde10eeb8fbff45cbd676c4e06316ca91bca0636ba8c9f6f28889&’)

       

        sabit düğme = yeni ButtonBuilder()

        .setCustomId(‘odulAl’)

        .setLabel(‘Ödül Al’) // Buton metni

        .setStyle(ButtonStyle.Success) // Düğme stili

        .setEmoji(‘1261820179713888338’); // Emoji ekleme

        sabit satır = yeni ActionRowBuilder().addComponents(düğme);

        const varolanMesajKimliÄŸi = db.get(`gömülüMesajKimliÄŸi_${kanalKimliÄŸi}`);

        eÄŸer (mevcutMesajKimliÄŸi) {

            denemek {

                sabit ileti = await etkileÅŸim.kanal.iletiler.getir(mevcutİletiKimliÄŸi);

                mesajı bekleyin.düzenle({ gömler: [göm], bileÅŸenler: [satır] });

                etkileÅŸimi bekleyin.cevap({ içerik: “Gömülü güncellendi!”, geçici: true });

            } (hata) yakala {

                console.error(“Mesaj güncellenirken bir hata oluÅŸtu:”, error);

                bekleme etkileÅŸimi.reply({ content: “Önceki mesaj güncellenemedi, yeni mesaj gönderiliyor.”, efemeral: true });

                const gönderilenMesaj = await etkileÅŸim.kanal.gönder({ gömler: [göm], bileÅŸenler: [satır] });

                db.set(`embedMessageId_${channelId}`, gönderilenMessage.id);

                etkileÅŸimi bekliyor.reply({ content: “Mesaj gönderildi!”, geçici: true });

            }

        } baÅŸka {

            const gönderilenMesaj = await etkileÅŸim.kanal.gönder({ gömler: [göm], bileÅŸenler: [satır] });

            db.set(`embedMessageId_${channelId}`, gönderilenMessage.id);

            etkileÅŸimi bekliyor.reply({ content: “Mesaj gönderildi!”, geçici: true });

        }

        istemci.on(‘etkileÅŸimOluÅŸtur’, async i => {

            eÄŸer (i.customId === ‘odulAl’ && i.isButton()) {

                sabit kullanıcıKimliÄŸi = i.kullanıcı.kimliÄŸi;

                // Tıklama sınırları kontrol etme

                eÄŸer (!clickTracker[kullanıcıKimliÄŸi]) {

                    clickTracker[kullanıcıKimliÄŸi] = [];

                }

                const ÅŸimdi = Date.now();

                clickTracker[kullanıcıId].push(ÅŸimdi);

                // Son 20 kiÅŸiden kaç tıklama yapıldığını kontrol et

                clickTracker[userId] = clickTracker[userId].filter(timestamp => ÅŸimdi – timestamp < 20000);

                eÄŸer (clickTracker[kullanıcıKimliÄŸi].length > 4) {

                    return i.reply({ content: “Bu kadar hızlı tıklamanız gerekir!”, ephemeral: true });

                }

                const loncaKimliÄŸi = i.guild.id;

                const davetSayısı = db.get(`davetSayısı_${kullanıcıKimliÄŸi}_${guildKimliÄŸi}`) || 0;

                sabit selectMenu = yeni StringSelectMenuBuilder()

                    .setCustomId(‘odulSec’)

                    .setPlaceholder(‘Hediye seçiniz!’)

                    .ekleSeçenekler([

                        {

                            etiket: `Nitro Basic`,

                            deÄŸer: ‘ntrbsc’,

                            açıklama: `3 Davet Karşılığında Nitro Basic`,

                            emoji: emojiler.nitrobasic ? { id: emojiler.nitrobasic.id } : tanımsız

                        },

                        {

                            etiket: `Nitro Boost`,

                            deÄŸer: ‘ntrbost’,

                            açıklama: `6 Davet Karşılığında Nitro Boost`,

                            emoji: emojis.nitroboost ? { id: emojis.nitroboost.id } : tanımsız

                        },

                        {

                            etiket: `10.000 Robux`,

                            deÄŸer: ‘10000rb’,

                            açıklama: `6 Davet Karşılığında 10.000 Robux`,

                            emoji: emojis.robux_png ? { id: emojis.robux_png.id } : tanımsız

                        },

                        {

                            etiket: `4.550 Robux`,

                            deÄŸer: ‘4550rb’,

                            açıklama: `3 Davet Karşılığında 4,550 Robux`,

                            emoji: emojis.robux_png ? { id: emojis.robux_png.id } : tanımsız

                        },

                    ]);

                sabit satır = yeni ActionRowBuilder().addComponents(selectMenu);

                await i.reply({ content: ‘Hediyenizi Seçiniz!’, components: [row], ephemeral: true });

                const selectFilter = i => i.customId === ‘odulSec’ && i.user.id === kullanıcıId;

                const selectCollector = i.channel.createMessageComponentCollector({ filtre: selectFilter, zaman: 60000 });

                selectCollector.on(‘topla’, async i => {

                    sabit seçiliDeÄŸer = i.deÄŸerler[0];

                    const selectedLabel = selectedValue === ‘4550rb’ ? `4.550 Robux` :

                    seçiliDeÄŸer === ‘10000rb’ ? `10.000 Robux` :

                    seçiliDeÄŸer === ‘ntrbsc’ ? `Nitro Basic` :

                    seçiliDeÄŸer === ‘ntrbost’ ? `Nitro Boost` :

                    ”;

                    eÄŸer ((seçiliDeÄŸer === ‘4550rb’ && davetSayısı < 3) || (seçiliDeÄŸer === ‘10000rb’ && davetSayısı < 6) || (seçiliDeÄŸer === ‘ntrbsc’ && davetSayısı < 3) || (seçiliDeÄŸer === ‘ntrbost’ && davetSayısı < 6)) {

                        return i.reply({ content: `${emojis.arrow ? `<:${emojis.arrow.name}:${emojis.arrow.id}>` : ”} Yeterli davetiniz yok. Åžu anda siz ** ${inviteCount}** davetiniz var.`, efemeral: true });

                    }

                    dmEmbed, kanalEmbed’e izin verin;

                    eÄŸer (seçilenDeÄŸer === ‘4550rb’) {

                        dmEmbed = yeni EmbedBuilder()

                            .setColor(“E1D094”)

                            .setDescription(`:tada: **Tebrikler 4.550 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} kazandınız!**\n\ Ödülünüze ulaÅŸmak için lütfen aÅŸağıdaki mesaja tıklayın ve ardından yetkilendirme butonuna basın!\n\n[4,550 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} için tıklayın.](https://discord.com)`);

                        kanalEmbed = yeni EmbedBuilder()

                            .setColor(“E1D094”)

                            .setTitle(`__4,550 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} Teslim Edildi__`)

                            .setDescription(`Bir üye, arkadaÅŸlarını davet ederek 4,550 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} kazandı. Siz de davet ederek $ {emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} yakala! 🎉\n\n_Ödülün tadını çıkarın! `<:${emojis.wumpus ? .name}:${emojis.wumpus.id}>` : ”}`)

                            .setThumbnail(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261805841393127497/1256702809471189134.webp?ex=66944bc3&is=6692fa43&hm=cd2eead4057d6553c5017e39cafc802643e83353f732fcee403b432dbfc0aae4&’);

                    } else if (seçiliDeÄŸer === ‘10000rb’) {

                        dmEmbed = yeni EmbedBuilder()

                            .setColor(“E1D094”)

                            .setDescription(`:tada: **Tebrikler 10.000 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} kazandınız!**\n\ Ödülünüze ulaÅŸmak için lütfen aÅŸağıdaki mesaja tıklayın ve ardından yetkilendirme butonuna basın!\n\n[10,000 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} için tıklayın.](https://discord.com)`);

                        kanalEmbed = yeni EmbedBuilder()

                            .setColor(“E1D094”)

                            .setTitle(`__10.000 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} Teslim Edildi__`)

                            .setDescription(`Bir üye, arkadaÅŸlarını davet ederek 10,000 ${emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} kazandı. Siz de davet ederek $ {emojis.robux_png ? `<:${emojis.robux_png.name}:${emojis.robux_png.id}>` : ”} yakala! 🎉\n\n_Ödülün tadını çıkarın! `<:${emojis.wumpus ? .name}:${emojis.wumpus.id}>` : ”}`)

                            .setThumbnail(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261805841393127497/1256702809471189134.webp?ex=66944bc3&is=6692fa43&hm=cd2eead4057d6553c5017e39cafc802643e83353f732fcee403b432dbfc0aae4&’);

                        } else if (seçiliDeÄŸer === ‘ntrbsc’) {

                            dmEmbed = yeni EmbedBuilder()

                                .setColor(“2A71D9”)

                                .setDescription(`:tada: **Tebrikler Nitro Basic ${emojis.nitrobasic ? `<:${emojis.nitrobasic.name}:${emojis.nitrobasic.id}>` : ”} kazandınız!**\n \nÖdülünüze ulaÅŸmak için lütfen aÅŸağıdaki mesaja tıklayın ve ardından yetkilendir butonuna basın!\n\n[Nitro Basic ${emojis.nitrobasic ? `<:${emojis.nitrobasic.name}:${emojis.nitrobasic.id}>` : ”} için tıklayın.](https://discord.com)`);

                        

                            kanalEmbed = yeni EmbedBuilder()

                                .setColor(“2A71D9”)

                                .setTitle(`__Nitro Basic ${emojis.nitrobasic ? `<:${emojis.nitrobasic.name}:${emojis.nitrobasic.id}>` : ”} Teslim Edildi__`)

                                .setDescription(`Bir üye, arkadaÅŸlarını davet ederek Nitro Basic ${emojis.nitrobasic ? `<:${emojis.nitrobasic.name}:${emojis.nitrobasic.id}>` : ”} kazandı. Siz de davet ederek ${emojis.nitrobasic ? `<:${emojis.nitrobasic.name}:${emojis.nitrobasic.id}>` : ”} alın! 🎉\n\n_Ödülün tadını çıkarın! `<:${emojis.wumpus ? .name}:${emojis.wumpus.id}>` : ”}`)

                                .setThumbnail(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261805660262105198/1257188136132280452.webp?ex=66944b98&is=6692fa18&hm=e770f1722076049ac83f44cbdde919a3a47d57afcd87c58082e0feb9e8dc1cc8&’)

                                .setImage(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261811873435619409/image.png?ex=66945161&is=6692ffe1&hm=e6a2e1e22f8e01d138cdcef7abd88afc97e95a99529bba08a38be185ae34689f&’);

                        

                        } else if (seçiliDeÄŸer === ‘ntrbost’) {

                            dmEmbed = yeni EmbedBuilder()

                                .setColor(“B74EAC”)

                                .setDescription(`:tada: **Tebrikler Nitro Boost ${emojis.nitroboost ? `<:${emojis.nitroboost.name}:${emojis.nitroboost.id}>` : ”} kazandınız!**\n \nÖdülünüze ulaÅŸmak için lütfen aÅŸağıdaki mesaja tıklayın ve ardından yetkilendir butonuna basın!\n\n[Nitro Boost ${emojis.nitroboost ? `<:${emojis.nitroboost.name}:${emojis.nitroboost.id}>` : ”} için tıklayın.](https://discord.com)`);

                        

                            kanalEmbed = yeni EmbedBuilder()

                                .setColor(“B74EAC”)

                                .setTitle(`__Nitro Boost ${emojis.nitroboost ? `<:${emojis.nitroboost.name}:${emojis.nitroboost.id}>` : ”} Teslim Edildi__`)

                                .setDescription(`Bir üye, arkadaÅŸlarını davet ederek Nitro Boost ${emojis.nitroboost ? `<:${emojis.nitroboost.name}:${emojis.nitroboost.id}>` : ”} kazandı. Siz de davet ederek ${emojis.nitroboost ? `<:${emojis.nitroboost.name}:${emojis.nitroboost.id}>` : ”} alın! 🎉\n\n_Ödülün tadını çıkarın! `<:${emojis.wumpus ? .name}:${emojis.wumpus.id}>` : ”}`)

                                .setThumbnail(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261805692189413468/1257188160694124564.webp?ex=66944ba0&is=6692fa20&hm=f8c8c9591479b9089f7d7b1a7e1c0010b2f167faedd57881b421efe12552e51a&’)

                                .setImage(‘https://cdn.discordapp.com/attachments/1258855139922546691/1261811504341192806/image.png?ex=66945109&is=6692ff89&hm=a25741a526267794aec62b52114551da2071d5393604b32809956ca879c93af5&’);

                        }

                        

                    

                    const kanalId = config.channels.kanallarımız;

                    eÄŸer (!kanalId) {

                        console.error(“kanalId’inizi belirtin. Lütfen config.json dosyanızı kontrol edin.”);

                        return i.reply({ content: “Ödül mesajının gönderileceÄŸi kanala kaydedilmedi. Lütfen gizlie kalmayın.”, ephemeral: true });

                    }

                    denemek {

                        i.user.send’i bekleyin({ gömülür: [dmEmbed] });

                        wait i.reply({ content: `${emojis.arrow ? `<:${emojis.arrow.name}:${emojis.arrow.id}>` : ”} Seçiminiz için teÅŸekkürler! **SeçtiÄŸiniz ödül: __${selectedLabel}__**`, bileÅŸenler: [], geçici: true });

                        sabit kanal = await istemci.kanallar.fetch(kanalId);

                        wait kanal.send({ embeds: [kanalEmbed] });

                    } (hata) yakala {

                        console.error(‘DM gönderilirken bir hata oluÅŸtu:’, error);

                        wait i.reply({ content: ‘DM gönderilirken bir hata oluÅŸtu. Lütfen DM\’lerinizi kontrol edin.’, bileÅŸenler: [], ephemeral: true });

                    }

                });

            }

        });

    }

};

Paste text,images,html and share with anyone
Scroll to Top