Discord Güvenlik Bot Kodlamaları

Katılım
10 Kas 2019
Konular
225
Mesajlar
1,057
Çözümler
19
Tepki puanı
1,049
Puanları
8,710
Bildiğiniz üzere bu aralar Discord sunucu patlatmaları çoğaldı.
Bunun bir nedeni ise botlar.
Herkes kendi botunu yapmaya çalışıyor ve bu botlardan elbet bir açık veriyor.
Bu açıklardan faydalanarak insanlar sizin yaptığınız bottan sunucuyu patlatıyor.
Peki bunu nasıl koruruz ve bunu nasıl önleriz hiç düşündünüz mü?
Bu konumda sizlere nasıl sunucuzu koruyabilirsiniz onu anlatacağım.

Peki bu ne işe yarayacak?
Birisi sizin sunucunuzdan herhangi bir kanalı silmeye kalktığında bunu önleyecektir.
Sizin sunucunuza bot sokmaya çalıştığında bunu önleyecektir.
Sunucunuza DDOS saldırısı olduğu zaman sunucunuzun bölgesini değiştirecektir.
Sunucunuza FAKE KULLANICI saldırı yapıldığı zaman bunu önleyecektir.
Birisi chatte siz varken ya da yokken flood&spam yaparsa ona otomatik olarak mute atacaktır.
Birisi sunucunuzda rol silmeye kalktığında buna kesinlikle izin vermeyecektir ve size mesaj atacaktır bu bilgiye dair.
Yani kısacası bu sizin çok işinize yarayacak arkadaşlar.
Yapmanız gereken sadece aşağıdaki adımları uygulamak.

İlk olarak bize doğal olarak bir bot lazım. Bu botu yaptıktan sonra içine sizlere birazdan vermiş olduğum kodlamaları yapıştırın.

ROL KORUMA KODLAMASI
Ne İşe Yarar?

Sunucunuzda birisi rol silmeye kalktığında bunu engeller ve size (Sunucu Sahibine) otomatik olarak mesaj atar.
Alttaki kodlama komutlar bölümüne atılacaktır.
JavaScript:
const db = require("quick.db");
const Discord = require("discord.js");
const ayarlar = require("../ayarlar.json");

exports.run = async (client, message, args) => {
  let prefix = (await db.fetch(`prefix_${message.guild.id}`)) || "a!";

  if (!args[0]) {
    const embed = new Discord.RichEmbed()
      .setColor("GOLD")
      .setTitle("Rol Koruma sistemi!")
      .setDescription(
        "**Hatalı kullanım! örnek: -rol-koruma aç && kapat**"
      );

    message.channel.send(embed);
    return;
  }
  let rol = await db.fetch(`rolk_${message.guild.id}`);
  if (args[0] == "aç") {
    if (rol) {
      const embed = new Discord.RichEmbed()
        .setColor("BLACK")
        .setTitle("Rol Koruma sistemi!")
        .setDescription("**Dostum Zaten Rol Koruma Sistemi Aktif !!**");

      message.channel.send(embed);
      return;
    } else {
      db.set(`rolk_${message.guild.id}`, "acik");
      const embed = new Discord.RichEmbed()
        .setColor("BLACK")
        .setTitle("Oyuncular Şehri Rol Koruma sistemi!")
        .setDescription("**Rol Koruma Sistemi Aktif Halde ... Silinen Rolleri Tekrar Açacağım Ve Size Bildiriceğim !**");

      message.channel.send(embed);
    }
  } else if (args[0] == "kapat") {
    db.delete(`rolk_${message.guild.id}`);
    const embed = new Discord.RichEmbed()
      .setColor("BLACK")
      .setTitle("Oyuncular Şehri Rol Koruma sistemi!")
      .setDescription("**Rol Koruma Sistemi Kapatıldı !**");

    message.channel.send(embed);
  }
};
exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: ["rol-k"],
  permLevel: 3,
  kategori: "sunucu"
};

exports.help = {
  name: "rol-koruma",
  description: "Rol koruma",
  usage: "rol-koruma"
};

Yukardaki kodlamayı komutlar bölümüne attıktan sonra bu kodlama sadece bu şekilde çalışmayacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.

