Discord 仅允许特定频道中的链接

Discord 仅允许特定频道中的链接,discord,discord.js,Discord,Discord.js,我想知道你们中是否有人能在这里帮助我,我想让一个频道成为只链接,这意味着如果你试图在那里键入或发送消息,它将被机器人删除,并说“错误!这个频道只用于链接”,就像你对要删除的链接进行筛选一样。感谢所有能够提供任何帮助和示例的人。在您的消息事件中,您可以检查消息是否在唯一链接频道中发送,如果是,请对照RegExp()检查消息。内容,以确定是否应允许该消息 if(message.channel===message.guild.channels.find(channel=>channel.name===

我想知道你们中是否有人能在这里帮助我,我想让一个频道成为只链接,这意味着如果你试图在那里键入或发送消息,它将被机器人删除,并说“错误!这个频道只用于链接”,就像你对要删除的链接进行筛选一样。感谢所有能够提供任何帮助和示例的人。

在您的
消息
事件中,您可以检查消息是否在唯一链接频道中发送,如果是,请对照
RegExp()
检查
消息。内容
,以确定是否应允许该消息

if(message.channel===message.guild.channels.find(channel=>channel.name===='links only')){
const linkRegex=new RegExp(/https?:\/\/(www\)?[-a-zA-Z0-9:%.\+~\=]{1256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%.\+.~\+&/=*])/g)
if(!linkRegex.test(message.content)){
message.delete()
message.reply('这是一个仅链接的频道')。然后(msg=>msg.delete(5000))
}
}

在您的
消息
事件中,您可以检查消息是否在“唯一链接”频道中发送,如果是,请对照
RegExp()
检查
消息内容
,以确定是否允许该消息

if(message.channel===message.guild.channels.find(channel=>channel.name===='links only')){
const linkRegex=new RegExp(/https?:\/\/(www\)?[-a-zA-Z0-9:%.\+~\=]{1256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%.\+.~\+&/=*])/g)
if(!linkRegex.test(message.content)){
message.delete()
message.reply('这是一个仅链接的频道')。然后(msg=>msg.delete(5000))
}
}

非常感谢您的帮助,如果您能将代码重新格式化为v11.5,因为我还没有迁移到v12,那将非常感谢您。谢谢您,这有点效果,我只是使用了您提供的一个,但在删除第一条消息后,机器人不会停止。它不断地发送“这是一个仅链接的频道”,几乎是因为它检测到机器人正在那里发送文本,所以它就像一个循环。我修复了它,抱歉缺少括号,如果答案解决了你的问题,那么请接受它。不,它仍然是同一个问题,就像我说的,它检测到机器人也在发送文本,因此它会一次又一次地删除,我所做的唯一修复是删除最后一部分,其中显示message.reply,并将其保留为message.delete insteadOh,您应该有
if(message.author.bot)return在您的
消息中
不管发生什么。非常感谢您的帮助,如果您能将代码重新格式化为v11.5,因为我还没有迁移到v12,那将非常感谢您。谢谢您,它起到了一定的作用,我刚刚使用了你提供的一个,但是在删除第一条消息后,机器人并没有停止。它不断地发送“这是一个仅链接的频道”,几乎是因为它检测到机器人正在那里发送文本,所以它就像一个循环。我修复了它,抱歉缺少括号,如果答案解决了你的问题,那么请接受它。不,它仍然是同一个问题,就像我说的,它检测到机器人也在发送文本,因此它会一次又一次地删除,我所做的唯一修复是删除最后一部分,其中显示message.reply,并将其保留为message.delete insteadOh,您应该有
if(message.author.bot)return消息
事件中选择code>,而不考虑任何事情。