DİSCORD V13 GELİŞMİŞ SÜRELİ MUTE

CengizUmut

Yazar Şefi
Moderatör
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}`); }, };