ID:160722
 
Ok so ive been focusing on improving my spam guard and have found one type of spam that i cant think of a way to get out and that random garble like this: "lkajdflka"

Its minimized by size and delays but cant seem to figure out a way to check for it that any body have any ideas how.
You could check for vowels. Other than that, I can't think of a good way aside from checking each word against a dictionary.
In the basic sense, you can't really feasibly prevent this. Also, if you already limit the amount of messages a player can send and their length, this should be no problem (though repeated use could always be forked over to moderators, of course). Really though, this isn't more obnoxious (IMO) than some people's so-called "English", either, which they tend to use most of the time (and would incidentally be likely to get caught by a measure taken to prevent the problem you're talking about).
The Best thing i can come up with is that you Create a List with all the words in the English Dictionary and then you check if each word is in the dictionary and if it isnt then you Send them the error report or whatever.

What i would do is Create a Small Application Which creates the list for you and i dont think it will be that hard, i might attempt in making that tommorrow so yeah give it a go.

var/Dictionary = list("(Dictionary List)");



-SubZeroChaos
In response to SubZeroChaos
Or you could check it against a pre-existing online dictionary instead of wasting a ton of space.
In response to Glarfugus
True, but it'd be very slow still, even if you cache the dictionary on world startup or whatnot. Remember, you're going to be comparing each 'word' against all the strings in the dictionary until you get a match. >:P
In response to Kaioken
Regardless, I don't see any method for doing this without it being trigger happy. There's the possibility of people who type like retarded monkeys, foreign langauges, slang, nicknames(e.g. Kaioken, Glarfugus :P), and so forth.
In response to Glarfugus
Glarfugus wrote:
Regardless, I don't see any method for doing this without it being trigger happy. There's the possibility of people who type like retarded monkeys, foreign langauges, slang, nicknames(e.g. Kaioken, Glarfugus :P), and so forth.

And don't forget the "netspeak dictionary" including words like dood and lol.
In response to Sctjkc01
If this idea were even feasible, I'd opt to leave the netspeak dictionary out.
In response to Popisfizzy
Don't forget - somebody is bound to use an "entry" in it. It's all over the net!
In response to Sctjkc01
That's pretty much the point.
In response to Popisfizzy
Well thanks for all the input, you pretty much confirmed my thoughts already that there isnt a real way. One thing i did think of but couldnt get it to work right was to check for a space and obviously the shorter ones would get through but if they tried and do a longer one it would cut it off before my character limit.

So try and check to see if there is a space in the first 12 letters or something (not very many words longer than 12 letters and yes i know there are) something like this

if(findtext(msg," ",1,12))
//continue with rest of code//
else
return 1 //this is just how i do my code cause its in a proc to search for banned words.

In response to NightJumper88
That's very easily bypassed with copy and paste and spacing.
In response to Glarfugus
Every spam guard is easily bypassed when you know what its looking for, there will be no spamguard able to stop everything that wouldnt use a whole bunch memory and cause lag this would be a pretty easy way to do it that wont use much memory

But further more you can easily point out the flaws and loop holes in other peoples code try posting a solution if your gonna shoot something down
In response to NightJumper88
There's no solution because it's inherently infeasible, as was said already.
Also, if you haven't realized it yet, your code will just block guys using legitimately one-word messages such as "Yes", "Hi", or what have you, and won't really have any actual beneficial effect, since players will simply add random spaces to their message, etc, as was also mentioned.
In response to Kaioken
Yes i know that there would be the flaw with one world messages and I was gonna add a if length was greater than 12 statement to prevent that, also like i said it easily bypass once you know what its looking for just like all the other spamguards,but the harder i make it to spam the less likely they will try to spam. I know there will not be a complete solution but there has to be something and I think my method would prevent easy spam.
Who cares if they do random letters, thats just them looking like tards, but a smart idea is to put a delay in text.

-WB



In response to World Build
Or to have active administration to stop the retard in the first place.
In response to Glarfugus
Hmm.

Glarfugus wrote:
<s>Or</s> And have active administration to stop the retard <s>in the first place</s> afterwards, actually, since you often wouldn't know he's a retard beforehand.

Fixed. :P
In response to Kaioken
I'm pretty sure you can tell a retard's a retard when they start spewing "HFBSFSDFHGFSFDFS" every quarter of a second, which is the goal of this topic...
Page: 1 2