JavaScript:
client.on("roleDelete", async(role , channel , message , guild) => {
  let rolkoruma = await db.fetch(`rolk_${role.guild.id}`);
    if (rolkoruma == "acik") {
  role.guild.createRole({name: role.name, color: role.color,  permissions: role.permissions})
        role.guild.owner.send(` **${role.name}** Adlı Rol Silindi Ve Ben Rolü Tekrar Oluşturdum  :white_check_mark::`)


}
})


KANAL KORUMA SİSTEMİ
Ne İşe Yarar?

Bu kodlama sunucunuzda birisi kanal sildiği zaman bunu önleyecektir.
Aynı özelliklere sahip olan kanalı tekrardan oluşturacaktır.
Yapmanız gereken tek şey IDNIZ yazan yere kendi idnizi yazmanız.
Bu sayede siz kanal sildiğiniz zaman bot buna karışmayacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on("channelDelete", async channel => {
  const logs = await channel.guild.fetchAuditLogs({ type: 'CHANNEL_DELETE' }).then(audit => audit.entries.first())
  const deleter = await channel.guild.members.get(logs.executor.id);
  if(deleter.id == "IDNIZ") return; //bu satıra kendi id'nizi yazın sizin kanal silmenizi engellemeyecektir
  channel.clone(undefined, true, true, "Oyuncular Şehri Kanal silme koruması sistemi").then(async klon => {
    await klon.setParent(channel.parent);
    await klon.setPosition(channel.position);
  })
})

DDOS KORUMASI
Ne İşe Yarar?
Birisi sunucunun bulunduğu bölgeye DDOS saldırısı yaparsa sunucunuzu bundan koruyacaktır.
Otomatik olarak sunucunuzun bölgesini değiştirecektir.
Sunucu sahibine bu konu hakkında mesaj atacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on('message', msg => {

if(client.ping > 2500) {

            let bölgeler = ['singapore', 'eu-central', 'india', 'us-central', 'london',
            'eu-west', 'amsterdam', 'brazil', 'us-west', 'hongkong',
            'us-south', 'southafrica', 'us-east', 'sydney', 'frankfurt',
            'russia']
           let yenibölge = bölgeler[Math.floor(Math.random() * bölgeler.length)]
           let sChannel = msg.guild.channels.find(c => c.name === "ddos-system")

           sChannel.send(`Sunucu'ya Vuruyorlar \nSunucu Bölgesini Değiştirdim \n __**${yenibölge}**__ :tik: __**Sunucu Pingimiz**__ :`+ client.ping)
           msg.guild.setRegion(yenibölge)
           .then(g => console.log(" bölge:" + g.region))
           .then(g => msg.channel.send("bölge **"+ g.region  + " olarak değişti"))
           .catch(console.error);
}});

SPAM KORUMASI
Ne İşe Yarar?

Chatte birisi Spam&Flood attığı zaman bunu engeller ve işlem uygular.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
const antispam = require("discord-anti-spam-tr");

antispam(client, {
  uyarmaSınırı: 4,
  banlamaSınırı: 7,
  aralık: 1000,
  uyarmaMesajı: "Spamı Durdur Yoksa Mutelerim.",
  rolMesajı: "Spam için yasaklandı, başka biri var mı?",
  maxSpamUyarı: 8,
  maxSpamBan: 12,
  zaman: 7,
  rolİsimi: "spam-susturulmuş"
});

BOT ENGELLEME KORUMASI
Ne İşe Yarar?
Botunuzda bu kodlama olduğu sürece hiç kimse sunucunuza bot sokamaz!
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on("guildMemberAdd", async member => {
if (!member.user.bot) return;
await member.guild.ban(member.guild.member(member))
})
 
Katılım
2 Mar 2020
Konular
61
Mesajlar
365
Çözümler
3
Tepki puanı
397
Puanları
3,310
Teşekkür ederim yararlı konu olmuş canısı, iyi forumlar.
 
  • Beğen
Tepkiler: IlkerKuzey
Katılım
17 Mar 2020
Konular
69
Mesajlar
460
Tepki puanı
297
Puanları
3,560
Yararlı konu olmuş, ellerine sağlık. 🙂 (y)
 
Katılım
26 Eki 2020
Konular
1
Mesajlar
4
Tepki puanı
0
Puanları
1,505
ellerine sağlık güzel paylaşım olmuş
 
Katılım
13 Kas 2019
Konular
41
Mesajlar
398
Tepki puanı
291
Puanları
3,310
Ne kadar çok kapsamlı bir konu olmuş ellerine sağlık.
 
