Как настроить фильтр Discord Invite? - PullRequest
2 голосов
/ 03 мая 2020

Я хочу создать работающий фильтр Discord Invite, который можно настраивать, и вы можете размещать рекламу на каналах, добавленных в список исключений. Я создал код ранее, но он не работает должным образом. Вот код:

if (message.content.includes("https://discord.gg/")) {
    if (!db.fetch(`${message.guild.id}.antiad`) ||
      db.fetch(`${message.guild.id}.antiad`) == "disabled" ||
      message.channel.id == db.fetch(`${message.guild.id}.exceptionChannels.${message.channel.id}`))
      return;
    try {
      message.delete();
      let embed = new Discord.RichEmbed()
        .setDescription(
          `<@${message.author.id}>, you cannot advertise here!`
        )
        .setColor("RED");
      message.channel.send(embed);
    } catch (err) {
      console.log(err);
    }
  }

Кстати, я не получаю никаких сообщений об ошибках в своей консоли. Кто-нибудь знает, как мне помочь с этим? Спасибо за любую помощь.

1 Ответ

1 голос
/ 03 мая 2020

Вы можете создать RegExp и проверить, содержит ли контент ссылку для приглашения:

const inviteRegex = new RegExp(/(https?:\/\/)?(www\.)?(discord\.(gg|io|me|li)|discordapp\.com\/invite)\/.+[a-z]/g);
if (!inviteRegex.test(message.content) {
    message.delete({ reason: 'Advertising' });
    return message.reply('You can not advertise here!');
}
...