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

8Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 10 Şubat 2012, 05:02   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Badnick.tcl - kanal koruma




Selam...

bir zamanlar yetkili olduğum bir uluslararası sunucudaki (artık böyle bir yer yok) resmi yardım kanallarını korumakla yetkilendirilmiş eggdroplar için kullandığımız, o sunucudaki coderlar tarafından zamanla ekler yapılarak bu sunucu için geliştirilmiş koruma kodlarından birini burda paylaşıyorum...

Kodun belli bir yazarı-sahibi olduğunu söylemek zor ''anonim'' olduğunu söylemek daha doğru olacaktır sanırım.

bu kod ne yapar -nasıl çalışır?

öncelikle botun op (@) olması gerekir. op olduğu kanallarda en az halfop (%) yetkisine sahip kanal yetkilileri bu kod için kullanılan .

!addbadnick rumuz*!*@* ban sebebi (alternatif olarak !addban komutu)
!rembadnick rumuz*!*@* (alternatifi !remban komutu)
!listbadnick (alternatifleri !listbadnicks yada !listbans komutları) kullanılabilir.


eklenen banlar botun oluşturduğu user-kullanıcı dosyası içinde her kanal için bans-banlar listesi içinde eklenir-listelenir.

ban eklerken sadece rumuz-nicke değil idente - host mask'e yada bunların belirlenen kısımlarına wildcard kullanarak ban eklemek mümkün..

örnek vermek gerekirse.

!addbadnick *!k?t?k*@* ban sebebi buraya bir boşlukla yazın
!addbadnick
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
banlandın gülüm..
!addban
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
de get..

vs vs .. gibi..

tabiki ingilizce bir koddu sizlerin kullanabileceğiniz şekilde lüzumlu yerlerini Türkçe'ye çevirmeye çalıştım.. halen aktif olarak etkin bir şekilde kullanılan hızlı,etkili bir kanal koruma kodudur. sanırım işinize yarayacaktır.

