Discord En Sağlam Komutlar (Anti-Raid)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
HackIstanbul 2019 Preselection Writeup Members
Seçkin Üye
Katılım
8 May 2018
Mesajlar
314
Tepki puanı
100
8 HİZMET YILI
Merhaba Dostlar Bugünlük Size Yardım Uzatabileceğim ve Aradığınız Kodlardan Birisi Anti Link, Anti Spam ve Koruma yani genel adıyla Anti-Raid Olarak Tanımlanıyor .
Fazla Uzatmadan Komutları atayım Bu arada glitch'den botunuzun komutlarını yazmayın bir takım mataryallerle botunuzun açık kaynak kodunu bulabilirler vs çalabilirler)
Kod:
const Discord = require("discord.js");
const client = new Discord.Client();

client.on("ready", () => {
  console.log("kk");
  client.user.setGame(client.guilds.size + " servers / al!help")
});

client.on("message", (message) => {
  if (message.content.includes("https://")) {
    console.log("deleted " + message.content + " from " + message.author)
    message.delete(1);
    message.channel.sendMessage("No links here, " + message.author)
  }
  if (message.content.includes("http://")) {
    console.log("deleted " + message.content + " from " + message.author)
    message.delete(1);
    message.channel.sendMessage("No links here, " + message.author)
  }
  if (message.content.includes("www.")) {
    console.log("deleted " + message.content + " from " + message.author)
    message.delete(1);
    message.channel.sendMessage("No links here, " + message.author)
  }
  if (message.content.includes("al!help")) {
    console.log("help from " + message.author)
    message.channel.sendMessage("Hello, " + message.author + "! My main purpose is to protect your server from unwanted links, but I have commands too!\n**al!invite** - Invite bot to your server\n**al!ping** - Ping-pong\n**al!changelog** - Bot changelog\nMore commands to come in future!")
  }
  if (message.content.startsWith("al!invite")) {
    console.log("invite from " + message.author)
    message.channel.sendMessage("discordapp.com/oauth2/authorize?client_id=395881404027633665&scope=bot&permissions=58368")
  }
  if (message.content.startsWith("al!ping")) {
    console.log("ping from " + message.author)
    message.channel.sendMessage("Pong! " + client.ping + "ms.")
  }
  if (message.content.startsWith("al!changelog")) {
    console.log("changelog from " + message.author)
    message.channel.sendMessage("Hello! I (owner, <@284980083104415746>) will try to post any changes did to bot there.\n```\n04.01.2018\n- [BETA] message when bot joins a server\n03.01.2018\n- Changelog added\n- Some kind of smarter protection\n01.01.2018\n- Unpublic help\n28.12.2017\n- First version.\n```")
  }
});

client.on("guildCreate", guild => {
  console.log("Nowy serwer, " + guild.name)
  client.user.setGame(client.guilds.size + " servers / al!help")
});

client.on("guildDelete", guild => {
  console.log("usuniety, " + guild.name)
  client.user.setGame(client.guilds.size + " servers / al!help")
});

[CODE]const program = require('commander');
const moment  = require('moment-timezone');
const Eris    = require('eris');
const request = require('request');
const fs      = require('fs');
const path    = require('path');
const util    = require('util');
const paste   = require('better-pastebin');
const Config  = require('./src/Config');

const owner = process.env.OWNER_ID;
paste.setDevKey(process.env.PASTEBIN_DEV_KEY);

process.on('uncaughtException', function (err) {
    console.log(err);
});

function loadFiles(bot, directory) {
    fs.readdir(path.join(__dirname, 'src', directory), (err, files) => {
        console.log(`Loading ${files.length} ${directory} files...`);
        if (err) {
            return console.error(err);
        }
       
        if (!files) {
            console.error('No command files.');
        } else {
            for (let file of files) {
                if (path.extname(file) !== '.js' || file.indexOf('Abstract') >= 0) {
                    continue;
                }
               
                let cls      = require(`./src/${directory}/${file}`);
                let instance = new cls(bot);
                console.log(`Added ${directory}: ${instance.name || file}`);
                if (directory === 'Command' && instance.subCommands && instance.subCommands.length > 0) {
                    for (let subCls of instance.subCommands) {
                        let subInstance = new subCls(bot, instance.command);
                        console.log(`Added sub${directory}: ${subInstance.name}`)
                    }
                }
            }
            console.log('Finished.')
        }
    });
   
}

