Untitled
unknown
javascript
2 years ago
2.1 kB
4
Indexable
```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);
```Editor is loading...
Leave a Comment