güle güle kullanın..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
set badnick_version "2.4.4" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # AYARLAR #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ namespace eval ::badnick { # BINDS set binds(list) "!ListBadNick !ListBadNicks !ListBans" set binds(add) "!AddBadNick !AddBan" set binds(delete) "!RemBadNick !RemBan" # özelde okutulacak banlist'in uzunluğu ne kadar olsun? (sunursuz olması için 0 girin) set cfg(maxlist) 120 # rapor gönderilecek admin kanalı girin set cfg(adminchan) "#admin-abiler" # hata raporlarının gösterileceği kanal (gerekli değilse boş bırakın)... set cfg(debug) "#ağır-abiler" } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # KURULUM SONU -- ne yaptığınızı bilmiyorsanız bundan sonrasına dokunmayın :) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # init on rehash set ::badnick::listbadnick 0 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc ::badnick::binding { } { variable binds foreach { type triggers } [array get binds] { foreach trigger $triggers { bind pub - $trigger ::badnick::b${type} } } } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # LISTBANS - LISTBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc ::badnick::blist { nick uhost hand chan arg } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return } variable listbadnick if { $listbadnick != 0 } { putserv "PRIVMSG $nick :Banlist'e şu an başka biri bakıyor .Daha sonra deneyin." return } set listbadnick [unixtime]${chan} set banlist [banlist $chan] set banlistlength [llength $banlist] if { $banlistlength == 0 } { puthelp "privmsg $nick : $chan kanalında ban listesi boş." set listbadnick 0 return } proc isdigit {string} { regexp {^[0-9]+$} $string } # öntanımlı seçenekler set order "date" set fulloutput 0 set range 0 # öntanımlı output set out(range) "" foreach argument $arg { switch -glob -- [string tolower $argument] { "-h" - "--help" { putserv "notice $nick :Syntax: \002$::lastbind <options>\017. Valid options are:" putserv "notice $nick :\002--countonly\017 : returns the number of bans from $chan)" putserv "notice $nick :\002--full\017 : returns all the fields from each ban. --all is identical)" putserv "notice $nick :\002--sortby=<key>\017 : (<key> can be \002date\017, \002rdate\017, \002lastactive\017, \002rlastactive\017. Example: \002$::lastbind --sortby=rdate\017" putserv "notice $nick :\002--last=<num>\017 : return only <num> results. Example: \002$::lastbind --last=5\017" return set listbadnick 0 } "-c" - "--countonly" { set length [llength [banlist $chan]] putserv "notice $nick :$chan Ban List has [expr { ($length == 0) ? "no" : $length }] bans." set listbadnick 0 return } "-f" - "--full" - "-a" - "--all" { set fulloutput 1 } "-s=*" - "--sortby=*" { switch -- $argument { "--sortby=date" { set order "date" } "--sortby=rdate" { set order "reverse date" } "--sortby=lastactive" { set order "last active date" } "--sortby=rlastactive" { set order "reverse last active date" } default { ::badnick::report "$nick!$uhost @ $chan: Unknown --sortby argument: [lindex [split $argument "="] 1]" putserv "notice $nick :Unknown --sortby argument: [lindex [split $argument "="] 1]" } } } "-l=*" - "--last=*" { set range [lindex [split $argument "="] 1] if { ! [isdigit $range] } { puthelp "notice $nick :The --last option accepts only integer digits." ::badnick::report "$nick!$uhost @ $chan: Unknown --last argument: $range" set range 0 } } default { ::badnick::report "$nick!$uhost @ $chan: Unknown argument: $argument" putserv "notice $nick :Unknown argument: $argument" } } } # banlist switch -- $order { "date" { set banlist [lsort -increasing -index 3 $banlist] } "reverse date" { set banlist [lsort -decreasing -index 3 $banlist] } "last active date" { set banlist [lsort -increasing -index 4 $banlist] } "reverse last active date" { set banlist [lsort -decreasing -index 4 $banlist] } default { putlog "Bad sort option: $order" } } set out(order) ", sorted by $order" set length [llength $banlist] if { $length != $banlistlength } { set out(length) "$length bans on $banlistlength" } else { set out(length) "$banlistlength bans" } # Limit the output if requested # Suggest --last if the ban list is too long variable cfg if { $range != 0 } { set banlist [lrange $banlist end-[expr $range -1] end] set out(range) ", last $range bans" } elseif { $banlistlength > $cfg(maxlist) } { puthelp "notice $nick :Mevcud ban listesi $banlistlength uzunluğunda.., lütfen --last seçeneğini kullanın. Örnek: $::lastbind [join $arg] --last=$cfg(maxlist)" set listbadnick 0 return } set out(start) [string map[list "@length" $out(length) "@order" $out(order) "@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ge" $out(range)] "Ban listesi $chan kanalı (@length@order@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]ge):"] puthelp "PRIVMSG $nick :$out(start)" foreach ban $banlist { # *!*@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] {"some tests in progress"} 0 1166470558 0 ToM # hostmask, comment, expiration timestamp, time added, last time active, creator # 0 1 2 3 4 5 # ban mask set banmask [lindex $ban 0] # yorum set bancomment [lindex $ban 1] # expire - not used, all are perm # set banexpire [ctime [expr [lindex $ban 2]]] # eklendiği zaman set bantimeadded [clock format [lindex $ban 3] -format "%Y/%m/%d %H:%M"] # son aktıf zaman if { [lindex $ban 4] == 0 } { set banlastactive "Never" } else { set banlastactive [clock format [lindex $ban 4] -format "%Y/%m/%d %H:%M"] } # creator set bancreator [lindex $ban 5] if { $fulloutput == 1 } { puthelp "PRIVMSG $nick :$chan: $banmask ($bancomment) - $bancreator tarafından ($bantimeadded - Last active: $banlastactive) eklendi." } else { puthelp "PRIVMSG $nick :$chan: $banmask ($bancomment) $bancreator tarafından eklendi." } } puthelp "PRIVMSG $nick : $chan kanalı için ban listesi sonu." set listbadnick 0 return } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ADDBAN - ADDBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc ::badnick::badd { nick uhost hand chan arg } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } set victim [lindex [split $arg] 0] if { $victim == "" } { puthelp "NOTICE $nick :Bir nick/mask ve bir sebep belirtiniz lütfen." return 0 } set reason [join [lrange [split $arg] 1 end]]; if { $reason == "" } { puthelp "NOTICE $nick :Bir sebep belirtiniz lütfen." return 0 } if { [string first "!" $victim ] == -1 && [string first "@" $victim ] == -1 } { # Turn the single nick to a complete hostmask set banmask "$victim!*@*" } else { # Trying to correct the wrong masks set banmask $victim if { [string equal [string range $banmask 0 0] "!"] } { set banmask "*$banmask" } if { [string equal [string range $banmask end end] "!"] } { set banmask "$banmask*@*" } if { [string equal [string range $banmask end end] "@"] } { set banmask "$banmask*" } set banmask [string map {"!@" "!*@"} $banmask] } # Final test if { ! [regexp -- {^[^!@]+![^!@]+@[^!@]+$} $banmask] } { puthelp "NOTICE $nick :Görünüşe göre\002 $victim\002 hatalı bir mask. Doğru bir nick!ident@host mask girdiğinize emin olunuz." ::badnick::report "!AddBan: $nick!$uhost @ $chan: hatalı mask ($victim): $arg" return 0 } # Let's add the ban now ! if { [isban $banmask $chan] } { set out "$banmask halihazırda ban listesinde var. Ban sebebi değiştirildi. \"$reason\"." } else { set out "$banmask $chan kanalında ban liste eklendi." } newchanban $chan $banmask $nick $reason 0 none puthelp "NOTICE $nick :$out" } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # REMBAN - REMBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc ::badnick::bdelete { nick uhost hand chan arg } { if { ! [isop $nick $chan] && ! [ishalfop $nick $chan] } { return 0 } if { $arg == "" } { puthelp "NOTICE $nick :Bana hangi banı kaldırmak istediğinizi yazmalısınız.. Böyle deneyiniz. \002$::lastbind --help\017" return 0 } if { [lindex $arg 0] == "--help" || [lindex $arg 0] == "-h" } { puthelp "NOTICE $nick :Syntax: \002$::lastbind <masks>\017 (Birkaç mask verebilirsiniz, aralarında boşluk bırakınız)." return 0 } set removed [list] ; set notfound [list] ; set missed [list] foreach mask [lrange $arg 0 end] { if { [string first "!" $mask ] == -1 } { append mask "!*@*" } if { [killchanban $chan $mask] } { lappend removed $mask } elseif { [isban $mask $chan] } { # This should never happen lappend missed $mask } else { lappend notfound $mask } } proc banbans { masklist } { return [expr { ([llength $masklist] == 1) ? "Ban" : "Bans" }] } if { [llength $removed] } { putserv "notice $nick :[banbans $removed] başarıyla kaldırıldı.: [join $removed ", "]" } if { [llength $notfound] } { putserv "notice $nick :[banbans $notfound] $chan kanalı Ban Listinde \002Bulunamadı\017 $chan Ban List: [join $notfound ", "]" } if { [llength $missed] } { putserv "notice $nick :\002Bir \0034Hata\003 oluştu [banbans $missed]\017: [join $missed ", "] ... :(" putserv "privmsg $::badnick::cfg(adminchan) :Bu banları kaldırırken bir hata oluştu: [join $missed ", "] ( $nick!$uhost tarafından $chan kanalında)" } return } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Araçlar #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc ::badnick::edebug { text } { variable cfg if { $cfg(debug) == "" } { return } putserv "privmsg $cfg(debug) :\00315(badnick) $text\017" } proc ::badnick::report { text } { variable cfg if { $cfg(adminchan) == "" } { return } putserv "privmsg $cfg(adminchan) :<BadNick.tcl> $text" } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ catch ::badnick::uninstall ::badnick::binding #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind evnt - prerehash ::badnick::uninstall proc ::badnick::uninstall { args } { foreach bind [binds [namespace current]::*] { foreach {a b c d e} $bind break unbind $a $b $c $e } namespace delete [namespace current] } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ putlog "BadNick v$badnick_version loaded."


