Code: Select all
set bnickxero {
"all4m"
"a||4m"
"aII4m"
"banger"
"suicide"
"siucide"
"hotter"
"h0tter"
"s*exy"
"needgirl"
"ne3dgirl"
"n3edglrl"
"n33dglrl"
"n3edg|rl"
"o-r-a-l"
"l3sbl"
"l3sbl"
"lesb|"
"l3sb|"
"lesbian"
"l3sbian"
"lesbion"
"l3sbion"
"f2f"
"f2f"
"niple"
"merried"
"meried"
"hotcam"
"bedroom"
"gentlebiter"
"bedro0m"
"bedr00m"
"bedr0om"
"naked"
"nudist"
"0inch"
"1inch"
"2inch"
"3inch"
"4inch"
"5inch"
"6inch"
"7inch"
"8inch"
"9inch"
"prostitut"
"HOMO"
"h0mo"
"hom0"
"gay"
"assho"
"pussy"
"[censored]"
"animal"
"cam2cam"
"cock"
"romantic"
"webcam"
"ugly"
"hotgirl"
"dick"
"suck"
"[censored]"
"tits"
"boob"
"sex"
"terror"
"pedo"
"whore"
"slut"
"hotmale"
"hotfemale"
"hotgirl"
"hotwoman"
"hotwomen"
"hotman"
"hotmen"
"skype"
"whatsapp"
"maried"
"Shortclips"
"want"
"btm"
"kuzz"
"phudd"
"phudi"
"phuud"
"lulla"
"kanj*r"
"randi"
"choot"
"madarchod"
"chodu"
"kuss"
"wife"
"died"
"b2b"
"onlyboy"
"moth*r"
"shalwar"
"madarlun"
"husband"
"breast"
"breasst"
"69"
"h*tb*y"
"chikna"
}
set kickreasonxero "choose a more apropriate nick thank you"
bind join - * join:RanaUsmanxero
bind nick - * nick:tvrshxero
proc nick:tvrshxero {nick uhost hand chan newnick} {
join:RanaUsman $newnick $uhost $hand $chan
}
proc join:RanaUsmanxero {nick uhost hand chan} {
global bnickxero kickreasonxero temp
regsub -all -- {(.)\1+} $nick {\1} nick2x2
if {($nick != $::botnick)} {
set temp 0
foreach ixo [string tolower $bnickxero] {
if {[string match *$ixo* [string tolower $nick]] && ![string match -nocase *guest* $nick]} {
set badpart $ixo
set temp 1
}
}
}
if {!$temp} { return } {
pushmode $chan +b *$badpart*!*@*
putserv "kick $chan $nick :$kickreasonxero"
}
}
like setting bans on host and ident and such while we wanted to store and check on join with *nick*!*@* to see if any bad parts match
also lot of similar tcls that have pub command to add and del badnicks have
stored bad nicks in a text file so it would need to loop the file on each joining nick wich isnt effiecient when the list is potentially large.