const client = require('../index'); const linkSchema = require("../models/antilink"); const { MessageEmbed } = require('discord.js'); const { Permissions } = require('discord.js'); client.on("messageCreate", async (message) => { const data = await linkSchema.findOne({ Guild: message.guild.id }); if(!data) return; if (!message.guild) return; if (!message.member.permissions.has([Permissions.FLAGS.MANAGE_MESSAGES, Permissions.FLAGS.ADMINISTRATOR])) return; function deleteMessage() { message.delete(); let e = new MessageEmbed() .setDescription(`${message.author} vous ne pouvez pas envoyer de liens ici.`) return message.channel.send({ embeds: [e] }) .then(msg => { setTimeout(() => msg.delete(), 3000) }) } const links = ["discord.gg/", "discord.com/invite"]; const forbiddenLinks = ["discord.io/"]; forbiddenLinks.forEach((link) => { if(message.content.includes(link)) return deleteMessage(); }) for (const link of links) { if (!message.content.includes(link)) return; const code = message.content.split(link)[1].split(" ")[0]; const isGuildInvite = message.guild.invites.cache.has(code) if (!isGuildInvite) { try { const vanity = await message.guild.fetchVanityData(); if (code !== vanity?.code) return deleteMessage(); } catch (err) { deleteMessage(); } } } if(data === 'off') return; return deleteMessage() == null });