__________________
Beş Tas Has Hoş Hoşaf.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 10 Şubat 2012, 06:31   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Bu TCL yi 2 gün önce indirip kullandım evet bu türkçe versiyonu gayet güzel. Ama sevmediğim bir yanı var mesela opers kanalında tek komutla tüm kanallarda badnick eklemiyo. Kanalların hepsine tek tek eklemek zorunda kalıyoruz. Wildcard kullanımına izin veriyo ve host felan eklenebiliyo ident vs bu özelliği güzel. Ama tek komut olsa daha iyiydi kanımca. Herşeye rağmen mevcut en iyi badnick tcl bu bana göre. Eline sağlık.

 
Alıntı ile Cevapla

Alt 10 Şubat 2012, 08:39   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Bu, daha ziyade kanal yetkililerinin kullanımına yönelik hazırlanmış.tabi her sunucunun yönetim şekli-anlayışı farklı .benim olduğum sunucuda sunucu yönetimi kanal içi işlere karışmazdı.kanal sahibi sunucu yetkilisine gel şunu hallet demediği sürece...sunucu yetkilileri adminler ircoplar vs.. sadece sunucuyu korumak kollamakla alakalıydı kanalı korumak tamamen o kanal yetkililerine bırakılmıştı...

buna benzer yazılmış-yayınlanmış-paylaşılmış bir iki kod mevcud ..ekleme-çıkarma-listeleme işi yapan ..ancak bu net üzerinde yabancı sitelerde paylaşılmış olanlardan farklı ,o sunucu için düzenlenmiş-geliştirilmişti..yerlide zaten olmaz ya yabancı sitelerde de olduğunu-paylaşıldığını sanmıyorum çünkü bunlara erişim sunucu yetkililerindeydi.. bende olmasının nedeni bu..

