Разрешить ссылки только в указанном c канале - PullRequest
0 голосов
/ 05 мая 2020

Мне было интересно, может ли кто-нибудь из вас, ребята, помочь мне здесь, я хотел бы сделать канал только для ссылок, то есть, если вы попытаетесь ввести или отправить сообщение, оно будет удалено бот говорит что-то вроде «ОШИБКА! Этот канал предназначен только для ссылок», как если бы вы выполняли фильтр для удаления ссылок. Спасибо всем, кто мог предоставить какую-либо помощь и примеры.

1 Ответ

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

в вашем событии message вы можете проверить, было ли сообщение отправлено в канал единственных ссылок, если это так, проверьте message.content против RegExp(), чтобы определить, должно ли это быть разрешено или нет.

if (message.channel === message.guild.channels.find(channel => channel.name === 'links-only')) {
        const linkRegex = new RegExp(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g)
        if (!linkRegex.test(message.content)) {
            message.delete()
            message.reply('this is a link-only channel').then(msg => msg.delete(5000))
        }
    }
...