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 |
Cevap: scanx tcl hatta ustalar kimsecikler yardimci olmayacak mi cok Konu aciyordum diyemi yardim etmiyorsunuz :( bilmek ögrenmek istiyorum ne olur yardimci ollun bana scanx hakkinda abilerim |
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. |
Cevap: scanx tcl hatta clubber usta ben hu hattayi nasil bulacam o kadar cok ki 1373 satrini ? |
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. |
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 |
Cevap: scanx tcl hatta Alıntı:
Sen TCL'Yi komple buraya kopyala en iyisi @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] =) |
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 |
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 ;) ## ################################################## ########## # 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ý* Kurallara aykýrýdýr. $kckcount(form)" # Text flood (lines) warn msg. set textl(wmsg) "Uyarý: Uzun Yazý kurallara aykýrýdýr, devamýnýz halinde uzaklaþtýrýlacaksýný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ý yazmak uzaklaþtýrý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ý*. $kckcount(form)" # Text flood (chars) warning msg. set textc(wmsg) "Uyarý: *Çok uzun yazý* kurallara aykýrýdýr! Devamýnýz halinde uzaklaþtýrýlacaksýný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ýrýdý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ýmý yasaktýr. $kckcount(form)" # Notice flood (lines) warn msg. set noticel(wmsg) "Uyarý: Notice Flood yapmayýnýz! Devamýnýz halinde uazkalaþtýrýlacaksýný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ýnýz *büyük harfle yazmak baðýrmak anlamýna gelir!*. $kckcount(form)" # Caps flood warn msg. set capsp(wmsg) "Uyarý: Lütfen BÜYÜK harf kullanmayýnýz. Devamýnýz halinde uzaklaþtýrýlacaksýný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ý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ýr. $kckcount(form)" # Text repeating letter repeats kick msg. set repeatf(kslmsg) "Tekrar yapmayýnýz/Harfleri uzatmayýnýz. $kckcount(form)" # Text repeating warn msg. set repeatf(wmsg) "\002Uyarý:\002 Tekrar yapmayýnýz/Harfleri uzatmayýnýz. Devamýnýz halinde uzaklaþtýrýlacaksýný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ýrýdý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þlarý kullanýmýný azalt. $kckcount(form)" # Control codes warn msg. set codesf(wmsg) "\002Uyarý:\002 ctrl tuþunu çok fazla kullanmayýnýz, devamýnýz halinde uzaklaþtýrýlacaksýný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þu kullanýmý." # 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ý: Reklam yapmayýnýz. Devamýnýz halinde uzaklaþtýrýlacaksýný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ýnýzda bulunan bir virüsten dolayý sunucuya girþiniz yasaklanmýþtý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ý: küfür ve reklam içeren kelimeler kullanmayýnýz. Devamýnýz halinde uzaklaþtýrýlacaksýný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ý: CTCP/CTCR flood korumasý uyarýldý. Devamýnýz halinde uzaklaþtýrýlacaksýný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þ ) $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ýný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þýrý nick deðiþimi. $kckcount(form)" # Nick flood warn msg. set nickflood(wmsg) "Uyarý: Çok fazla nick deðiþimi yaptýnýz. Devamýnýz halinde uzaklaþtýrýlacaksýný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ðiþ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ýmý yasaktý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ðiþ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ý. Buradan Sonrasýnda herhangi bi deðiþiklik ## ##yapmayý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þturmamýþsýnýz ya da bulunamýyor!" putserv "privmsg $admin_chan :\00305Nasýl oluþturacaðýnýzý görmek için !muafbilgi yazýnýz." } if {$count != "1"} { putserv "privmsg $admin_chan :\00303Muaf listesi baþarýyla güncellendi." putserv "privmsg $admin_chan :\00305Ayrýntýlý bilgi için !muafbilgi yazýný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ý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ý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ýðýný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ý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 |
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. |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:41. |
Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net