program
    .version('0.0.1')
    .arguments('<token> <prefix> [shards]')
    .action((token, prefix, shards) => {
        let bot = new Eris.CommandClient(token, {getAllUsers: true, maxShards: parseInt(shards, 10) || 1}, {
            description: "Anti-Raid Bot",
            owner:       `<@${owner}>`,
            prefix:      prefix
        });
       
        bot.banQueues  = [];
        bot.kickQueues = [];
       
        bot.config = new Config(prefix);
       
        Eris.Message.prototype.reply      = async function (content, file) {
            return await bot.createMessage(this.channel.id, content, file);
        };
        Eris.Message.prototype.edit       = async function (content) {
            return await bot.editMessage(this.channel.id, this.id, content);
        };
        Eris.Message.prototype.delete     = async function () {
            return await this.channel.deleteMessage(this.id);
        };
        Eris.Client.prototype.createPaste = async function (channelId, message, pasteSettings) {
            if (typeof message === 'object') {
                pasteSettings = message;
                message       = "";
            }
           
            return new Promise((resolve, reject) => {
                paste.login(process.env.PASTEBIN_USERNAME, process.env.PASTEBIN_PASSWORD, (success, data) => {
                    if (!success) {
                        console.log("Failed (" + data + ")");
                        return reject(data);
                    }
                   
                    paste.create(pasteSettings, async (success, data) => {
                        if (!success) {
                            console.log("Failed (" + data + ")");
                            return reject(data);
                        }
                       
                        resolve(await bot.createMessage(channelId, message.length > 0 ? message + "\n" + data : data));
                    });
                })
            })
        };
       
        bot.on("ready", () => {
            console.log("Ready!");
            console.log(bot.guilds.size + " guilds registered");
           
            if (process.env.NODE_ENV === 'production') {
                bot.config.getAll().then(guilds => {
                    for (let guild of guilds) {
                        bot.registerGuildPrefix(guild.guildId, guild.prefix || prefix)
                    }
                });
            }
        });
        bot.on('connect', id => console.log("Shard Connected: " + id));
        //bot.on('debug', console.log);
        bot.on('warn', console.log);
        bot.on('error', console.log);
        bot.on('messageCreate', msg => {
            if (!msg.command) {
                return;
            }
           
            let builder = "";
           
            const channel = msg.channel;
            const guild   = channel.guild;
           
            builder += "\x1b[34m";
            builder += !guild ? "[Private Message]" : `[${guild.name}] [#${channel.name}]`;
            builder += "\x1b[32m";
            builder += ` <@${msg.author.id}> ${msg.author.username}:`;
            builder += "\x1b[39m";
            builder += ` ${msg.content.replace("\n", "").replace("\r", "")}`;
           
            console.log(builder);
        });
       
        loadFiles(bot, 'Subscriber');
        loadFiles(bot, 'Command');
       
        bot.connect();
    })
    .parse(process.argv);
client.login("token");[/CODE]

Kod:
onst Discord = require('discord.js');
const antispam = require('discord-anti-spam'); // Requiring this module.
const client = new Discord.Client();

client.on('ready', () => {
  // Module Configuration Constructor
   antispam(client, {
        warnBuffer: 3, // Maximum ammount of messages allowed to send in the interval time before getting warned.
        maxBuffer: 5, // Maximum amount of messages allowed to send in the interval time before getting banned.
        interval: 2000, // Amount of time in ms users can send the maxim amount of messages(maxBuffer) before getting banned.
        warningMessage: "please stop spamming!", // Message users receive when warned. (message starts with '@User, ' so you only need to input continue of it.)
        banMessage: "has been hit by ban hammer for spamming!", // Message sent in chat when user is banned. (message starts with '@User, ' so you only need to input continue of it.)
        maxDuplicatesWarning: 7,// Maximum amount of duplicate messages a user can send in a timespan before getting warned.
        maxDuplicatesBan: 10, // Maximum amount of duplicate messages a user can send in a timespan before getting banned.
        deleteMessagesAfterBanForPastDays: 7, // Deletes the message history of the banned user in x days.
        exemptRoles: ["Moderator"], // Name of roles (case sensitive) that are exempt from spam filter.
        exemptUsers: ["MrAugu#9016"] // The Discord tags of the users (e.g: MrAugu#9016) (case sensitive) that are exempt from spam filter.
      });
     
  // Rest of your code
});

client.on('message', msg => {
  client.emit('checkMessage', msg); // This runs the filter on any message bot receives in any guilds.

  // Rest of your code
}

client.login('token');

Kod:
const Discord = require('discord.js');

exports.run = (client, message, args) => {
    const low = require('lowdb')
    const FileSync = require('lowdb/adapters/FileSync')
    const adapter = new FileSync('./db.json')
    const db = low(adapter)
    let arg = message.content.split(" ").slice(1);
    let id = arg.join(" ")
    if (!db.get("blacklist_users").find({ user_id: id }).value()) {
        message.channel.send("**:x: L'ID " + id + " ne figure pas dans la blacklist.**")
    } else {
        const get_motif = db.get("blacklist_users").find({ user_id: id }).value()
        let motif_msg = ''
        if (!get_motif) motif_msg = ":x: Aucune raison définie."
        else {
            let motif_message = Object.values(get_motif)
            motif_msg = motif_message[1]
        }
        message.channel.send("**:white_check_mark: L'ID " + id + " est dans la blacklist pour la raison suivante : __" + motif_msg + "__ !**")
    }
}

Beğenmeyi Unutmayın Discord vs gibi ne gibi konular açmamı öneriyorsunuz yorumlarda belirtirseniz sevinirim
 
ÖLÜM ÖLÜM DEDİĞİN NEDİR Kİ GÜLÜM
Efsane Üye
Katılım
26 Şub 2016
Mesajlar
11,174
Çözümler
139
Tepki puanı
3,968
Ödüller
19
Yaş
27
10 HİZMET YILI
Konu gayet süper olmuş başarıların devamını dilerim :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst