Discord botları için ban komutu.

EmirTMR

Kalfa
Moderatör
24 Eki 2020
52
1
5



Merhaba, bot yapımcıları için bir ban komutu paylaşıyorum !

Her iki komuttada gerekli modüller: quick.db ve discord.js

Hepinize başarılar...

JavaScript:
const Discord = require('discord.js');
const db = require('quick.db');

exports.run = async (bot, message, args) => {
    let reason = args.slice(1).join(' ')
    if (!args[0]) return message.channel.send('Bir kullanıcı etiketlemelisin..')
    let user = message.mentions.users.array()[1];

    if (!user) return message.channel.send('Kullanıcıyı bulamadım.')
    let member = message.guild.member(user)
    if (!member) return message.channel.send('Kullanıcıyı **bulamadım.**')
    if (member.hasPermission("MANAGE_MESSAGES")) return message.channel.send('Yetkilileri atamam.')
    if (!reason) reason = 'Neden belirtilmemiş.'

    message.guild.member(user).ban(reason + ` | Yetkili: ${message.author.tag} - ${message.author.id}`)
 
    message.channel.send(`**${user.tag}** Başarıyla **banlandı!**`)
 
  let modlogK = await db.fetch(`membermodChannel_${message.guild.id}`)
  let embed = new Discord.MessageEmbed()
  .setColor("#FF0000")
  .setAuthor(`${user.username} adlı kişi yasaklandı!`, user.avatarURL||user.defaultAvatarURL)
  .addField('Banlanan Kullanıcı', `**${user.tag}** **[**\`${user.id}\`**]**`, true)
  .addField('Ban atan Yetkili', `**${message.author.tag}** **[**\`${message.author.id}\`**]**`, true)
  .addField('Banlanma Nedeni', reason, true);
  message.guild.channels.cache.get(modlogK).send(embed) 
};

exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: [],
  permLevel: 3
};

exports.help = {
  name: 'ban',
  description: 'İstediğiniz kişiyi sunucudan atar.',
  usage: 'kick [kullanıcı] [sebep]'
};


Discord.JS versionu v12.2.0'dır.

Ayriyetten ban komutu için bir adette mod-log komutu gerekmektedir. Aşağıda veriyorum.

JavaScript:
const Discord = require('discord.js')
const db = require('quick.db');

exports.run = async (client, message, args) => {
if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send(`Bu komutu kullanabilmek için "\`Yönetici\`" yetkisine sahip olmalısın.`);
 
  let channel = message.mentions.channels.first()
 
  if(args[0] === "sıfırla") {
    if(!args[0]) {
      message.channel.send(`Ayarlanmayan Şeyi Sıfırlayamazsın.`)
      return
    }
    
    db.delete(`membermodChannel_${message.guild.id}`)
    message.channel.send(`Log Kanalı Başarıyla Sıfırlandı.`)
    return
  }
 
    if (!channel) {
        return message.channel.send(`Log kanalı olarak ayarlamak istediğin kanalı etiketlemelisin.`)
    }
 
    db.set(`membermodChannel_${message.guild.id}`, channel.id)
 
    const embed = new Discord.MessageEmbed()
    .setDescription(`Log kanalı başarıyla ${channel} olarak ayarlandı.`)
    .setColor("RANDOM")
    message.channel.send(embed)};
    
exports.conf = {
    enabled: true,
    guildOnly: false,
    aliases: [],
    permLevel: 3
}

exports.help = {
    name: 'modlog',
    description: 'Log kanalını ayarlar..',
    usage: 'log-ayarla <#kanal>'
}


Konuma yorum yapmayı, beğenmeyi unutmayın !