Fix dezalgo
Changes how dezalgo works. Still filters zalgo text without breaking languages. Removes zalgo tolerance because it's not really necessary with this system.
This commit is contained in:
parent
e44f687030
commit
4ca54e8761
@ -109,7 +109,7 @@ void AOClient::pktLoadingDone(AreaData* area, int argc, QStringList argv, AOPack
|
||||
sendPacket("OPPASS", {"DEADBEEF"});
|
||||
sendPacket("DONE");
|
||||
sendPacket("BN", {area->background});
|
||||
|
||||
|
||||
sendServerMessage("=== MOTD ===\r\n" + server->MOTD + "\r\n=============");
|
||||
|
||||
fullArup(); // Give client all the area data
|
||||
@ -185,7 +185,7 @@ void AOClient::pktOocChat(AreaData* area, int argc, QStringList argv, AOPacket p
|
||||
sendServerMessage("Your name is too long! Please limit it to under 30 characters.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
QString message = dezalgo(argv[1]);
|
||||
if (message.length() == 0 || message.length() > server->max_chars)
|
||||
return;
|
||||
@ -770,7 +770,7 @@ AOPacket AOClient::validateIcPacket(AOPacket packet)
|
||||
|
||||
QString AOClient::dezalgo(QString p_text)
|
||||
{
|
||||
QRegExp rxp("([\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f\u115f\u1160\u3164]{" + QRegExp::escape(QString::number(server->zalgo_tolerance)) + ",})");
|
||||
QRegularExpression rxp("([̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡])");
|
||||
QString filtered = p_text.replace(rxp, "");
|
||||
return filtered;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user