This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Removing Spamming bots with strange nicks

Old posts that have not been replied to for several years.
User avatar
user
 
Posts: 1452
Joined: Tue Mar 18, 2003 9:58 pm
Location: Norway

Post by user »

Sir_Fz wrote:yeah, that's not a bad idea. but still there are some nicks that are not in a dictionary (as have no meaning), so it might be more messy than the regexp mentioned.
That's the beauty of my method (I think/hope), because even if they're not real words most nicks SOUND like real words. Except strange nicks like where a number becomes a couple of chars in a word etc...but these could be translated to chars with a 'string map' before the soundex is made (in most cases) and the rest would be allowed to re-enter through the /msg command
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

yeah ur right, It might be a good idea for a script. also we might add a system that if 5 nicknames of this kind join in a certain period of time the bot locks the chan...
like the bogus username join.
User avatar
z_one
Master
Posts: 269
Joined: Mon Jan 14, 2002 8:00 pm
Location: Canada

Post by z_one »

Isn't the "y" a vowel ?
There are 6 vowels: a, e, o, u, i and y
As I understand, your code is supposed to look for all vowels because spam nicks (as your code assumes but it's not necessarily always the case) are made up of consonants.
For example the nick: wdvghhn

Anyway it's really up to you whether you decide to include the "y" or not.
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

did anyone test those regular expressions?
Elen sila lúmenn' omentielvo
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

yeah I did.

Its actualy pretty good. although there are 1 or 2 innoscent users being kicked every hour. but it also bans flooders using random nicks. so it would be better if someone can give a way to lock the channel if 3 nicks join together in X seconds. :)

Z_one: well its not about vowels, the code I gave doesn't include y in it. (I'm not the one who coded it)
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

hmmm..

Code: Select all

regexp {^[^aeiou_^-`]+$} $nick
return 1 even if - is in the nick

Code: Select all

regexp {[^0-9]?$} $nick
return 1 no mather what
try changing the if-test to

Code: Select all

if {[regexp {^[^aeiou_^`-]+$} $nick] \ 
&& [regexp {^[^0-9]+$} $nick] \ 
&& ([string length $nick] > 3)} {...}
Elen sila lúmenn' omentielvo
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

ok did that :)

Will tell you if its better now.
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

I haven't noticed anything different.

but I noticed that using this regexp it kicks user with a nick all CAPS. like for example if user "SIRFZ" joins, it gets kicked. what's the reason ? (Note that this is not a change after Papillon modified the code, it also happened when using TsT's code.)
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

well, that's easily fixed, just add -nocase as option to the first regexp... like this:

Code: Select all

regexp -nocase -- {^[^aeiou_^`-]+$} $nick
Elen sila lúmenn' omentielvo
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

ok it worked :) thank you.
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

is there a way to add "\" into the regexp ? cuz some nicks have \, most of them are bot

like regexp -nocase -- {^[^aeiou_\^`-]+$} $nick (but i know that slashes are used to separate, so how to do it ?)
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

just escape it with another \

Code: Select all

regexp -nocase -- {^[^aeiou\\_^`-]+$} $nick
Elen sila lúmenn' omentielvo
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

thanx :)
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

well :oops: , last request.

how can u make it also check for random idents like these ?
User avatar
Papillon
Owner
Posts: 724
Joined: Fri Feb 15, 2002 8:00 pm
Location: *.no

Post by Papillon »

do a whois when the user/bot joins. Then catch the whois-reply with bind raw and just add the same if-check in there... when you have pulled out the ident from all the input ofcourse :)
Elen sila lúmenn' omentielvo
Locked