I want to block my user from using too many capital letters in the same message (i.e typing in full CAPS LOCK). I tried this, but it doesn't seem to work if they put spaces between capital letters; here is my current code:
client.on("message", async (msg) => {
let sChannel = msg.guild.channels.find((c) => c.name === "guard-log");
if (msg.channel.type === "dm") return;
if (msg.author.bot) return;
if (msg.content.length > 15) {
if (db.fetch(`capslock_${msg.guild.id}`)) {
let caps = msg.content.replace(" ", "").toUpperCase();
if (msg.content == caps) {
if (!msg.member.hasPermission("ADMINISTRATOR")) {
if (!msg.mentions.users.first()) {
msg.delete();
let embed = new Discord.RichEmbed()
.setColor(0xffa300)
.setFooter("Retro Guard", client.user.avatarURL)
.setTitle("Caps-lock Engel")
.setDescription("Fazla caps lock kullanımı yakalandı!")
.addField("Kanal Adı", msg.channel.name, true)
.addField(
"Kişi",
"Kullanıcı: " + msg.author.tag + "\nID: " + msg.author.id,
true
)
.addField("Engellenen mesaj", "```" + msg.content + "```", true)
.setTimestamp();
sChannel.send(embed);
return msg.channel
.send(`${msg.author} fazla caps kullanıyorsun.`)
.then((m) => m.delete(5000));
}
}
}
}
}
});