如果消息有很多大写字母,机器人检测到并删除。
这是我的代码:
if (msg.content.length >= 10 && msg.content.toUpperCase()) {
msg.delete();
}
但是这个代码,如果消息有11个字就删除。请帮我。提前致谢
答案 0 :(得分:0)
您可以使用正则表达式来获取所有大写字母,计算找到的数量并在那里执行您的逻辑。
在这个例子中,我创建了一个函数来删除包含超过 10 个大写字母的消息。
const msg = "This Is a MESSAGE"
const msg2 = "THIS IS A MESSAGE"
const allowedAmount = 10
function deleteIfManyUppercase(msg) {
const uppercaseLetters = msg.match(/[A-Z]/g)
if (uppercaseLetters.length > allowedAmount) {
console.log("Delete Msg", msg)
// msg.delete()
}
}
deleteIfManyUppercase(msg)
deleteIfManyUppercase(msg2)