Katılım
28 Mar 2021
Konular
0
Mesajlar
1
Tepki puanı
0
Puanları
705
spa
Bildiğiniz üzere bu aralar Discord sunucu patlatmaları çoğaldı.
Bunun bir nedeni ise botlar.
Herkes kendi botunu yapmaya çalışıyor ve bu botlardan elbet bir açık veriyor.
Bu açıklardan faydalanarak insanlar sizin yaptığınız bottan sunucuyu patlatıyor.
Peki bunu nasıl koruruz ve bunu nasıl önleriz hiç düşündünüz mü?
Bu konumda sizlere nasıl sunucuzu koruyabilirsiniz onu anlatacağım.

Peki bu ne işe yarayacak?
Birisi sizin sunucunuzdan herhangi bir kanalı silmeye kalktığında bunu önleyecektir.
Sizin sunucunuza bot sokmaya çalıştığında bunu önleyecektir.
Sunucunuza DDOS saldırısı olduğu zaman sunucunuzun bölgesini değiştirecektir.
Sunucunuza FAKE KULLANICI saldırı yapıldığı zaman bunu önleyecektir.
Birisi chatte siz varken ya da yokken flood&spam yaparsa ona otomatik olarak mute atacaktır.
Birisi sunucunuzda rol silmeye kalktığında buna kesinlikle izin vermeyecektir ve size mesaj atacaktır bu bilgiye dair.
Yani kısacası bu sizin çok işinize yarayacak arkadaşlar.
Yapmanız gereken sadece aşağıdaki adımları uygulamak.

İlk olarak bize doğal olarak bir bot lazım. Bu botu yaptıktan sonra içine sizlere birazdan vermiş olduğum kodlamaları yapıştırın.

ROL KORUMA KODLAMASI
Ne İşe Yarar?

Sunucunuzda birisi rol silmeye kalktığında bunu engeller ve size (Sunucu Sahibine) otomatik olarak mesaj atar.
Alttaki kodlama komutlar bölümüne atılacaktır.
JavaScript:
const db = require("quick.db");
const Discord = require("discord.js");
const ayarlar = require("../ayarlar.json");

exports.run = async (client, message, args) => {
  let prefix = (await db.fetch(`prefix_${message.guild.id}`)) || "a!";

  if (!args[0]) {
    const embed = new Discord.RichEmbed()
      .setColor("GOLD")
      .setTitle("Rol Koruma sistemi!")
      .setDescription(
        "**Hatalı kullanım! örnek: -rol-koruma aç && kapat**"
      );

    message.channel.send(embed);
    return;
  }
  let rol = await db.fetch(`rolk_${message.guild.id}`);
  if (args[0] == "aç") {
    if (rol) {
      const embed = new Discord.RichEmbed()
        .setColor("BLACK")
        .setTitle("Rol Koruma sistemi!")
        .setDescription("**Dostum Zaten Rol Koruma Sistemi Aktif !!**");

      message.channel.send(embed);
      return;
    } else {
      db.set(`rolk_${message.guild.id}`, "acik");
      const embed = new Discord.RichEmbed()
        .setColor("BLACK")
        .setTitle("Oyuncular Şehri Rol Koruma sistemi!")
        .setDescription("**Rol Koruma Sistemi Aktif Halde ... Silinen Rolleri Tekrar Açacağım Ve Size Bildiriceğim !**");

      message.channel.send(embed);
    }
  } else if (args[0] == "kapat") {
    db.delete(`rolk_${message.guild.id}`);
    const embed = new Discord.RichEmbed()
      .setColor("BLACK")
      .setTitle("Oyuncular Şehri Rol Koruma sistemi!")
      .setDescription("**Rol Koruma Sistemi Kapatıldı !**");

    message.channel.send(embed);
  }
};
exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: ["rol-k"],
  permLevel: 3,
  kategori: "sunucu"
};

exports.help = {
  name: "rol-koruma",
  description: "Rol koruma",
  usage: "rol-koruma"
};

Yukardaki kodlamayı komutlar bölümüne attıktan sonra bu kodlama sadece bu şekilde çalışmayacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.

JavaScript:
client.on("roleDelete", async(role , channel , message , guild) => {
  let rolkoruma = await db.fetch(`rolk_${role.guild.id}`);
    if (rolkoruma == "acik") {
  role.guild.createRole({name: role.name, color: role.color,  permissions: role.permissions})
        role.guild.owner.send(` **${role.name}** Adlı Rol Silindi Ve Ben Rolü Tekrar Oluşturdum  :white_check_mark::`)


}
})


