当前位置: 首页 > 知识库问答 >
问题:

(discord.js)不和谐机器人,删除任何包含正则表达式的消息

潘皓
2023-03-14

所以基本上,我想在这里做的是使用一个不和谐的机器人来自动删除服务器中发送的任何不和谐的消息,其中包含一个ip,即使它是无效的/超出范围。我有这个测试,如果它的作品,但我没有任何运气,有人能帮忙吗?(我遇到的问题是试图在discord.js而不是正则表达式中设置,我希望它删除0.0.0.0之间的任何内容- 999.999.999.999)

client.on消息

let regex = (/([0-9]{1,3}\.){3}[0-9]{1,3}/);
    if (regex.match(message.content))  {
        message.channel.send("Don't post IP's in chat!")
}

共有1个答案

姚骁
2023-03-14

RegExp。原型match()不是一个函数;我相信您正在寻找RegExp。原型test()

client.on('message', (message) => {
 let regex = /([0-9]{1,3}\.){3}[0-9]{1,3}/;
 if (regex.test(message.content)) {
  message.channel.send("Don't post IP's in chat!");
 }
});

您可能还想到了String。原型match(),反过来说:

client.on('message', (message) => {
 let regex = /([0-9]{1,3}\.){3}[0-9]{1,3}/;
 if (message.content.match(regex)) {
  message.channel.send("Don't post IP's in chat!");
 }
});

然而,在这种情况下,RegExp.prototype.test()是最有效的。

要删除消息,请使用消息。原型删除()

if (regex.test(message.content)) {
 message.delete();
 message.channel.send("Don't post IP's in chat!");
}
 类似资料:
  • 我使用Python3.6idle编写了一个bot,我想添加一个命令,但我不知道如何添加它。你们中的一些人能帮我举一些例子或建议吗?我会很高兴的,谢谢。

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码:

  • 我尝试了一个清除命令,它删除用户想要的不和谐频道中的消息量。然而,没有成功。 我希望机器人删除指定的消息量。然而,它没有回应。我已经使用了这种如果语句的方法来执行其他命令,比如检查你的ping,所以它很可能是删除消息的东西。

  • 我发现正则表达式不包含101,如下所示: 0*1*0*(1 00 000)*(010)* 我无法理解作者是如何想出这个正则表达式的。所以我只想到了不包含101的字符串: 01000100 我似乎上面的字符串不会与上面的正则表达式匹配。但我不确定。所以尝试在regex101.com上翻译成等效的pcre正则表达式,但也失败了(因为可以看到我的正则表达式甚至不匹配包含单个1的字符串。 我的翻译有什么问

  • 我需要一些“包含”和“不包含”的正则表达式。通常我会写: 包含:(.*WORD_A.*)$,不包含:(^((?!WORD_A.*)*)$ 如果单独使用,这很好,但我想写一些可以检测到的东西,比如“包含单词A和单词B”(顺序不相关!)和“包含单词A,但不包含单词B)。 基本上,我希望用户可以做出这样的声明“以单词a开头,包含单词B,但不是C和/或以D结尾”,程序返回真/假。最好的办法是只附加正则表达

  • 问题内容: 我有此RequestMapping: 我想添加该RequestMapping: 因此,它可以服务于所有“无出发”路线。但是,这会产生冲突,因为“ / route / to-destination-from-departure” URL实际上也与第二个RequestMapping匹配…很公平,所以我的解决方案是指定一个正则表达式: 因此,如果“目标”包含“ -from-”,则Reques