Untitled

mail@pastecode.io avatar
unknown
javascript
23 days ago
2.1 kB
1
Indexable
Never
```const { Client, GatewayIntentBits, MessageActionRow, MessageSelectMenu } = require('discord.js');
const { token, channelId, role1, role2, role3 } = require('./config.json');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMembers,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent,
    ],
});

client.once('ready', () => {
    console.log('Bot is online!');

    // Seçenekler
    const options = [
        { label: 'Rol Al 🔄', value: 'roleRemove', emoji: '🔄' },
        { label: 'Role1 Ver 👑', value: 'role1Add', emoji: '👑' },
        { label: 'Role2 Ver 🛡️', value: 'role2Add', emoji: '🛡️' },
    ];

    // Select menu oluştur
    const row = new MessageActionRow().addComponents(
        new MessageSelectMenu()
            .setCustomId('select')
            .setPlaceholder('Seçenekleri görüntüle')
            .addOptions(options),
    );

    // Kanala mesajı gönder
    client.channels.cache.get(channelId).send({ content: 'Seçenekleri görüntülemek için aşağıdaki menüyü kullanın:', components: [row] });
});

client.on('interactionCreate', async interaction => {
    if (!interaction.isSelectMenu()) return;

    const selectedValue = interaction.values[0];

    switch (selectedValue) {
        case 'roleRemove':
            // Seçenek: Rol Al
            await interaction.member.roles.remove([role1, role2, role3]);
            await interaction.reply({ content: 'Roller alındı.', ephemeral: true });
            break;
        case 'role1Add':
            // Seçenek: Role1 Ver
            await interaction.member.roles.add(role1);
            await interaction.reply({ content: 'Role1 verildi.', ephemeral: true });
            break;
        case 'role2Add':
            // Seçenek: Role2 Ver
            await interaction.member.roles.add(role2);
            await interaction.reply({ content: 'Role2 verildi.', ephemeral: true });
            break;
        // Diğer seçenekler için case'leri buraya ekleyebilirsiniz
    }
});

client.login(token);
```
Leave a Comment