KANAL KORUMA SİSTEMİ
Ne İşe Yarar?

Bu kodlama sunucunuzda birisi kanal sildiği zaman bunu önleyecektir.
Aynı özelliklere sahip olan kanalı tekrardan oluşturacaktır.
Yapmanız gereken tek şey IDNIZ yazan yere kendi idnizi yazmanız.
Bu sayede siz kanal sildiğiniz zaman bot buna karışmayacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on("channelDelete", async channel => {
  const logs = await channel.guild.fetchAuditLogs({ type: 'CHANNEL_DELETE' }).then(audit => audit.entries.first())
  const deleter = await channel.guild.members.get(logs.executor.id);
  if(deleter.id == "IDNIZ") return; //bu satıra kendi id'nizi yazın sizin kanal silmenizi engellemeyecektir
  channel.clone(undefined, true, true, "Oyuncular Şehri Kanal silme koruması sistemi").then(async klon => {
    await klon.setParent(channel.parent);
    await klon.setPosition(channel.position);
  })
})

DDOS KORUMASI
Ne İşe Yarar?
Birisi sunucunun bulunduğu bölgeye DDOS saldırısı yaparsa sunucunuzu bundan koruyacaktır.
Otomatik olarak sunucunuzun bölgesini değiştirecektir.
Sunucu sahibine bu konu hakkında mesaj atacaktır.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on('message', msg => {

if(client.ping > 2500) {

            let bölgeler = ['singapore', 'eu-central', 'india', 'us-central', 'london',
            'eu-west', 'amsterdam', 'brazil', 'us-west', 'hongkong',
            'us-south', 'southafrica', 'us-east', 'sydney', 'frankfurt',
            'russia']
           let yenibölge = bölgeler[Math.floor(Math.random() * bölgeler.length)]
           let sChannel = msg.guild.channels.find(c => c.name === "ddos-system")

           sChannel.send(`Sunucu'ya Vuruyorlar \nSunucu Bölgesini Değiştirdim \n __**${yenibölge}**__ :tik: __**Sunucu Pingimiz**__ :`+ client.ping)
           msg.guild.setRegion(yenibölge)
           .then(g => console.log(" bölge:" + g.region))
           .then(g => msg.channel.send("bölge **"+ g.region  + " olarak değişti"))
           .catch(console.error);
}});

SPAM KORUMASI
Ne İşe Yarar?

Chatte birisi Spam&Flood attığı zaman bunu engeller ve işlem uygular.
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
const antispam = require("discord-anti-spam-tr");

antispam(client, {
  uyarmaSınırı: 4,
  banlamaSınırı: 7,
  aralık: 1000,
  uyarmaMesajı: "Spamı Durdur Yoksa Mutelerim.",
  rolMesajı: "Spam için yasaklandı, başka biri var mı?",
  maxSpamUyarı: 8,
  maxSpamBan: 12,
  zaman: 7,
  rolİsimi: "spam-susturulmuş"
});

BOT ENGELLEME KORUMASI
Ne İşe Yarar?
Botunuzda bu kodlama olduğu sürece hiç kimse sunucunuza bot sokamaz!
Alttaki kodlamayı MAİN (bot.js , server.js , index.js) klasörünüze atın.
JavaScript:
client.on("guildMemberAdd", async member => {
if (!member.user.bot) return;
await member.guild.ban(member.guild.member(member))
})
spam koruma register register botuna spam durdur diyor
 
Katılım
3 Nis 2021
Konular
4
Mesajlar
18
Tepki puanı
5
Puanları
2,510
v12 RoleDelete Eventi;
JavaScript:
client.on("roleDelete", async(role , channel , message , guild) => {
  let rolkoruma = await db.fetch(`rolk_${role.guild.id}`);
    if (rolkoruma == "acik") {
    role.guild.createRole({
      name: role.name,
      color: role.color,
      permissions: role.permissions,
      position: role.rawPosition,
      hoist: role.hoist,
      mentionable: role.mentionable,
    })
    role.guild.owner.send(` **${role.name}** Adlı Rol Silindi Ve Ben Rolü Tekrar Oluşturdum  :white_check_mark::`)
}
})