Home > OS >  Dsicord js setup anti raid
Dsicord js setup anti raid

Time:12-25

Good evening I made a bot anti raid but when I mark the command &setup to setup the bot (if a perosnne delete or add a role etc) that is kick ban a derank but I get this error :

/home/container/languages/fr.js:233
list: (dms, dmss, e, i) => `${i   1}・**${e.name}**\n Activé: ${dmss.find(x => x.type === e.name).enabled ? ':white_check_mark:' : ':x:'}\n **Détecté en ${Math.ceil(numAverage(dms.filter(x => x.type === e.name).map(x => x.timeout)))}ms**\n Nombre d'alertes maximums: **${dmss.find(x => x.type === e.name).max}**\n Temps d'intervale: **${ms(dmss.find(x => x.type === e.name).time, { long: true })}**\n Sanctions: **${dmss.find(x => x.type === e.name).sanctions}**\n\n`
TypeError: Cannot read properties of undefined (reading 'enabled')
at Object.list (/home/container/languages/fr.js:233:111)
at /home/container/commands/admin/setup.js:178:66
at Array.map (<anonymous>)
at Object.execute (/home/container/commands/admin/setup.js:178:22)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

CodePudding user response:

And here is the code that makes crash I hesitated to put it because it is long

const { MessageEmbed, DiscordAPIError } = require('discord.js')
const client = require('../index')
const moment = require('moment')
const ms = require('ms')
const date = require('date-and-time');


function duration(mss) {
    const sec = Math.floor((mss / 1000) % 60).toString()
    const min = Math.floor((mss / (1000 * 60)) % 60).toString()
    const hrs = Math.floor((mss / (1000 * 60 * 60)) % 60).toString()
    return `${hrs.padStart(2, '') == "0" ? "" : `**${hrs.padStart(2, '')}** heures, `}${min.padStart(2, '') == "0" ? "" : `**${min.padStart(2, '')}** minutes et `}**${sec.padStart(2, '')}** secondes.`
}

function numAverage(a) {
    var b = a.length,
        c = 0, i;
    for (i = 0; i < b; i  ) {
        c  = Number(a[i]);
    }
    return c / b;
}

let status = {
    'online': '<:online:761980233519464458>',
    'idle': '<:idle:761980404881948673>',
    'offline': '<:invisible:761980539359592508>',
    'dnd': '<:dnd:761980584452292608>',
}

let activity = {
    'PLAYING': 'Joue à',
    'STREAMING': 'Streame',
    'LISTENING': 'Écoute',
    'WATCHING': 'Regarde',
}

module.exports = {
    local: "fr_FR",
    formatPermission: (p) => {
        return p.replace("CREATE_INSTANT_INVITE", `Créer un invitations`)
            .replace("ADMINISTRATOR", `Administrateur`)
            .replace("KICK_MEMBERS", `Expulser des membres`)
            .replace("BAN_MEMBERS", `Bannir des membres`)
            .replace("MANAGE_CHANNELS", `Gérer les salons`)
            .replace("MANAGE_GUILD", `Gérer le serveur`)
            .replace("ADD_REACTIONS", `Ajouter des réactions`)
            .replace("VIEW_AUDIT_LOG", `Voir les logs du serveur`)
            .replace("PRIORITY_SPEAKER", `Voix prioritaire`)
            .replace("STREAM", `Lancer un stream`)
            .replace("VIEW_CHANNEL", `Lire les salons textuels & voir les salons vocaux`)
            .replace("SEND_MESSAGES", `Envoyer des messages`)
            .replace("SEND_TTS_MESSAGES", `Envoyer des messages TTS`)
            .replace("MANAGE_MESSAGES", `Gérer les messages`)
            .replace("EMBED_LINKS", `Intégrer des liens`)
            .replace("ATTACH_FILES", `Joindre des fichiers`)
            .replace("READ_MESSAGE_HISTORY", `Voir les anciens messages`)
            .replace("MENTION_EVERYONE", `Mentionner @everyone, @here et tous les rôles`)
            .replace("USE_EXTERNAL_EMOJIS", `$Utiliser des émojis externe`)
            .replace("VIEW_GUILD_INSIGHTS", `Voir les analyses du serveur`)
            .replace("CONNECT", `Se connecter`)
            .replace("SPEAK", `Parler`)
            .replace("MUTE_MEMBERS", `Couper les micros de membres`)
            .replace("DEAFEN_MEMBERS", `Mettre en sourdine des membres`)
            .replace("MOVE_MEMBERS", `Déplacer des membres`)
            .replace("USE_VAD", `Utiliser la détection de la voix`)
            .replace("CHANGE_NICKNAME", `Changer le pseudo`)
            .replace("MANAGE_NICKNAMES", `Gérer les pseudos`)
            .replace("MANAGE_ROLES", `Gérer les rôles`)
            .replace("MANAGE_WEBHOOKS", `Gérer les webhooks`)
            .replace("MANAGE_EMOJIS", `Gérer les émojis`)
    },
    error: (cmd, error, options) => {
        if (error == "args") {
            return `:x: | Usage incorrect !\nDescription: ${client.translator("fr")[client.commands.get(cmd.name).class][cmd.name].description}\nUsage: \`${options ? options.prefix : client.config.prefix}${cmd.name} ${client.translator("fr")[client.commands.get(cmd.name).class][cmd.name].usage}\`\nExemple: \`${options ? options.prefix : client.config.prefix}${cmd.name} ${client.translator("fr")[client.commands.get(cmd.name).class][cmd.name].example}\``
        }
        if (error == "userPermissions") {
            return `:x: | Vous n'avez pas les permissions suffisantes pour faire cette commande. (${options.permissions.map(p => `\`${p}\``).join("")})`
        }
        if (error == "botPermissions") {
            return `:x: | Je n'ai pas les permissions suffisantes pour faire cette commande. (${options.permissions.map(p => `\`${p}\``).join("")})`
        }
        if (error == "ownerOnly") {
            return `:x: | Seulement ${options.owners.length > 1 ? options.owners.map(o => client.users.cache.get(o).tag).slice(0, -1).join(', ')   ' et '   options.owners.map(o => client.users.cache.get(o).tag).slice(-1) : client.users.cache.get(options.owners[0]).tag} ${options.owners.length > 1 ? 'peuvent' : 'peut'} faire cette commande !`
        }
        if (error == "notInVoiceChannel") {
            if (options && options.mentionUser) return `${options.user}, vous n'êtes pas dans un salon vocal.`
            return `:x: | Vous n'êtes pas dans un salon vocal.`
        }
        if (error == "cooldown") {
            return `           
  • Related