IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 22 Aralık 2011, 03:49   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
scanx tcl hata




(file ``scripts/scanx.tcl``Line 430)
``source scripts /Scanx Tcl``
(file Default.Conf```Line 1373

arkadaslar scanx tcl yükledigimde böyle birsey yaziyor ne yapacam yardimci olurmusun



 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 22 Aralık 2011, 17:30   #2
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




ustalar kimsecikler yardimci olmayacak mi cok Konu aciyordum diyemi yardim etmiyorsunuz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
bilmek ögrenmek istiyorum ne olur yardimci ollun bana scanx hakkinda abilerim

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 20:10   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




1373. satırda hata olduğunu belirtiyor.

TCL herhangi bir değişiklik yaptınız mı?

Yaptıysanız, yaptığınız bölümü buraya kopyalayın, yardımcı olmaya çalışalım.

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 22:19   #4
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




clubber usta ben hu hattayi nasil bulacam o kadar cok ki 1373 satrini ?

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 22:23   #5
Çevrimdışı
Neo
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




Ssh'da tclyi acin ve oncelikle ctrl +w yapin ardindan ctrl + t yapin ve 1373 yazip enterlayin satiri bulsun. Yada tcl'yi bilgisayariniza indirip editplus yardimiylada satiri bulabilrisiniz.

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 22:35   #6
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




ya baska yönetimi yok mu yani googlede yapamazmiyim bunu tcl yi kopyalayim bi yere koyup bu hattalati gösteren web sitesi yok mu

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 22:54   #7
Çevrimdışı
Neo
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




Tupac Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
ya baska yönetimi yok mu yani googlede yapamazmiyim bunu tcl yi kopyalayim bi yere koyup bu hattalati gösteren web sitesi yok mu


Sen TCL'Yi komple buraya kopyala en iyisi @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 23:54   #8
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




koplayamaya calisinca bu cikiyor


Fatal error: Maximum execution time of 30 seconds exceeded in /home/ircforum/public_html/includes/functions.php on line 1838

 
Alıntı ile Cevapla

Alt 22 Aralık 2011, 23:55   #9
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




################################################## #############
## ScanX v.2 By SaW ##
## ScanX Komple Koruma Sistemi ##
## Daha önce ilk versionunu çýkardýðýn ScanX'in bu, birçok ##
## hatalarýnýn giderildiði ve yeni özelliklerin eklendiði ##
## ikinci versionudur. Deðiþtirmeniz gereken yerleri ##
## belirttim. Onun haricindeki yerleri ve özellikle botun ##
## adýný deðiþtirmemeniz önemle rica olunur. Unutmayýnýz ki##
## bunun için gerekli önlemler alýnabilirdi ancak bu ##
## saygýyý göstereceðinize inanýyorum. ##
## bu ücretsiz bir versiondur, gereken saygýyý göstermeniz ##
## dileðiyle.. ##
## Bu tcl'nin hazýrlanmasýnda özellikle kanal korumalarý ##
## için AllProtection.tcl (Sir_Fz), kanal loglama, seen, ##
## rss okuyucu, ve stat özellikleri için ##
## mevcut tcl'lerden faydanýlmýþtýr. ##
## onun haricindeki kodlar þahsýma aittir. Kaynak ##
## belirtmeden kullananlar, kullanýlmasý durumunda þahsým ##
## tarafýndan gerek görüldüðü takdirde gerek görüldüðü ##
## þekilde ifþa edileceklerdir. ##
## Tüm öneri, eleþtiri, görüþ ve istekleriniz için ##
## abdullah_tas@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].com adresine mail atarak ##
## iletebilirsiniz. Ayný zamanda msn adresimdir. ##
################################################## #############

################################################## #############
## Botun gireceði global kanallar. Bu kanallar Confta da ##
## Belirtilmiþ olmalýdýr. Ve Admin kanalýný belirliyoruz ##
## Kanal sayýsýný artýrýp azaltabilirsiniz. ##
################################################## #############
set globalkanallar {
"#kanal1"
"#kanal2"
"#kanal3"
"#kanal4"
"#kanal5" ;#Bu kanalý deðiþtiðiniz takdirde rss okuyucusunun ayarlarýndaki #haber'leri deðiþmeniz gerekmektedir.
"#kanal6"
"#help"
}

set admin_chan "#master"

set ScanXsifre "12345" ;#Nick þifresidir.

################################################## #############
## Bot sunucu üzerinde aþaðýda belirleyeceðiniz sayýdan daha ##
## daha fazla user olan kanala otomatik olarak girer ve ##
## kanalý korumaya alýr. Default olarak 5 ayarlanmýþtýr. ##
################################################## #############

set usersayisi 5

################################################## #############
## Bulunduðu kanallara oto limit ayarlamaktadýr. Default ##
## 15 olarak ayarlýdýr. isterseniz deðiþtirebilirsiniz. ##
################################################## #############

set scnxlmt "15"

################################################## #############
##Oper ekleme komutlarýný kullanabilecek kiþinin nicki ve ##
##komutu kullanýrken yazmasý gereken þifreyi seçiniz. ##
## !!!Mutlaka deðiþtiriniz!!! ##
################################################## #############

set sahip "SaW"
set ssifre "1234"

############################################
# Flaglar En doðru þekilde ayarlanmýþtýr. #
# Dilerseniz yine de deðiþtirebilirsiniz. #
############################################

set nflags "oOrHhwgckbBnGLKdqvtzZCAaNXW"
set ssflags "oOrHhwgckbBnGLKdqvtzZCAaW"
set sflags "oOrHhwgckbBnGLKdvtzZCAW"
set cflags "oOrHhwgckbBnGLKdvtzZC"
set iflags "orHhwgckbBnGLK"

################################################## #############
##Benzer identlerle yapýlan saldýrý korumalarýnda korumanýn ##
##devre dýþý kalacaðý ident'leri seçiniz. ##
################################################## #############

set muafidentler {
"ident1"
"ident2"
}

################################################## #############
## Özele reklam korumasý. Ekleme çýkarma yapabilirsiniz ##
## wildcard kullanýmý vardýr. ##
################################################## #############

set sbreklams {
"*w*w*w*n*e*t"
"*v*v*v*n*e*t*"
"*w*w*v*com*"
"*w*v*v*c*0*m*"
"*v*v*v*c*0*m*"
"*v*w*v*c*0*m*"
"*w*v*v*com*"
"*v*w*v*com*"
"*w*w*w*o*r*g*"
"*w*w*w*c*o*m*"
"*v*v*v*tc*gs*"
"*w*w*w*tc*gs*"
"*v?v*tc*gs*"
"*irc*net*"
"*irc*com*"
"*irc*org*"
"*irc*gen*"
"*i?r?c*c*o*m*"
"*@*c*o*m*"
"*@*hot*"
"*@*de*"
"*@*fr*"
"*Msnde*"
"*tl*tc"
"*tc*vg*"
"sikis"
"*o?r?o?s??u*"
"*oros??u*"
"*o?ros?u"
"*or?os?u"
}

################################################## ######
##Kötü identler. ##
################################################## ######

set bident(idents) {
"*yarra*"
"*siktig*"
"*siktið*"
"*doyumsuz*"
"*jigolo*"
"*cigolo*"
"*****"
"evli*"
"*seks*"
"*ibne*"
"*gay*"
"*lezb*"
"*yatak*"
"*lezo"
"*lez*"
"*sikic*"
"*siker*"
"*kayar*"
"*msn*"
"*amcý*"
"*1*cm*"
"*2*cm*"
"*yarak*"
"*yalar*"
"pic"
"---*"
"grub*"
"grup*"
"playboy*"
"gotcu*"
"göt*"
"amse?er*"
"*amyarar*"
"*skici*"
"*iskerim*"
"*sikse*"
"*darbel*"
"*sakso*"
"*skiyom*"
"*sanalsk*"
"*snlsx"
"*iri?sk*"
"verici*"
"aktif*"
"*pasif*"
"*atesli*"
"*azg?n*"
"*az?g?n*"
"*cinsel*"
"dul"
"paral?"
"*domanlt*"
"*erotik*"
"*erotic*"
"*dikmuz*"
"*dimdik*"
"*semsert*"
"*kalkm*"
"*kalkýk*"
"*kaldýr*"
"*doyuran*"
"*kocasik*"
"*saxo*"
"*yebeni*"
"orkid"
"sertvurur*"
"*acitmam*"
"*kocasik*"
"*uzunsik*"
"*buyuksik*"
"*tanga*"
"*sixe*"
"*azdira*"
"*azdiri*"
"*ziker*"
"*agzin*"
"*agzim*"
"*pipi*"
"*vi?gra*"
"*wi?gra*"
"*alabilir*"
"*seftali*"
"*tecavu*"
"*delik"
"*delig*"
"am?doktor*"
"amdoktor*"
"*bakire*"
"*bozarim*"
"*sutyen*"
"*kilot*"
"*bacak*"
"*hisset*"
"*jineko*"
"*pich*"
"*seviselim*"
"*sevisek*"
"*bozucu*"
"ambasar*"
"*orgaz*"
"*santim*"
"*kocaman*"
"*o?rosb*"
"*o?rosp*"
"*orosb*"
"*orosp*"
"*o?r?o?s?b*"
"*o?r?o?s?p*"
"*amcik*"
"*-----*"
"*subyan*"
"*supyan*"
"*horny*"
"*horney*"
"*fuck*"
"*asshole*"
"*dick*"
"*sperm*"
"dol"
"*deler*"
"alet"
"*donsuz*"
"*gotver*"
"*ereksiy*"
"*erexio*"
"*analsev*"
"*kurdist*"
"*bitch*"
"*fagget*"
"*shithead*"
"*shitter*"
"*penis*"
"*pussy*"
"*fukker*"
"*http*"
}

################################################## #######
##Kanal genelinde yasaklamak istediðiniz küfür ve ##
##Reklam kelimeleri. ##
################################################## #######

set swear(words) {
"*p?içç*"
"*a?mýna*"
"*o?rosp*"
"*o?rosb*"
"*kahpe*"
"*k?ahpenin*"
"*a?nayin*"
"*s?ikerim*"
"*ananla*"
"* anana *"
"anana *"
"* süe *"
"* amk co*"
"* amk ço*"
"*fuck*"
"*shit*"
"*bitch*"
"*dick*"
"*sikmeye*"
"* göt *"
"*yarak*"
"*------*"
"* siker*"
"* sikey*"
"* amina*"
"* amýna*"
"*------*"
"********"
"*ibne*"
"*ipne*"
"*pezev*"
"* kaltak*"
"* sikis *"
"* sikiþ*"
"* anani*"
"* ecdad*"
"* zikeyi*"
"* zokayi*"
"* sokayi*"
"* zokayý*"
"* sokayý*"
"* amcik*"
"* amcýk*"
"got"
"* ****"
"* seks*"
"* sekx*"
"* sikse*"
"* domal*"
"* dalyar*"
"* daltaþ*"
"* taþak*"
"* taþþak*"
"* tasak"
"* tassak*"
"* a.k *"
"*a.q*"
"a.k"
"* aq *"
"*þerefs*"
"*serefs*"
"#*"
"* ananý*"
"* amýný*"
"*travesti*"
"*götüne*"
"*****"
"* sikil*"
"*@*.com"
"*
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sikt*r *"
"aq"
"* abaza *"
"* ------- *"
"*gööt*"
"* siik*"
"*-----*"
"* o.ç*"
"* o.c*"
"* folloþ*"
"* foloþ*"
"* a.g *"
"* sikti*"
"*siker*"
"*hassiktir*"
"* ananizi*"
"* siikiþmiþ*"
"* siikismis*"
"* pezeweng*"
"* pezewenq *"
"* SÝKE*"
"* SÝKT*"
"* SÝKS*"
"* m.q *"
"* m.g *"
"* m.k *"
"*https://*"
"*http://*"
"* hastir *"
"esrar"
"* sikecem *"
"* orossp*"
"* q.a *"
"*w?w?w*"
"*s?i?k?e?r*"
"*s?i?k?e?y*"
"* amýna *"
"* amýný *"
"w??w??w*"
"* irc.*"
"* amk *"
"* dingil *"
"* lezbien*"
"* lezbiyen*"
"* #*"
"*ftp://*"
"*http://*"
"*s?e?r?v?e?r*"
"*
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
w*w*w*"
"* -----*"
"* lolita*"
"*-----*"
"* tecav?z*"
"* liseli*"
"*free*"
"* gay *"
"lezb*"
"* sikiþ*"
"* sikis *"
"*@hot*"
"*.net"
"*com"
"*org"
"*c?o?m"
"*n?e?t"
"* bagirta*"
"* baðýrta*"
"* sikti*"
"*s?i?k?t?i*"
"*s?i?k?e?"
"* fuck*"
"* horny*"
"*decode*"
}

################################################## #######
## Kötü nickler. Ekleme çýkarma yapabilirsiniz. ##
################################################## #######

set bnick(nicks) {
"*yarra*"
"*siktig*"
"*siktið*"
"*doyumsuz*"
"*jigolo*"
"*cigolo*"
"*****"
"evli*"
"*seks*"
"*ibne*"
"*gay*"
"*lezb*"
"*yatak*"
"*lezo"
"*lez*"
"*sikic*"
"*siker*"
"*kayar*"
"*msn*"
"*amcý*"
"*1*cm*"
"*2*cm*"
"*yarak*"
"*yalar*"
"pic"
"---*"
"grub*"
"grup*"
"palyboy*"
"gotcu*"
"göt*"
"amse?er*"
"*amyarar*"
"*skici*"
"*iskerim*"
"*sikse*"
"*darbel*"
"*sakso*"
"*skiyom*"
"*sanalsk*"
"*snlsx"
"*iri?sk*"
"verici*"
"aktif*"
"*pasif*"
"*atesli*"
"*azg?n*"
"*az?g?n*"
"*cinsel*"
"dul"
"paral?"
"*domanlt*"
"*erotik*"
"*erotic*"
"*dikmuz*"
"*dimdik*"
"*semsert*"
"*kalkm*"
"*kalkýk*"
"*kaldýr*"
"*doyuran*"
"*kocasik*"
"*saxo*"
"*yebeni*"
"orkid"
"sertvurur*"
"*acitmam*"
"*kocasik*"
"*uzunsik*"
"*buyuksik*"
"*tanga*"
"*sixe*"
"*azdira*"
"*azdiri*"
"*ziker*"
"*agzin*"
"*agzim*"
"*pipi*"
"*vi?gra*"
"*wi?gra*"
"*alabilir*"
"*seftali*"
"*tecavu*"
"*delik"
"*delig*"
"am?doktor*"
"amdoktor*"
"*bakire*"
"*bozarim*"
"*sutyen*"
"*kilot*"
"*bacak*"
"*hisset*"
"*jineko*"
"*pich*"
"*seviselim*"
"*sevisek*"
"*bozucu*"
"ambasar*"
"*orgaz*"
"*santim*"
"*kocaman*"
"*o?rosb*"
"*o?rosp*"
"*orosb*"
"*orosp*"
"*o?r?o?s?b*"
"*o?r?o?s?p*"
"*amcik*"
"*-----*"
"*subyan*"
"*supyan*"
"*horny*"
"*horney*"
"*fuck*"
"*asshole*"
"*dick*"
"*sperm*"
"dol"
"*deler*"
"alet"
"*donsuz*"
"*gotver*"
"*ereksiy*"
"*erexio*"
"*analsev*"
"*kurdist*"
"*bitch*"
"*fagget*"
"*shithead*"
"*shitter*"
"*penis*"
"*pussy*"
"*fukker*"
"*http*"
}

################################################## ##########
## Buradan sonrasýný editlemeseniz de olur. Dilerseniz ##
## deðiþtirebilirsiniz yine de
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
##
################################################## ##########

# Set here any additional exempts, you can use one of the following:
# 0: Neither voices nor halfops are exempted from punishment
# 1: Voices are exempted from punishment
# 2: Halfops are exempted from punishment
# 3: Both halfops and voices are exempted from punishment
set exmptype 3

# Set here the handles of the users you want to notify when the bots locks a channel
# for mass (botnet) flood.
# example: set notifyusers "TheOwner LamerDude"
set notifyusers "SaW"

# Set here the notice to be sent to the channel when the bot locks the channel because of a
# Botnet flood. leave "" if you don't wish the notice to be sent.
set btclocked(lnotc) "Channel has been locked due to flood, sorry for any inconvenience this may have caused."

# What info do you wanna add to your kick message?
# After setting this variable, you can use $kckcount(form) to add a these info to the bot's
# kick msg.
### NOTE:
## %kcount = number of kicks.
## %btime = ban time
## %chan = channel name
## %date = kick date
## %rate = offenses in seconds, bad words/nicks/idents/ads or clone/clones (depends on type of offense)
### PS: You can use the above directly in the kick message (not only here)
set kckcount(form) "(%rate) - %btime dakika Banlandýnýz. ::Kick no: ·%kcount·"

# Set the file in which the number of kicks will be stored.
set kckcount(file) "scripts/kcount.txt"

# Do you want the bot to check for bad nicks/idents and clones when it first joins the channels
# and gains op ? (0: no , 1: yes)
# NOTE: This may be CPU intensive if your bot is on big channels or on alot of channels.
set cbcd(check) 1

# If cbcd(check) is set to 1, change this if you want the bot to only check for certain types
# of protection in the nicklist.
# nosense:kick: check for random drones
# clones:kick : check for excess clones and kick them
# bnick:kick : kick bad nicks
# bident:kick : Kick users with bad idents.
set cbcd(procs) {nosense:kick clones:kick bnick:kick bident:kick}

# If cbcd(check) is set to 1, on what channels do you want it to be applied ? (use "*" to make it work on all chans)
# example: set cbcd(chans) "#chan1 #chan2"
set cbcd(chans) "*"

# Your service's chanserv nick.
# example: set serv(nick) "ChanServ" or "PRIVMSG X@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]nnels.undernet.org"
set serv(nick) "ChanServ"

# Chanserv deop command.
# use %nick for the nick you want to deop and %chan for the channel name.
# example: set serv(deop) "deop %chan %nick"
set serv(command) "deop %chan %nick"

# Set the time in seconds to wait before reseting the punishment monitor:
# Note: this setting means the bot will apply the punishment steps on each nick
# within this period of time, otherwise it'll trigger steps from the beginning.
# Most recommended value is between: 60-90
set pwait 60

# Edit this only if your bot is an ircop and will use the kline command:
# Set here the kline command used on your server.
# for example some ircds user:
# kline %mask %time %reason
# others use:
# kline %time %mask %reason
## NOTE:
# %mask = the klined mask.
# %time = the kline time.
# %reason = the kline reason.
##
set kline(cmd) "kline %time %mask :%reason"

# set the default kline time. (seconds or minutes depends on your ircd)
set kline(time) 30

## Available punishment methods:
# 1: warn - kick - kickban
# 2: warn - kick
# 3: warn - kickban
# 4: kick - kickban
# 5: kickban
## the following methods should only be chosen if your bot is an ircop (opered up):
# 6: warn - kick - kline
# 7: warn - kline
# 8: kick - kill - kline
# 9: kill - kline
# 10: kline
#
## For example if you set this to 1 for text flood:
#
# ** nick triggers text flood
# ** bot warns nick
# ** nick triggers text flood again
# ** bot kicks nick
# ** nick triggers text flood yet again
# ** bot bankicks nick
## these steps will be triggered if the offences happend during <pwait> seconds.
# NOTE: These methods are not applicable on all flood types. I only applied this
# feature on the flood types I think they're needed.

## Available ban types:
# 0 : *!user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 1 : *!*user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 2 : *!*@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 3 : *!*user@*.host.tld
# 4 : *!*@*.host.tld
# 5 : nick!user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 6 : nick!*user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 7 : nick!*@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 8 : nick!*user@*.host.tld
# 9 : nick!*@*.host.tld
# 10: *!user@*
# 11: nick!*@*

## Available kline mask types:
# 0 : user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 1 : *user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 2 : *@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 3 : *user@*.host.tld
# 4 : *@*.host.tld
# 5 : user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 6 : *user@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 7 : *@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].host.tld
# 8 : *user@*.host.tld
# 9 : *@*.host.tld
# 10: user@*

##########################
# TEXT FLOOD #
##########################

#
## 1 ## Text flood (lines)
#

# use .chanset #channel ap:textl <lines>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:textl 7:2}

# Text flood (lines) punishment method:
set textl(pmeth) 4

# Text flood (lines) bantype.
set textl(btype) 2

# Text flood (lines) ban time in minutes. (0 for no ban time)
set textl(btime) 10

# Text flood (lines) kick msg.
set textl(kmsg) "*Uzun yaz&#253;* Kurallara ayk&#253;r&#253;d&#253;r. $kckcount(form)"

# Text flood (lines) warn msg.
set textl(wmsg) "Uyar&#253;: Uzun Yaz&#253; kurallara ayk&#253;r&#253;d&#253;r, devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Text flood (lines) kline mask type.
set textl(ktype) 2

# Text flood (lines) kline/kill reason.
set textl(klmsg) "Bu sunucuda Uzun yaz&#253; yazmak uzakla&#254;t&#253;r&#253;lma nedenidir."

# Text flood (lines) kline time (seconds or minutes depends on your ircd).
set textl(ktime) 10

#
## 2 ## Text flood (chars)
#

# Use .chanset #channel ap:textc <chars>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:textc 350:2}

# Text flood (chars) punishment method:
set textc(pmeth) 4

# Text flood (chars) bantype.
set textc(btype) 2

# Text flood (chars) ban time in minutes. (0 for no ban time)
set textc(btime) 10

# Text flood (chars) kick msg.
set textc(kmsg) "*Çok uzun yaz&#253;*. $kckcount(form)"

# Text flood (chars) warning msg.
set textc(wmsg) "Uyar&#253;: *Çok uzun yaz&#253;* kurallara ayk&#253;r&#253;d&#253;r! Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Text flood (chars) kline mask type.
set textc(ktype) 2

# Text flood (chars) kline/kill reason.
set textc(klmsg) "Bu sunucuda ÇOK UZUN YAZI kurallara ayk&#253;r&#253;d&#253;r."

# Text flood (chars) kline time (seconds or minutes depends on your ircd).
set textc(ktime) 0

#
## 3 ## Notice flood (lines)
#

# Use .chanset #channel ap:notcl <lines>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:notcl 2:3}

# Notice flood (lines) punishment method:
set noticel(pmeth) 5

# Notice flood (lines) ban tpye.
set noticel(btype) 2

# Notice flood (lines) ban time in minutes. (0 for no ban time)
set noticel(btime) 10

# Notice flood (lines) kick msg.
set noticel(kmsg) "Fazla notice kullan&#253;m&#253; yasakt&#253;r. $kckcount(form)"

# Notice flood (lines) warn msg.
set noticel(wmsg) "Uyar&#253;: Notice Flood yapmay&#253;n&#253;z! Devam&#253;n&#253;z halinde uazkala&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Notice flood (lines) kline mask type.
set noticel(ktype) 2

# Notice flood (lines) kline/kline reason.
set noticel(klmsg) "Notice flood."

# Notice flood (lines) kline time in reason.
set noticel(ktime) 0

#
## 4 ## Notice flood (chars)
#

# Use .chanset #channel ap:notcc <chars>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:notcc 200:3}

# Notice flood (chars) punishment method:
set noticec(pmeth) 5

# Notice flood (chars) ban type.
set noticec(btype) 2

# Notice flood (chars) ban time in minutes. (0 for no ban time)
set noticec(btime) 30

# Notice flood (chars) kick msg.
set noticec(kmsg) "Notice Flood. $kckcount(form)"

# Notice flood (chars) warn msg.
set noticec(wmsg) "Notice Flood."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Notice flood (chars) kline mask type.
set noticec(ktype) 2

# Notice flood (chars) kline/kill reason.
set noticec(klmsg) "Notice flood."

# Notice flood (chars) kline time (seconds or minutes depends on your ircd).
set noticec(ktime) 0

###################
# TEXT #
###################

#
## 5 ## Caps flood.
#

# Use .chanset #channel ap:caps <percent>:<line-length> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:caps 60:40}

# Caps flood punishment method:
set capsp(pmeth) 3

# Caps flood ban type.
set capsp(btype) 2

# Caps flood ban time in minutes. (0 for no ban time)
set capsp(btime) 15

# Caps flood kick msg.
set capsp(kmsg) "Çok fazla büyük harf kulland&#253;n&#253;z *büyük harfle yazmak ba&#240;&#253;rmak anlam&#253;na gelir!*. $kckcount(form)"

# Caps flood warn msg.
set capsp(wmsg) "Uyar&#253;: Lütfen BÜYÜK harf kullanmay&#253;n&#253;z. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Caps flood kline mask type.
set capsp(ktype) 2

# Caps flood kline/kill reason.
set capsp(klmsg) "Çok fazla büüyk harf kullanmak yasakt&#253;r."

# Caps flood kline time (seconds or minutes depends on your ircd).
set capsp(ktime) 0

#
## 6 ## Text repeating.
#

# use .chanset #channel ap:repeatl <repeats>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:repeatl 3:10}

## Text repeating Kick on how many consecutive repeated letters?
## Example: if this is set to 5 then the bot will kick any user who types (example):
# Hellooooo (5 consecutive o's)
# Hello!!!!!!!!! (5 and more consecutive ! marks)
## Use .chanset #channel ap:repeatc <number-of-letters> (in DCC, 0 to disable)
# Set default value here:
lappend ap:udefs {ap:repeatc 25}

# Text repeating punishment method:
set repeatf(pmeth) 3

# Text repeating ban type.
set repeatf(btype) 2

# Text repeating ban time in minutes. (0 for no ban time)
set repeatf(btime) 15

# Text repeating kick msg.
set repeatf(kmsg) "Tekrar yapmak/harf uzatmak yasakt&#253;r. $kckcount(form)"

# Text repeating letter repeats kick msg.
set repeatf(kslmsg) "Tekrar yapmay&#253;n&#253;z/Harfleri uzatmay&#253;n&#253;z. $kckcount(form)"

# Text repeating warn msg.
set repeatf(wmsg) "\002Uyar&#253;:\002 Tekrar yapmay&#253;n&#253;z/Harfleri uzatmay&#253;n&#253;z. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Text repeating kline mask type.
set repeatf(ktype) 2

# Text repeating kline/kill reason.
set repeatf(klmsg) "Tekrar Yapmak Kurallara Ayk&#253;r&#253;d&#253;r."

# Text repeating kline time (seconds or minutes depends on your ircd).
set repeatf(ktime) 0

#
## 7 ## Control codes.
#

# Use .chanset #channel ap:codes r:<n> b:<n> u:<n> c:<n> (in DCC)
# Example: If you set ap:codes to: r:35 b:35 u:35 c:35
# Then 35 (or more) characters affected by Reverse or Bold or Underline or Color
# will be considered an offence.
# Set default rate here:
lappend ap:udefs {ap:codes "r:350 b:350 u:350 c:350"}

# Control codes punishment method:
set codesf(pmeth) 4

# Control codes ban type.
set codesf(btype) 2

# control codes ban time in minutes. (0 for no ban time)
set codesf(btime) 30

# Control codes kick msg.
set codesf(kmsg) "Kontrol tu&#254;lar&#253; kullan&#253;m&#253;n&#253; azalt. $kckcount(form)"

# Control codes warn msg.
set codesf(wmsg) "\002Uyar&#253;:\002 ctrl tu&#254;unu çok fazla kullanmay&#253;n&#253;z, devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Control codes kline mask type.
set codesf(ktype) 2

# Control codes kline/kill reason.
set codesf(klmsg) "müsaade edilenden daha fazla ctrl tu&#254;u kullan&#253;m&#253;."

# Control codes kline time (seconds or minutes depends on your ircd).
set codesf(ktime) 0

#
## 8 ## Advertising.
#

# NOTE: This protection also works for private advertising.

# Use .chanset #channel ap:adv + (in DCC to enable)
# set default value here: (+ enabled, - disabled)
lappend ap:udefs {ap:adv +}

# Advertising triggers.
set adv(words) {
"*
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Advertising punishment method:
set adv(pmeth) 5

# Advertising ban type.
set adv(btype) 2

# Advertising ban time in minutes. (0 for no ban time)
set adv(btime) 15

# Advertising kick msg.
set adv(kmsg) "Yasak kelime *%rate* $kckcount(form)"

# Advertising warn msg.
set adv(wmsg) "Uyar&#253;: Reklam yapmay&#253;n&#253;z. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Advertising kline mask type.
set adv(ktype) 2

# Advertising kline/kill reason.
set adv(klmsg) "Trojan-Spamming. Bilgisayar&#253;n&#253;zda bulunan bir virüsten dolay&#253; sunucuya gir&#254;iniz yasaklanm&#253;&#254;t&#253;r."

# Advertising kline time (seconds or minutes depends on your ircd).
set adv(ktime) 0

#
## 9 ## Swearing.
#

# Use .chanset #channel ap:swear + (in DCC to enable)
# Set default value here: (+ enabled, - disabled)
lappend ap:udefs {ap:swear +}


# Swearing punishment method:
set swear(pmeth) 5

# Swearing ban type.
set swear(btype) 2

# Swearing ban time in minutes. (0 for no ban time)
set swear(btime) 15

# Swearing kick msg.
set swear(kmsg) "Yasak kelime *%rate*. $kckcount(form)"

# Swearing warn msg.
set swear(wmsg) "Uyar&#253;: küfür ve reklam içeren kelimeler kullanmay&#253;n&#253;z. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Swearing kline mask type.
set swear(ktype) 2

# Swearing kline/kill reason.
set swear(klmsg) "Yasak kelime! *$swear(words)*."

# Swearing kline time (seconds or minutes depends on your ircd).
set swear(ktime) 0

###################
# CTCP #
###################

#
## 10 ## CTCP/CTCR flood
#

# Use .chanset #channel ap:ctcps <ctcps>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:ctcps 3:30}

# CTCP/CTCR flood punishment method:
set ctcpf(pmeth) 4

# CTCP/CTCR flood ban type.
set ctcpf(btype) 2

# CTCP/CTCR ban time in minutes. (0 for no ban time)
set ctcpf(btime) 10

# CTCP/CTCR flood kick msg.
set ctcpf(kmsg) "CTCP flood. $kckcount(form)"

# CTCP/CTCR flood warn msg.
set ctcpf(wmsg) "Uyar&#253;: CTCP/CTCR flood korumas&#253; uyar&#253;ld&#253;. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# CTCP/CTCR flood kline mask type.
set ctcpf(ktype) 2

# CTCP/CTCR flood kline/kill reason.
set ctcpf(klmsg) "CTCP/CTCR flood."

# CTCP flood kline time (seconds or minutes depends on your ircd).
set ctcpf(ktime) 0

###################
# TAKEOVER #
###################

#
## 11 ## Mass deop.
#

# Use .chanset #channel ap:massd <deops>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:massd 5:1}

# Mass deop: deop abuser ? (0: no , 1: yes)
set massdeop(deop) 0

# Mass deop punishment method:
set massdeop(pmeth) 5

# Mass deop ban type.
set massdeop(btype) 2

# Mass deop ban time in minutes. (0 for no ban time)
set massdeop(btime) 10

# Mass deop kick msg.
set massdeop(kmsg) "Mass deop detected. $kckcount(form)"

# Mass deop warn msg.
set massdeop(wmsg) "Warning: You've triggered the mass deop protection, do not repeat this action."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Mass deop kline type (same as bantype).
set massdeop(ktype) 2

# Mass deop kline/kill reason.
set massdeop(klmsg) "Mass deops are not allowed on this network."

# Mass deop kline time (seconds or minutes depends on your ircd).
set massdeop(ktime) 0

#
## 12 ## Mass kick.
#

# Use .chanset #channel ap:massk <kicks>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:massk 0:0}

# Mass kick: deop abuser ? (0: no , 1: yes)
set masskick(deop) 0

# Mass kick punishment method:
set masskick(pmeth) 5

# Mass kick ban type.
set masskick(btype) 2

# Mass kick ban time in minutes. (0 for no ban time)
set masskick(btime) 10

# Mass kick kick msg.
set masskick(kmsg) "Mass kick detected. $kckcount(form)"

# Mass kick warn msg.
set masskick(wmsg) "Warning: You've triggered mass kick protection, do not repeat this action."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Mass kick kline mask type.
set masskick(ktype) 2

# Mass kick kline/kill reason.
set masskick(klmsg) "Mass kicks are prohibited on this network."

# Mass kick kline time (seconds or minutes depends on your ircd).
set masskick(ktime) 0

#
## 13 ## Mass ban (bans).
#

# Use .chanset #channel ap:massb <bans>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:massb 0:0}

# Mass ban (bans) deop abuser ? (1: yes , 0: no)
set massb(deop) 0

# Mass ban (bans) punishment method:
set massb(pmeth) 5

# Mass ban (bans) ban type.
set massb(btype) 2

# Mass ban (bans) ban time in minutes. (0 for no ban time)
set massb(btime) 30

# Mass ban (bans) kick msg.
set massb(kmsg) "Mass ban is not allowed. $kckcount(form)"

# Mass ban (bans) warning msg.
set massb(wmsg) "Warning: You've triggered mass ban protection, do not repeat this action."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Mass ban (bans) kline mask type.
set massb(ktype) 2

# Mass ban (bans) kline/kill reason.
set massb(klmsg) "Mass banning (bans) is prohibited on this network."

# Mass ban (bans) kline time (seconds or minutes depends on your ircd).
set massb(ktime) 0

#
## 14 ## Channel limit.
#

# Use .chanset #channel ap:limit <limit> (in DCC, 0 to disable)
# Note: this be the number that will be added to the channel's limit.
# Set default limit here:
lappend ap:udefs {ap:limit 0}

###################
# MISCELLANEOUS #
###################

#
## 15 ## Join flood.
#

# Use .chanset #channel ap:cjoin <joins>:<seconds> (in DCC, 0:0 to disable)
# NOTE: This triggers on clone join flood, not mass join.
# Set default rate here:
lappend ap:udefs {ap:cjoin 4:2}

# Join flood punishment method.
set joinflood(pmeth) 5

# Join flood ban type.
set joinflood(btype) 2

# Join flood ban time in minutes. (0 for no ban time)
set joinflood(btime) 30

# Join flood: Lock channel when triggered ? (1: yes , 0: no)
set joinflood(lockchan) 0

# Join flood: If lock channel is enable, what modes ?
set joinflood(lockmode) "mR-k clone.join.flood"

# Join flood: lock time in seconds.
set joinflood(locktime) 45

# Join flood kick msg.
set joinflood(kmsg) "Join flood. ( 2 saniye içerisinde 4 giri&#254; ) $kckcount(form)"

# Join flood warn msg.
set joinflood(wmsg) "Warning: you've triggered join flood protection, further offence will cause harsher actions."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Join flood kline mask type.
set joinflood(ktype) 2

# Join flood kline/kill reason.
set joinflood(klmsg) "Join flood."

# Join flood kline time (seconds or minutes depends on your ircd).
set joinflood(ktime) 0

#
## 16 ## Part msg flood.
#

# Use .chanset #channel ap:partmsgs <message-length> (in DCC, 0 to disable)
# Set default value here:
lappend ap:udefs {ap:partmsgs 0}

# Also, you can ban if excess codes are used in a part msg:
# Use .chanset #channel ap:partmsgc r:<n> b:<n> u:<n> c:<n> (in DCC)
# Note: check codes protection to understand how codes checking work.
# r = reverse, b = bold, u = underline and c = colors.
# Set default rate here:
lappend ap:udefs {ap:partmsgc "r:350 b:350 u:350 c:350"}

# Part msg flood punishment method:
set pmsgf(pmeth) 5

# Part msg flood ban type.
set pmsgf(btype) 2

# Part msg flood ban time in minutes. (0 for no bantime)
set pmsgf(btime) 30

# Part msg flood kick msg. (incase the offender managed to rejoin before being banned)
set pmsgf(kmsg) "Part msg flood detected. $kckcount(form)"

# Part msg flood warn msg.
set pmsgf(wmsg) "Warning: You've triggered part msg flood protection, decrease text in your part reason."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Part msg flood kline mask type.
set pmsgf(ktype) 2

# Part msg flood kline/kill reason.
set pmsgf(klmsg) "Part msg floods are not permissable on this network."

# Part msg flood kline time (seconds or minutes depends on your ircd).
set pmsgf(ktime) 0

#
## 17 ## Revolving door.
#

# Use .chanset #channel ap:revdoor <seconds> (in DCC)
# example: setting this to 3 will make the bot ban whoever joins and parts/quits in 3 or less seconds.
# Set default value here:
lappend ap:udefs {ap:revdoor 0}

# Revolving door ban type.
set revdoor(btype) 2

# Revolving door kick msg.
set revdoor(kmsg) "çok fazla join part yapt&#253;n&#253;z ( 4 defa ). $kckcount(form)"

# Revolving door ban time in minutes. (0 for no ban time)
set revdoor(btime) 30

#
## 18 ## Nick flood.
#

# Use .chanset #channel ap:nickf <nick-changes>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:nickf 3:10}

# Nick flood punishment method:
set nickflood(pmeth) 4

# Nick flood ban type.
set nickflood(btype) 2

# Nick flood ban time in minutes. (0 for no ban time)
set nickflood(btime) 30

# Nick flood kick msg.
set nickflood(kmsg) "A&#254;&#253;r&#253; nick de&#240;i&#254;imi. $kckcount(form)"

# Nick flood warn msg.
set nickflood(wmsg) "Uyar&#253;: Çok fazla nick de&#240;i&#254;imi yapt&#253;n&#253;z. Devam&#253;n&#253;z halinde uzakla&#254;t&#253;r&#253;lacaks&#253;n&#253;z."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Nick flood kline mask type.
set nickflood(ktype) 2

# Nick flood kline/kill reason.
set nickflood(klmsg) "Çok fazla nick de&#240;i&#254;imi."

# Nick flood kline time (seconds or minutes depends on your ircd).
set nickflood(ktime) 0

#
## 19 ## Clones.
#

# Use .chanset #channel ap:clones <clones-number> (in DCC)
# Note: This will be the number of clones that triggers punishment.
# Set default value here:
lappend ap:udefs {ap:clones 5}

# Clones punishment method:
set eclones(pmeth) 5

# Clones ban type.
set eclones(btype) 2

# Clones ban time in minutes. (0 for no ban time)
set eclones(btime) 30

# Clones kick msg.
set eclones(kmsg) "Clone. $kckcount(form)"

# Clones warning msg.
set eclones(wmsg) "Warning: You've exceeded the maximum number of clones, remove your clones now."

# Do you want to check if the clones are still excess after warn?
# if yes then set this to the number of seconds to wait before checking again. (0 to disable)
# NOTE: This is preffered to be less than <pwait> (at the beginning of the configuration).
set eclones(cagain) 40

## Edit the following only if you choose a punish method above 5 (oper commands):

# Clones kline mask type.
set eclones(ktype) 2

# Clones kline/kill reason.
set eclones(klmsg) "Clone."

# Clones kline time (seconds or minutes depends on your ircd).
set eclones(ktime) 0

#
## 20 ## Bad nick.
#

# Use .chanset #channel ap:bnicks + (in DCC to enable)
# Set default value here: (+ enabled, - disabled)
lappend ap:udefs {ap:bnicks +}

# Bad nick ban type. (-1 to disable banning)
set bnick(btype) 11

# Bad nick kick msg
set bnick(kmsg) "kötü nick %rate. $kckcount(form)"

# Bad nick ban time in minutes. (0 for no ban time)
set bnick(btime) 15

#
## 21 ## Random drones.
#

# Use .chanset #channel ap:drones + (in DCC to enable)
# Set default value here: (+ enabled, - disabled)
lappend ap:udefs {ap:drones +}

# Random drones: Do you want the bot to check for drones on op ? (1: yes , 0: no)
set nosense(conop) 1

# Random drones: What masks to exempt?
set nosense(exempt) { "*example1*!*@*" "*!*example2*@*" "*!*@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]3.net" }

# Random drones ban type.
set nosense(btype) 2

# Random drones punishment method:
# If you set this to 0 then the bot will only kick the drone once.
# So if the drone rejoins it will not be kicked again.
set nosense(pmeth) 5

# If nosense(pmeth) is set to 0, how long do you want the bot to wait for the drone to rejoin
# before starting to kick it again? (in seconds)
set nosense(dwait) 45

# Random drones ban time in minutes. (0 for no bantime)
set nosense(btime) 20

# Random drones kick msg.
set nosense(kmsg) "Random nick kullan&#253;m&#253; yasakt&#253;r. $kckcount(form)"

# Random drones warning msg.
set nosense(wmsg) "Warning: You've triggered random drones protection, change your nick now."

## Edit the following only if you choose a punish method above 5 (oper commands):

# Random drones kline mask type.
set nosense(ktype) 2

# Random drones kline/kill reason.
set nosense(klmsg) "Random drones."

# Random drones kline time (seconds or minutes depends on your ircd).
set nosense(ktime) 0

#
## 22 ## Bad ident.
#

# Use .chanset #channel ap:bidents + (in DCC to enable)
# Set default value here: (+ enabled, - disabled)
lappend ap:udefs {ap:bidents +}

# Bad ident triggers.

# Bad ident ban type. (-1 to disable ban)
set bident(btype) 10

# Bad ident kick msg.
set bident(kmsg) "Kötü ident! Lütfen identinizi de&#240;i&#254;ip öyle giriniz. $kckcount(form)"

# Bad ident ban time. (0 for no ban time)
set bident(btime) 15

#########################################
# BOTNET FLOOD PROTECTION (MASS FLOODS) #
#########################################

#
## 1 ## Botnet Text flood (lines).
#

# Use .chanset #channel ap:btextl <lines>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:btextl 0:0}

# Botnet Text flood (lines) lock modes.
set btextl(lockmode) "mR-k lines.flood"

# Botnet Text flood (lines) lock time in seconds. (0 for no lock time)
set btextl(locktime) 60

#
## 2 ## Botnet Text flood (chars).
#

# Use .chanset #channel ap:btextc <chars>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:btextc 0:0}

# Botnet Text flood (chars) lock modes.
set btextc(lockmode) "mR-k chars.flood"

# Botnet Text flood (chars) lock time in seconds. (0 for no lock time)
set btextc(locktime) 60

#
## 3 ## Botnet Notice flood (lines).
#

# Use .chanset #channel ap:bnotcl <lines>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:bnotcl 0:0}

# Botnet Notice flood (lines) lock modes.
set bnotil(lockmode) "mR-k lines.flood"

# Botnet Notice flood (lines) lock time in seconds. (0 for no lock time)
set bnotil(locktime) 60

#
## 4 ## Botnet Notice flood (chars).
#

# Use .chanset #channel ap:bnotcc <chars>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:bnotcc 0:0}

# Botnet Notice flood (chars) lock modes.
set bnotic(lockmode) "mR-k chars.flood"

# Botnet Notice flood (chars) lock time in seconds. (0 for no lock time)
set bnotic(locktime) 60

#
## 5 ## Botnet CTCP/CTCR flood.
#

# Use .chanset #channel ap:bctcp <ctcps>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:bctcp 0:0}

# BOTNET CTCP/CTCR flood lock modes.
set bctcpf(lockmode) "mR-k ctcp.flood"

# BOTNET CTCP/CTCR flood lock time in seconds. (0 for no lock time)
set bctcpf(locktime) 60

#
## 6 ## Botnet join flood.
#

# Use .chanset #channel ap:massjoin <joins>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:massjoin 0:0}

# Botnet join flood lock modes.
set bjoinf(lockmode) "mR-k join.flood"

# Botnet join flood lock time in seconds. (0 for no lock time)
set bjoinf(locktime) 60

#
## 7 ## Botnet revolving door flood.
#

# Use .chanset #channel ap:brevdoor <revdoors>:<seconds> (in DCC, 0:0 to disable)
## Note: ap:revdoor must be set for this to work.
# Set default rate here:
lappend ap:udefs {ap:brevdoor 0:0}

# Botnet revolving door flood lock modes.
set brevdoor(lockmode) "mR-k revdoor.flood"

# Botnet revolving door flood lock time in seconds. (0 for no lock time)
set brevdoor(locktime) 60

#
## 8 ## Botnet part msg flood.
#

# Use .chanset #channel ap:bpartmsg <partmsgs>:<seconds> (in DCC, 0:0 to disable)
## Note: ap:partmsgs or ap:partmsgc (or both) must be enabled for this to work.
# Set default rate here:
lappend ap:udefs {ap:bpartmsg 0:0}

# Botnet Part msg flood lock modes.
set bpmsgf(lockmode) "mR-k partmsg.flood"

# Botnet Part msg flood lock time in seconds. (0 for no lock time)
set bpmsgf(locktime) 60

#
## 9 ## Botnet Nick flood.
#

# Use .chanset #channel ap:bnickf <nick-changes>:<seconds> (in DCC, 0:0 to disable)
# Set default rate here:
lappend ap:udefs {ap:bnickf 0:0}

# Botnet Nick flood lock modes.
set bnickf(lockmode) "mR-k nick.flood"

# Botnet Nick flood lock time in seconds. (0 for no lock time)
set bnickf(locktime) 60

###########################
# PRIVATE PROTECTIONS #
###########################

# Set here if you want the bot to set a restriction mode on itself when flooded.
# example: +R is used on DALnet so only registered users can send to the bot.
# set this to "" if you don't wish to change your bot's modes during a flood.
# NOTE: Maximum 1 mode, less or more means it's disabled.
set apfp(rmode) +M

# Set here the time you want to keep the restriction mode in seconds.
set apfp(rtime) 15

# How many seconds do you want to stop answering data from server?
set apfp(itime) 45

#
## 1 ## Private text floods.
#

# Private text (lines) flood <lines>:<seconds>. (0:0 to disable)
set ptextl(punish) 10:6

# Private text (chars) flood <chars>:<seconds>. (0:0 to disable)
set ptextc(punish) 750:6

#
## 2 ## Private notice floods.
#

# Private notice (lines) flood <lines>:<seconds>. (0:0 to disable)
set pnotil(punish) 6:3

# Private notice (chars) flood <chars>:<seconds>. (0:0 to disable)
set pnotic(punish) 600:4

#
## 3 ## Private CTCP/CTCR flood.
#

# Private CTCP/CTCR flood <ctcps>:<seconds>. (0:0 to disable)
set pctcpf(punish) 4:20

################################################## ##############
##Buraya kadard&#253;. Buradan Sonras&#253;nda herhangi bi de&#240;i&#254;iklik ##
##yapmay&#253;n!!! ##
################################################## ##############
bind evnt - init-server muaf:yenile
bind evnt - disconnect-server muaf:yenile
bind evnt - connect-server muaf:yenile
bind evnt - rehash muaf:yenile

proc muaf:yenile {type} {
global admin_chan
if {![file exists "scripts/ScanX/muaflar.txt"]} { return 0 }
set kfile [open "scripts/ScanX/muaflar.txt" r]
set lines [split [read $kfile] "\n"]
catch {close $kfile}
set ::muafg "";set count 1
putserv "privmsg $admin_chan :\00305Server muaf listesi gözden geçiriliyor\00301.\00302.\00312."
foreach lines $lines {
if {$lines != ""} {
append ::muafg " [lindex $lines 0]"
incr count
}

}
if {$count == "1"} {
putserv "privmsg $admin_chan :\00304Henüz bir muaf listesi olu&#254;turmam&#253;&#254;s&#253;n&#253;z ya da bulunam&#253;yor!"
putserv "privmsg $admin_chan :\00305Nas&#253;l olu&#254;turaca&#240;&#253;n&#253;z&#253; görmek için !muafbilgi yaz&#253;n&#253;z."
}
if {$count != "1"} {
putserv "privmsg $admin_chan :\00303Muaf listesi ba&#254;ar&#253;yla güncellendi."
putserv "privmsg $admin_chan :\00305Ayr&#253;nt&#253;l&#253; bilgi için !muafbilgi yaz&#253;n&#253;z."
}
}

proc ap:istimer {arg {t timers}} {
set a ""
foreach rt [$t] {
if {[string equal -nocase $arg [lindex $rt 1]]} {
set a [lindex $rt 2] ; break
}
}
set a
}

if {![info exists NumKicks]} {
if {![file exists $kckcount(file)]} {
set NumKicks 0
} {
set kcfopened [open $kckcount(file) r]
set NumKicks [read -nonewline $kcfopened]
close $kcfopened
if {![string is integer $NumKicks]} { set NumKicks 0 }
}
}

if {$cbcd(check)} {
if {[set cbcd(timer) [ap:istimer checkbcd:join]]!=""} { killtimer $cbcd(timer) }
timer 3 checkbcd:join
}

if {![string match -nocase "* Opposing *" ${ctcp-version}]} {
set ctcp-version "${ctcp-version} - ScanX v.2 Komple Koruma Sistemi By SaW - Socket Degil Roket Bot.."
}

set bred 0
set sfluds 0
setudef str ap:textl
setudef str ap:textc
setudef str ap:notcl
setudef str ap:notcc
setudef str ap:caps
setudef str ap:repeatl
setudef str ap:repeatc
setudef str ap:codes
setudef str ap:adv
setudef str ap:swear
setudef str ap:ctcps
setudef str ap:massd
setudef str ap:massk
setudef str ap:massb
setudef str ap:limit
setudef str ap:cjoin
setudef str ap:partmsgs
setudef str ap:partmsgc
setudef str ap:revdoor
setudef str ap:nickf
setudef str ap:clones
setudef str ap:bnicks
setudef str ap:drones
setudef str ap:bidents
setudef str ap:btextl
setudef str ap:btextc
setudef str ap:bnotcl
setudef str ap:bnotcc
setudef str ap:bctcp
setudef str ap:massjoin
setudef str ap:brevdoor
setudef str ap:bpartmsg
setudef str ap:bnickf

bind join - * cjoin:kick
bind pubm - * text:line
bind ctcp - ACTION text:action
bind pubm - * text:char
bind ctcp - ACTION char:action
bind notc - * notc:lines
bind notc - * notc:chars
bind pubm - * caps:kick
bind ctcp - ACTION caps:action
bind pubm - * repeat:kick
bind ctcp - ACTION repeat:action
bind pubm - * codes:kick
bind notc - * codes:notc
bind ctcp - ACTION codes:action
bind pubm - * adv:kick
bind ctcp - ACTION adv:action
bind msgm - * adv:private
bind pubm - * swear:kick
bind ctcp - ACTION swear:action
bind part - * rev:door
bind sign - * rev:door
bind join - * clones:kick
bind join - * bnick:kick
bind nick - * bnick:kick
bind join - * bident:kick
bind mode - "* +b" mass:ban
bind pubm - * btext:line
bind ctcp - ACTION btext:action
bind pubm - * btext:chars
bind ctcp - ACTION bchars:action
bind notc - * bnotc:line
bind notc - * bnotc:chars
bind ctcp - * ctcp:kick
bind ctcp - * bctcp:lock
bind ctcr - * ctcr:knl
bind join - * bjoinf:lock
bind nick - * bnickf:lock
bind join - * nosense:kick
bind part - * pmsgf:ban
bind mode - "* -o" massd:kick
bind kick - * massk:kick
bind nick - * nickf:kick
bind part - * config:lim
bind sign - * config:lim
bind msgm - * priv:texti
bind ctcp - ACTION priv:acti
bind notc - * priv:notci
bind ctcp - * priv:ctcpi
bind ctcr - * priv:ctcri
bind flud - * priv:flud
bind mode - "* +o" cdrone:onop
bind mode - "* -b" ap:remubt
bind time - * ap:control
bind dcc n|n ap:import ap:import
bind dcc n|n ap:reset ap:reset

proc ap:init c {
global ap:udefs
foreach u ${ap:udefs} {
if {[channel get $c [lindex $u 0]] == ""} { channel set $c [lindex $u 0] [lindex $u 1] }
}
}

proc cjoin:kick {nick uhost hand chan} {
global joinflood btclocked notifyusers apjoinf apjoinfn admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {![botisop $chan] || [onchan $nick $admin_chan] || [matchattr $hand f|f $chan] || [matchattr $hand mo|mo $chan]} {return 0}
if {![info exists btclocked([set chan [string tolower $chan]])]} { set btclocked($chan) 0 }
foreach {j s} [channel get $chan ap:cjoin] {break}
if {[invalid:apf $j $s]} {return 0}
Nfollow $s apjoinfn([set h [string tolower [lindex [split $uhost @] 1]:$chan]]) $nick
if {[set ts [follow $s apjoinf($h) $j]] != -1} {
if {$joinflood(lockchan)} {
if {!($btclocked($chan))} {
ap:lockc $chan $joinflood(lockmode)
if {$joinflood(locktime) > 0} {
utimer $joinflood(locktime) [list btcunlock $chan $joinflood(lockmode) btclocked($chan)]
} {
utimer 90 [list reset:btc b b b $chan b b]
}
set btclocked($chan) 1
if {[string length $btclocked(lnotc)] > 0} {
puthelp "NOTICE $chan :$btclocked(lnotc)"
}
putlog "\002AP\002: Locked $chan due to join flood from [set jfi [lindex [split $uhost @] 1]]."
if {[llength $notifyusers]} {
foreach notfuser $notifyusers {
sendnote AP $notfuser "Join flood detected on $chan from $jfi."
}
}
}
}
punish:method2 $joinflood(pmeth) $apjoinfn($h) $nick $uhost $chan [ap:mapr $joinflood(kmsg) "$ts saniyede $j join"] $joinflood(wmsg) $joinflood(btype) $joinflood(btime) $joinflood(klmsg) $joinflood(ktime) $joinflood(ktype) [string tolower [scan $uhost %*\[^@\]@%s]]:joinflood
}
}

proc text:line {nick uhost hand chan arg} {
global textl txtf admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
foreach {o s} [split [channel get $chan ap:textl] :] {break}
if {[invalid:apf $o $s] || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan]} {return 0}
if {[set ts [follow $s txtf([string tolower $uhost:$chan]) $o]] != -1} {
punish:method $textl(pmeth) $nick $uhost $chan [ap:mapr $textl(kmsg) "$ts saniyede $o sat&#253;r"] $textl(wmsg) $textl(btype) $textl(btime) $textl(klmsg) $textl(ktime) $textl(ktype) [string tolower $uhost]:textl
}
}

proc text:action {nick uhost hand chan keyword arg} {
if {[isbotnick [lindex [split $chan "@"] 0]] || [lindex [split $chan "@"] 1] != ""} {return 0}
text:line $nick $uhost $hand $chan $arg
}

proc text:char {nick uhost hand chan arg} {
global textc txtc admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
foreach {o s} [split [channel get $chan ap:textc] :] {break}
if {[invalid:apf $o $s] || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan]} {return 0}
if {[info exists txtc([set uhc [string tolower $uhost:$chan]])]} { set myo [lindex $txtc($uhc) 0] }
if {[set ts [follow $s txtc($uhc) $o [set sl [string length $arg]]]] != -1} {
if {![info exists myo]} { set myo $sl } { incr myo $sl }
punish:method $textc(pmeth) $nick $uhost $chan [ap:mapr $textc(kmsg) "$ts saniyede $myo karakter"] $textc(wmsg) $textc(btype) $textc(btime) $textc(klmsg) $textc(ktime) $textc(ktype) [string tolower $uhost]:textc
}
}

proc char:action {nick uhost hand chan keyword arg} {
if {[isbotnick [lindex [split $chan "@"] 0]] || [lindex [split $chan "@"] 1] != ""} {return 0}
text:char $nick $uhost $hand $chan $arg
}

proc notc:lines {nick uhost hand arg chan} {
global noticel notclf admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [string index $chan 0] == "@"} {return 0}
foreach {o s} [split [channel get $chan ap:notcl] :] {break}
if {[invalid:apf $o $s] || [invalid:apc $nick $hand $chan]} {return 0}
if {[set ts [follow $s notclf([string tolower $uhost:$chan]) $o]] != -1} {
punish:method $noticel(pmeth) $nick $uhost $chan [ap:mapr $noticel(kmsg) "$ts saniyede $o sat&#253;r"] $noticel(wmsg) $noticel(btype) $noticel(btime) $noticel(klmsg) $noticel(ktime) $noticel(ktype) [string tolower $uhost]:noticel
}
}

proc notc:chars {nick uhost hand arg chan} {
global noticec notccf admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [string index $chan 0] == "@"} {return 0}
foreach {o s} [split [channel get $chan ap:notcc] :] {break}
if {[invalid:apf $o $s] || [invalid:apc $nick $hand $chan]} {return 0}
if {[info exists notccf([set uhc [string tolower $uhost:$chan]])]} { set myo $notccf($uhc) }
if {[set ts [follow $s notccf($uhc) $o [set sl [string length $arg]]]] != -1} {
if {![info exists myo]} { set myo $sl } { incr myo $sl }
punish:method $noticec(pmeth) $nick $uhost $chan [ap:mapr $noticec(kmsg) "$ts saniyede $myo karakter"] $noticec(wmsg) $noticec(btype) $noticec(btime) $noticec(klmsg) $noticec(ktime) $noticec(ktype) [string tolower $uhost]:noticec
}
}

proc caps:kick {nick uhost hand chan arg} {
global capsp admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
set linelen [string length [set arg [ap:cf $arg]]]
foreach {p l} [split [channel get $chan ap:caps] :] {break}
if {[invalid:apf $p $l] || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan] || $linelen < $l} {return 0}
if {[set caps [regexp -all -- {[A-Z]} $arg]] > 0} {
if {[set pl [expr {$caps * 100 / $linelen}]] >= $p} {
punish:method $capsp(pmeth) $nick $uhost $chan [ap:mapr $capsp(kmsg) "kulland&#253;&#240;&#253;n&#253;z $linelen karakterin ${pl}% ü büyüktü"] $capsp(wmsg) $capsp(btype) $capsp(btime) $capsp(klmsg) $capsp(ktime) $capsp(ktype) [string tolower $uhost]:capsp
}
}
}

proc caps:action {nick uhost hand chan keyword arg} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [lindex [split $chan "@"] 1] != ""} {return 0}
caps:kick $nick $uhost $hand $chan $arg
}

proc repeat:kick {nick uhost hand chan arg} {
global repeatf rptvar admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
foreach {o s} [split [channel get $chan ap:repeatl] :] {break}
set arg [ap:cf $arg]
if {[invalid:apc $nick $hand $chan] || [onchan $nick $admin_chan]} {return 0}
if {[string is integer [set i [channel get $chan ap:repeatc]]] && $i > 0} {
set cl "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&"
for {set c 0} {$c < [string length $cl]} {incr c} {
if {[string match -nocase *[string repeat [string index $cl $c] $i]* $arg]} {
set kmsg [ap:mapr $repeatf(kslmsg) "${i}+ den daha fazla [string index $cl $c] harfini uzatt&#253;n "] ; break
}
}
}
if {![info exists kmsg] && ![invalid:apf $o $s]} {
if {[set ts [follow $s rptvar([md5 [string tolower $uhost:$arg:$chan]]) $o]] != -1} {
set kmsg [ap:mapr $repeatf(kmsg) "$o tekrar $ts saniyede"]
}
}
if {[info exists kmsg]} {
punish:method $repeatf(pmeth) $nick $uhost $chan $kmsg $repeatf(wmsg) $repeatf(btype) $repeatf(btime) $repeatf(klmsg) $repeatf(ktime) $repeatf(ktype) [string tolower $uhost]:repeatf
}
}

proc repeat:action {nick uhost hand chan keyword arg} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [lindex [split $chan "@"] 1] != ""} {return 0}
repeat:kick $nick $uhost $hand $chan $arg
}

proc codes:kick {nick uhost hand chan arg} {
global codesf
if {[invalid:apc $nick $hand $chan]} {return 0}
if {[string is integer [set cc [ap:ccodes $chan $arg ap:codes]]] && $cc > 0} {
punish:method $codesf(pmeth) $nick $uhost $chan [ap:mapr $codesf(kmsg) "$cc chars affected"] $codesf(wmsg) $codesf(btype) $codesf(btime) $codesf(klmsg) $codesf(ktime) $codesf(ktype) [string tolower $uhost]:codesf
}
}

proc codes:notc {nick uhost hand arg chan} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [string index $chan 0] == "@"} {return 0}
codes:kick $nick $uhost $hand $chan $arg
}

proc codes:action {nick uhost hand chan keyword arg} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [lindex [split $chan "@"] 1] != ""} {return 0}
codes:kick $nick $uhost $hand $chan $arg
}

proc adv:kick {nick uhost hand chan arg} {
global adv admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[channel get $chan ap:adv] != "+" || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan]} {return 0}
set rest [ap:cf $arg]
foreach advword $adv(words) {
if {[string match -nocase $advword $rest]} {
punish:method $adv(pmeth) $nick $uhost $chan [ap:mapr $adv(kmsg) $advword] $adv(wmsg) $adv(btype) $adv(btime) $adv(klmsg) $adv(ktime) $adv(ktype) [string tolower $uhost]:adv
break
}
}
}

proc adv:action {nick uhost hand chan keyword arg} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [lindex [split $chan "@"] 1] != ""} {return 0}
adv:kick $nick $uhost $hand $chan $arg
}

proc adv:private {nick uhost hand arg} {
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isop $nick "#radyo"]} { return 0 }
foreach chan [channels] {
if {[onchan $nick $chan]} {
adv:kick $nick $uhost $hand $chan $arg
}
}
}

proc swear:kick {nick uhost hand chan arg} {
global swear admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}

if {[channel get $chan ap:swear] != "+" || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan]} {return 0}
set rest [ap:cf $arg]
foreach badword $swear(words) {
if {[string match -nocase $badword $rest]} {
punish:method $swear(pmeth) $nick $uhost $chan [ap:mapr $swear(kmsg) $badword] $swear(wmsg) $swear(btype) $swear(btime) $swear(klmsg) $swear(ktime) $swear(ktype) [string tolower $uhost]:swear
break
}
}
}

proc swear:action {nick uhost hand chan keyword arg} {
global admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[isbotnick [lindex [split $chan "@"] 0]] || [onchan $nick $admin_chan] || [lindex [split $chan "@"] 1] != ""} {return 0}
swear:kick $nick $uhost $hand $chan $arg
}

proc rev:door {nick uhost hand chan rsn} {
global revdoor brevdoor brevdc btclocked notifyusers admin_chan
return 0
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}

if {[invalid:apc $nick $hand [set chan [string tolower $chan]]] || [onchan $nick $admin_chan]} {return 0}
if {![string is integer [set r [channel get $chan ap:revdoor]]] || $r <= 0} {return 0}
if {[set gcj [getchanjoin $nick $chan]] >= [set ut [unixtime]]-$r} {
foreach {o s} [split [channel get $chan ap:brevdoor] :] {break}
if {![info exists btclocked($chan)]} { set btclocked($chan) 0 }
if {![invalid:apf $o $s]} {
if {$o == "0" || $a == "0"} { return 0 }
if {[follow $s brevdc($chan) $o] != -1} {
if {!($btclocked($chan))} {
ap:lockc $chan $brevdoor(lockmode)
if {$brevdoor(locktime) > 0} {
utimer $brevdoor(locktime) [list btcunlock $chan $brevdoor(lockmode) btclocked($chan)]
} {
utimer 90 [list reset:btc bla bla bla $chan bla bla]
}
set btclocked($chan) 1
if {[string length $btclocked(lnotc)] > 0} {
puthelp "NOTICE $chan :$btclocked(lnotc)"
}
putlog "\002AP\002: Locked $chan due to botnet revolving door flood."
if {[llength $notifyusers]} {
foreach notfuser $notifyusers {
sendnote AP $notfuser "Mass revolving door flood detected on $chan."
}
}
}
}
}
if {$revdoor(btype) >= 0} {
putquick "MODE $chan +b [set bmask [masktype $nick!$uhost $revdoor(btype)]]"
if {($revdoor(btime) > 0) && ([ap:istimer "pushmode $chan -b $bmask"] == "")} {
timer $revdoor(btime) [list pushmode $chan -b $bmask]
}
}
if {[onchan $nick $chan]} {
putquick "KICK $chan $nick :[ap:mapr [mapall $revdoor(kmsg) $chan $revdoor(btime)] "[expr {$ut-$gcj}] sec(s) revolution"]"
}
}
}

proc clones:kick {nick uhost hand chan} {
global eclones admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}

config:lim $nick $uhost $hand $chan
if {[isbotnick $nick]} { ap:init $chan ; return 0 }
if {![botisop $chan] || [onchan $nick $admin_chan]} {return 0}
if {![string is integer [set cl [channel get $chan ap:clones]]] || $cl <= 0 || [matchattr $hand f|f $chan] || [matchattr $hand mo|mo $chan]} {return 0}
set c 0
foreach ccheck [chanlist $chan] {
if {[string equal -nocase [scan $uhost %*\[^@\]@%s] [scan [getchanhost $ccheck $chan] %*\[^@\]@%s]]} {
incr c ; lappend cn $ccheck
}
}
if {$c >= $cl} {
if {$eclones(cagain) > 0} {
set eclones([string tolower $chan]) 1
utimer 10 [list followrem eclones([string tolower $chan])]
}
punish:method2 $eclones(pmeth) $cn $nick $uhost $chan [ap:mapr $eclones(kmsg) %ic/$c] $eclones(wmsg) $eclones(btype) $eclones(btime) $eclones(klmsg) $eclones(ktime) $eclones(ktype) [string tolower [scan $uhost %*\[^@\]@%s]]:eclones
}
}

proc bnick:kick {nick uhost hand chan {nn ""}} {
global bnick admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {$nn == ""} { set nn $nick }
if {[string first # $chan] != 0} {return 0}
if {[channel get $chan ap:bnicks] != "+" || [onchan $nick $admin_chan] || [invalid:apc $nn $hand $chan]} {return 0}
foreach badnick $bnick(nicks) {
if {[string match -nocase $badnick $nn]} {
putquick "KICK $chan $nn :[ap:mapr [mapall $bnick(kmsg) $chan $bnick(btime)] $badnick]"
if {$bnick(btype) >= 0} {
putquick "MODE $chan +b [set bmask [masktype $nn!$uhost $bnick(btype)]]"
if {($bnick(btime) > 0) && ([ap:istimer "pushmode $chan -b $bmask"] == "")} {
timer $bnick(btime) [list pushmode $chan -b $bmask]
}
}
break
}
}
}

proc bident:kick {nick uhost hand chan} {
global bident admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[channel get $chan ap:bidents] != "+" || [onchan $nick $admin_chan] || [invalid:apc $nick $hand $chan]} {return 0}
scan $uhost %\[^@\] ident
foreach bid $bident(idents) {
if {[string match -nocase $bid $ident]} {
putquick "KICK $chan $nick :[ap:mapr [mapall $bident(kmsg) $chan $bident(btime)] $bid]"
if {$bident(btype) >= 0} {
putquick "MODE $chan +b [set bmask [masktype $nick!$uhost $bident(btype)]]"
if {($bident(btime) > 0) && ([ap:istimer "pushmode $chan -b $bmask"] == "")} {
timer $bident(btime) [list pushmode $chan -b $bmask]
}
}
break
}
}
}

proc mass:ban {nick uhost hand chan mc ban} {
global massb massbc serv admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
foreach {o s} [split [channel get $chan ap:massb] :] {break}
if {($nick == "") || [invalid:apf $o $s] || [matchattr $hand f|f $chan] || [onchan $nick $admin_chan] || [matchattr $hand mo|mo $chan]} {return 0}
if {[set ts [follow $s massbc([string tolower $uhost:$chan]) $o]] != -1} {
if {$massb(deop)} {
putquick "MODE $chan -o $nick"
putquick "$serv(nick) :[string map [list %nick $nick %chan $chan] $serv(command)]"
}
punish:method $massb(pmeth) $nick $uhost $chan [ap:mapr $massb(kmsg) "$o bans in $ts secs"] $massb(wmsg) $massb(btype) $massb(btime) $massb(klmsg) $massb(ktime) $massb(ktype) [string tolower $uhost]:massb
}
}

proc massd:kick {nick uhost hand chan mc targ} {
global massdeop mssdeop serv admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
foreach {o s} [split [channel get $chan ap:massd] :] {break}
if {($nick == "") || ($nick == $targ) || [invalid:apf $o $s] || [matchattr $hand f|f $chan] || [onchan $nick $admin_chan] || [matchattr $hand mo|mo $chan]} {return 0}
if {[set ts [follow $s mssdeop([string tolower $uhost:$chan]) $o]] != -1} {
if {$massdeop(deop)} {
putquick "$serv(nick) :[string map [list %chan $chan %nick $nick] $serv(command)]"
if {[botisop $chan]} {
putquick "MODE $chan -o $nick"
}
}
punish:method $massdeop(pmeth) $nick $uhost $chan [ap:mapr $massdeop(kmsg) "$o deops in $ts secs"] $massdeop(wmsg) $massdeop(btype) $massdeop(btime) $massdeop(klmsg) $massdeop(ktime) $massdeop(ktype) [string tolower $uhost]:massdeop
}
}

proc massk:kick {nick uhost hand chan targ rsn} {
global masskick msskick serv admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
config:lim $nick $uhost $hand $chan $targ $rsn
foreach {o s} [split [channel get $chan ap:massk] :] {break}
if {($nick == $targ) || [invalid:apf $o $s] || [matchattr $hand f|f $chan] || [onchan $nick $admin_chan] || [matchattr $hand mo|mo $chan]} {return 0}
if {[set ts [follow $s msskick([string tolower $uhost:$chan]) $o]] != -1} {
if {$masskick(deop)} {
putquick "$serv(nick) :[string map [list %chan $chan %nick $nick] $serv(command)]"
if {[botisop $chan]} {
putquick "MODE $chan -o $nick"
}
}
punish:method $masskick(pmeth) $nick $uhost $chan [ap:mapr $masskick(kmsg) "$o kicks in $ts secs"] $masskick(wmsg) $masskick(btype) $masskick(btime) $masskick(klmsg) $masskick(ktime) $masskick(ktype) [string tolower $uhost]:masskick
}
}

proc nickf:kick {nick uhost hand chan nn} {
global nickflood nckflood admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0
}
}
}
if {[string first # $chan] != 0 } {return 0}
foreach {o s} [split [channel get $chan ap:nickf] :] {break}
if {[invalid:apf $o $s] || [onchan $nick $admin_chan] || [invalid:apc $nn $hand $chan]} {return 0}
if {[set ts [follow $s nckflood([string tolower $uhost:$chan]) $o]] != -1} {
punish:method $nickflood(pmeth) $nn $uhost $chan [ap:mapr $nickflood(kmsg) "$ts saniye içerisinde $o defa"] $nickflood(wmsg) $nickflood(btype) $nickflood(btime) $nickflood(klmsg) $nickflood(ktime) $nickflood(ktype) [string tolower $uhost]:nickflood
}
}

proc config:lim {nick uhost hand chan args} {
global clim
if {[string is integer [set l [channel get $chan ap:limit]]] && $l > 0 && [botisop $chan]} {
if {[string match *l* [lindex [split [getchanmode $chan]] 0]]} {
if {abs($l - ([set cl [lindex [split [getchanmode $chan]] end]] - [set ccl [llength [chanlist $chan]]])) > ceil($l * 30 / 100.0)} {
pushmode $chan +l [expr {$ccl + $l}]
}
} {
pushmode $chan +l [expr {[llength [chanlist $chan]] + $l}]
}
}
}

proc nosense:kick {nick uhost hand chan} {
global nosense admin_chan
if {[info exists ::muafg]} {
foreach mf $::muafg {
if {[string match -nocase $mf $nick!$uhost]} {
return 0

 
Alıntı ile Cevapla

Alt 23 Aralık 2011, 03:44   #10
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: scanx tcl hatta




O satırı bulmak için Office Excel yüklüyse ona kopyala tcl'nin içindekileri ordanda satır sırasını görebilirsin. En azından daha kısa bir alanı burda paylaşmış olursun.

 
Alıntı ile Cevapla

Cevapla

Etiketler
hata, hatta, scanx, tcl


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
ScanX bot hata var yardim edermisiniz cavit7777 Eggdrop, NeoStats, BNC 12 14 Ağustos 2013 22:53
* IRC`den Çıktı: @ScanX (ScanX@ScanX.***.Net) (Max SendQ exceeded) Sorunu cihangarip TCL Scriptler 5 30 Ekim 2011 17:06
ScanX hata Raw Eggdrop, NeoStats, BNC 1 07 Nisan 2009 22:25
ScanX hata... onNes Eggdrop, NeoStats, BNC 0 04 Nisan 2009 20:41
Unreal Kurulumu - Hata Hata Hata :@ fatal Unreal IRCd 2 20 Şubat 2007 18:46