gpt4 book ai didi

javascript - 如何检查字符串在 ";say "的第一个实例之后是否不包含短语 ";say"?

转载 作者:行者123 更新时间:2023-11-28 14:07:20 28 4
gpt4 key购买 nike

在该人已经使用discord.js说过“;say”之后,我如何检查字符串是否不包含“;say”。

我想确保用户不会通过使用命令 ;say ;say ;say 或类似的命令来破坏我正在制作的机器人。

已解决,代码和注释:

client.on("message", msg => { // when user says something
if (msg.content.toLowerCase().includes(";say ") && ((msg.author.id) !== ("690979386354302977"))) { // if it includes, ";say" and is not being sent by the bot
msg.reply((msg.content).slice(5)) //say everything after the first 5 characters
}
})

这个机器人现在仍然有很多问题,但我迟早会修复它。

最佳答案

纯 JavaScript 几乎足以以一种良好且轻松的方式完成这项工作。

您只需雇用 RegExp.prototype.test()方法将测试您的输入字符串是否包含模式 ;say 后跟一些(或没有)字符(.*),然后再次重复( (\1)):

!/(;say).*(\1)/.test(str)

以下是快速演示:

console.log(!/(;say).*(\1)/.test('')) // true
console.log(!/(;say).*(\1)/.test('When you ;say something ;say')) // false
console.log(!/(;say).*(\1)/.test('When you ;say ;hey')) // true
.as-console-wrapper{min-height:100%;}

关于javascript - 如何检查字符串在 ";say "的第一个实例之后是否不包含短语 ";say"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60805394/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com