o sunucuda kullanmış olduğumuz başka koruma kodlarınıda peyderpey burda paylaşıcam...

__________________
Beş Tas Has Hoş Hoşaf.
 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 19:26   #4
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Denedim fakat bot saçmalıyor , !listbadnick yazıyorum Ban listesi boş diyor.Badnick listesi boş demesi lazım.Ve wildcard kullanarak badnick ekleyemiyorum.

__________________
mazafaka
 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 19:55   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Bot db oluşturamıyor olabilir, kodu detaylı bir şekilde incelemek gerek yazan çok karmaşık yazmış.

Bu arada;

Alıntı:
!addbadnick
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
banlandın gülüm..

!addban *!adamim*@*.bilmemne.us de get..

Ban sebeplerine bayıldım, Heartbroken
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 20:01   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
puthelp "privmsg $nick : $chan kanalında ban listesi boş."

bu satırdaki yazıyı Badnick listesi boş yada istediğiniz şekilde değişebilirsiniz.çeviren böyle çevirmeyi uygun görmüş. bu sorun değil..

ancak çalışmıyor demişiniz asıl bu sorun...

botun .user dosyasında banın eklendiği her kanal için

ayrı ayrı:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
::#kanal-adı bans - *!*5B27DB@*:+0:+1316267152:0:k_1:"do not PM users without asking permission first. " - *!*AA482D@*:+0:+1315978361:0:Chief-Roc:"access denied" - *!*99EE29@*:+0:+1315965113:0:k_1:"don't pm channel users without asking permission first. " - *!*stevin@*:+0:+1315964904:0:k_1:"no way in.." - *pthc*!*@*:+0:+1315742740:0:k_1:"forbidden for perverts" - *!*2D7FA4@*:+0:+1315744919:0:k_1:" banned out !!"

şeklinde bu kodla eklenmiş ban listesi gözüküyor olmalı. (eğer kod düzgün çalışıyorsa)
bu kodla eklenen banlar direk olarak botun bot.user dosyasına kayıt ediliyor ..ayrı bir badnick.txt vs oluşturmuyor.

eğer sizin ekledikleriniz user dosyasında görünmüyorsa bir sorun var demektir.

bu kodun sağlamlığına kefil olabilirim çünkü bu kodu ana kanallarında,en kalabalık kanallarında kullanan en az iki yabancı sunucu adı verebilirim .son 10 yıldır bu kodu kullanıyorlar ..kodun sağlıklı işlemesi için bot.user dosyasını görebilmesi ve botun kanalda op olması gerekir.

 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 20:03   #7
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




