- Katılım
- 7 May 2023
- Konular
- 17
- Mesajlar
- 34
- Tepki puanı
- 39
- Puanları
- 810
Merhaba değerli forum üyeleri, bu gün sizlere gelişmiş v13 süreli mute komutunu paylaşacağım.
const { SlashCommandBuilder } = require('discord.js');
const ms = require('ms');
module.exports = {
data: new SlashCommandBuilder()
.setName('tempmute')
.setDescription('Belirli bir süreyle bir kullanıcıyı susturur.')
.addUserOption(option =>
option.setName('user').setDescription('Susturulacak kullanıcıyı seçin.').setRequired(true)
)
.addStringOption(option =>
option.setName('duration').setDescription('Susturma süresini belirtin. (Örn: 1d, 2h, 30m)').setRequired(true)
)
.addStringOption(option =>
option.setName('reason').setDescription('Susturma sebebini belirtin.').setRequired(true)
),
async execute(interaction) {
// Belirtilen role sahip olmayan kullanıcıların komutu kullanmasını engelleme
if (!interaction.member.roles.cache.has('rol-id')) {
return interaction.reply({
content: 'Bu komutu kullanmaya yetkiniz yok!',
ephemeral: true,
});
}
const user = interaction.options.getUser('user');
const duration = interaction.options.getString('duration');
const reason = interaction.options.getString('reason');
const muteRole = interaction.guild.roles.cache.find(role => role.name === 'Muted'); // Susturulmuş rolünün adını buraya yazın
if (!muteRole) {
return interaction.reply({
content: 'Susturulmuş rolü bulunamadı! Lütfen rol ayarlarını kontrol edin.',
ephemeral: true,
});
}
// Kullanıcıyı susturma işlemini gerçekleştirme
await interaction.guild.members.cache.get(user.id).roles.add(muteRole);
// Süreli susturma süresini hesaplama ve ayarlama
const muteDuration = ms(duration);
setTimeout(async () => {
await interaction.guild.members.cache.get(user.id).roles.remove(muteRole);
interaction.followUp(`**${user.tag}** kullanıcısının susturması süresi sona erdi.`);
}, muteDuration);
interaction.reply(`**${user.tag}** kullanıcısı, **${duration}** süresiyle susturuldu!\nSebep: ${reason}`);
},
};