Обнаружение ссылок в сообщениях в Discord.js - PullRequest
0 голосов
/ 14 октября 2018

Я новичок в discord.js.Я пытаюсь проверить, есть ли в сообщении ссылка типа «Привет, я с discord.gg/xxxxx, и теперь я буду спамить мою ссылку».
Как проверить, содержит ли сообщение ссылку?

Ответы [ 4 ]

0 голосов
/ 19 декабря 2018

Я считаю, что это лучшее:

let regx = /^((?:https?:)?\/\/)?((?:www|m)\.)? ((?:discord\.gg|discordapp\.com))/g
let cdu = regx.test(message.content.toLowerCase().replace(/\s+/g, ''))

Скажите, работает ли оно!

0 голосов
/ 16 октября 2018

Вы можете попробовать это:

bot.on(`message`, async message => {
    const bannedWords = [`discord.gg`, `.gg/`, `.gg /`, `. gg /`, `. gg/`, `discord .gg /`, `discord.gg /`, `discord .gg/`, `discord .gg`, `discord . gg`, `discord. gg`, `discord gg`, `discordgg`, `discord gg /`]
    try {
        if (bannedWords.some(word => message.content.toLowerCase().includes(word))) {
            if (message.author.id === message.guild.ownerID) return;
            await message.delete();
            await message.channel.send(`You cannot send invites to other Discord servers`);
        }
    } catch (e) {
        console.log(e);
    }
};
0 голосов
/ 31 октября 2018

Я не уверен, хотите ли вы проверять наличие разногласий по приглашению, или если вы хотите проверить все ссылки.В любом случае вы можете использовать message.content.includes.

Пример:

bot.on('message', (message) => { //whenever a message is sent
  if (message.content.includes('discord.gg/'||'discordapp.com/invite/')) { //if it contains an invite link
    message.delete() //delete the message
      .then(message.channel.send('Link Deleted:\n**Invite links are not permitted on this server**'))
  }
})

0 голосов
/ 14 октября 2018

Вы можете проверить это, используя Регулярные выражения (RegEX)

Пример :

// The message to check for a Discord link
var message = "Hi, please join discord.gg/a2dsc for cool conversations";

// The message will be tested on "discord.gg/{any character or digit}"
var containsDiscordUrl = message.test(/discord.gg\/\w*\d*);

// If the test has found a URL..
if (containsDiscordUrl) { // ... Do something }
...