Evet karışmış birbirine arkadaş çevirdim diyor belki o bir yerde hata yapmıştır.Bunun gibi ekleme/silme yapabileceğimiz bir tcl varmı bildiğiniz ?

__________________
mazafaka
 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 20:09   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




buyrun size direk bu kodun orjinalini çevrilmemiş halini vereyim..bundan daha iyi badnick scripti piyasada yok. pek çoğunu denemiş biri olarak rahatlıkla söyleyebilirim.

not: kopyala -yapıştır yaparken Windows notepad ile eklenen kodlarda kayma bozulma bazı karakterlerin yok olması vs gibi problemler olabiliyor.bu tür kodlarda size bu kodları kaydetmek için [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] notepad++'yı önerebilirim bu tür sorunlar bunla olmaz copy-paste olayında..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # BADNICK.TCL set badnick_version "2.3" # PREVIOUS CHANGELOG: # (removed the changelog entries about e-ops; using the eBotnet system made it unused) # Unk: 12Jan2004: TODO: Allow these to be done in PM.. Find a way to doglobal securly. # Unk: 11Jan2004: Initial creation #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # TODO: # Check the ban mask format, probably using a regexp. # Add a way to do it in PM.. bind msg o|o blahbadnick #chan *!*@* # Make the banlist date/time readable for humans :) # # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # init on rehash set listbadnick 0 unset listbadnick #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # LISTBANS - LISTBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind pub - 'ListBadNick BadNick:pub:ListBadNick bind pub - 'ListBadNicks BadNick:pub:ListBadNick bind pub - 'ListBans BadNick:pub:ListBadNick proc BadNick:pub:ListBadNick {nick uhost hand chan arg} { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } global listbadnick if { [ info exists listbadnick ] == 1 } { putserv "PRIVMSG $nick :Someone is currently viewing a Banlist, please try again later." return 0 } set listbadnick 1 puthelp "PRIVMSG $nick :Start Internal Banlist for $chan:" foreach ban [banlist $chan] { # hostmask, comment, expiration timestamp, time added, last time active, and creator # ban mask set banmask [lindex $ban 0] # comment set bancomment [lindex $ban 1] # expire - not used, all are perm # set banexpire [ctime [expr [lindex $ban 2]]] # time added set bantimeadded [ctime [expr [lindex $ban 3]]] # time last active set banlastactive [ctime [expr [unixtime] - [lindex $ban 4]]] # creator set bancreator [lindex $ban 5] if { $arg == "full" | $arg == "all" } { puthelp "PRIVMSG $nick :$chan Banlist: $banmask ($bancomment) added by $bancreator on $bantimeadded (Last active: $banlastactive)" } elseif { $arg == "raw" } { puthelp "PRIVMSG $nick :$chan Banlist: $ban" } else { puthelp "PRIVMSG $nick :$chan Banlist: $banmask ($bancomment) by $bancreator" } } puthelp "PRIVMSG $nick :End Internal Banlist for $chan" unset listbadnick } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ADDBAN - ADDBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind pub - 'AddBadNick BadNick:pub:AddBadNick bind pub - 'AddBan BadNick:pub:AddBadNick proc BadNick:pub:AddBadNick {nick uhost hand chan arg} { # Where the hell does this come from ?? global EngNickChangeTrigWarn EngNickChangeMsgBan EngNickChangeBanTime if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } set name [lindex [split $arg] 0] set reason [join [lrange [split $arg] 1 end]]; if { $reason == "" } { puthelp "NOTICE $nick :Please provide a reason." return 0 } # No need to retest the reason, we just did it... if { ($name == "") || ($reason == "") } { puthelp "NOTICE $nick :Please provide a name and a reason." return 0 } if {( [string first "!" $name ] == -1 )} { newchanban $chan $name!*@* $nick \"$reason\" 0 none puthelp "NOTICE $nick :$name!*@* should be added to $chan nickban list." } else { newchanban $chan $name $nick \"$reason\" 0 none puthelp "NOTICE $nick :$name should be added to $chan nickban list." } } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # REMBAN - REMBADNICK #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind pub - 'RemBadNick BadNick:pub:RemBadNick bind pub - 'RemBan BadNick:pub:RemBadNick proc BadNick:pub:RemBadNick {nick uhost hand chan arg} { # Where the hell does this come from ?? global EngNickChangeTrigWarn EngNickChangeMsgBan EngNickChangeBanTime if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return 0 } if { ($arg == "") } { puthelp "NOTICE $nick :You need to tell me which ban to remove =)" return 0 } set name [lindex $arg 0] if {( [string first "!" $name ] == -1 )} { if ([killchanban $chan $name!*@*]) { puthelp "NOTICE $nick :$name!*@* should be removed from $chan nickban list" } else { puthelp "NOTICE $nick!*@* :Nickban wasn't removed." } return 0 } if ([killchanban $chan $name]) { puthelp "NOTICE $nick :$name should be removed from $chan nickban list" } else { puthelp "NOTICE $nick :Nickban wasn't removed!" } } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # FILTER #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proc BadNick:filter {str} { # regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\037|\002|\026|\006|\007} $str "" str regsub -all -nocase {[^a-z*?@!]} $str "" str return $str } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ putlog "BadNick v$badnick_version loaded."


 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 20:11   #9
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




saywhat Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
puthelp "privmsg $nick : $chan kanalında ban listesi boş."

bu satırdaki yazıyı Badnick listesi boş yada istediğiniz şekilde değişebilirsiniz.çeviren böyle çevirmeyi uygun görmüş. bu sorun değil..

ancak çalışmıyor demişiniz asıl bu sorun...

botun .user dosyasında banın eklendiği her kanal için

ayrı ayrı:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
::#kanal-adı bans - *!*5B27DB@*:+0:+1316267152:0:k_1:"do not PM users without asking permission first. " - *!*AA482D@*:+0:+1315978361:0:Chief-Roc:"access denied" - *!*99EE29@*:+0:+1315965113:0:k_1:"don't pm channel users without asking permission first. " - *!*stevin@*:+0:+1315964904:0:k_1:"no way in.." - *pthc*!*@*:+0:+1315742740:0:k_1:"forbidden for perverts" - *!*2D7FA4@*:+0:+1315744919:0:k_1:" banned out !!"

şeklinde bu kodla eklenmiş ban listesi gözüküyor olmalı. (eğer kod düzgün çalışıyorsa)
bu kodla eklenen banlar direk olarak botun bot.user dosyasına kayıt ediliyor ..ayrı bir badnick.txt vs oluşturmuyor.

eğer sizin ekledikleriniz user dosyasında görünmüyorsa bir sorun var demektir.

bu kodun sağlamlığına kefil olabilirim çünkü bu kodu ana kanallarında,en kalabalık kanallarında kullanan en az iki yabancı sunucu adı verebilirim .son 10 yıldır bu kodu kullanıyorlar ..kodun sağlıklı işlemesi için bot.user dosyasını görebilmesi ve botun kanalda op olması gerekir.

Kodun düzgün çalışıp çalışmadiğindan emin olmadiğin halde nasıl kefil olabiliyorsun ? Bence önce kendin bu kodu denemelisin ondan sonra bu mesajı yazmaliydin.Yinede ilgin için tşkler.

__________________
mazafaka
 
Alıntı ile Cevapla

Alt 27 Nisan 2012, 20:16   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Badnick.tcl - kanal koruma




yaklaşık 8 yıl kadar bu kodla tecrübem var ..aksi halde o bot.user dosyasındaki ban mesajlarını size gösteremezdim..buna erişimim olmazdı ve bu kodun 3-4 farklı versionu orijinalleri elimde olmazdı...

 
Alıntı ile Cevapla

Cevapla

Etiketler
koruma, kötürumuz


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
oper badnick koruma elementh mIRC Scripting Sorunları 3 11 Mayıs 2014 02:31
kanal koruma ve kişisel koruma addon isteği Svs1988 mIRC Scripting Sorunları 1 05 Ekim 2011 10:34
BADnick koruma kodu değişikliği. Fr33 mIRC Scripting Sorunları 3 15 Şubat 2010 16:42
Badnick + Koruma Teori mIRC Scripting Sorunları 7 22 Ekim 2006 12:20