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

 Kayıt ol  Topluluk
8Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 27 Nisan 2012, 20:38   #11
Ç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




TCL 'nin Türkçe'ye çevrilmiş hali, şu an kullandığım ve %100 çalışan son halini paylaşıyorum.

Komutlar şöyle;

!badekle Nick ( wildcard kullanımı var, Ni?k!*@* veya nick!ident@host şeklinde kullanabilirsiniz. )


!badsil Nick ( wildcard veya host & ip yazılabilir gene, silmek için bu da )

!banekle Nick ( aynı şekilde ekler lakin kalıcı ban ekler, -b yapılsa bile bot gene +b yapar kendisi )
!bansil Nick ( bu da kalıcı ban siler )


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # BADNICK.TCL set badnick_version "2.4.4" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Copyright (c) 2006 AzaToM - ToM@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].MindForge.org # - skiidoo@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].freenode.net # - [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # DESCRIPTION: # Handles the banlist ... #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # CHANGELOG: # v1.0 - John # Script creation # v2.1 - ToM # Script rewriting: all e-ops is now handled by getmodes.tcl # Added !ListBadNickS (with an S) # Restructured and simplified the code # RemBadNick & AddBadNick: Added a warning if no reason is given. # v2.2 # Made the banlist items displaying a human readable format. # ListBadNicks is now locked only while someone is already viewing a list. # v2.3 # !ListBans has an argument ("all" or "full") to display the banlist with details # v2.3.1 # We now check if the mask given to !addbadnick is a valid hostmask # Removed the BadNick:filter proc - not used anywhere... # v2.3.2 # Fixed the last active date. # v2.3.3 # Gives the banlist length at the beginning of !ListBadNick # v2.4.0 # Implements some switches: --all --full --sortby=* # Fixes the last active date being 1970... # v2.4.1 # Uses namespaces # --last and maximal output lines setting # v2.4.2 # Improves the mask correction # If the ban already exists, updates its reason # v2.4.3 # !RemBadNick accepts several masks, and returns a complete report # !ListBadNicks --countonly # Added short options (-h -a -f -c -l -s) # v2.4.4 # Improves the mask correction #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # TODO: # - Add a way to do it in PM.. bind msg o|o blahbadnick #chan *!*@* # - !AddBan: check if an existing ban is not already covering the given mask #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # CONFIGURATION #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ namespace eval ::badnick { # BINDS set binds(list) "!Liste !Topluliste !Banlananlar" set binds(add) "!Badekle !Banekle" set binds(delete) "!Badsil !Bansil" # Maximal length of a banlist to be sent by PM (set to 0 to unlimit) set cfg(maxlist) 120 # Admin channel where the reports will be sent set cfg(adminchan) "#Opers" # Debug messages go to (leave empty to disable)... set cfg(debug) "#Opers" } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # END OF CONFIGURATION - Do not edit below until you know what you are doing :) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # init on rehash set ::badnick::listbadnick 0 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # BINDING #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 :Ban listesine şu an başkası bakıyor, birazdan tekrar deneyin." return } set listbadnick [unixtime]${chan} set banlist [banlist $chan] set banlistlength [llength $banlist] if { $banlistlength == 0 } { puthelp "privmsg $nick :Belirtilen $chan İçin ban listesi boş." set listbadnick 0 return } proc isdigit {string} { regexp {^[0-9]+$} $string } # Default options set order "date" set fulloutput 0 set range 0 # Default output set out(range) "" foreach argument $arg { switch -glob -- [string tolower $argument] { "-h" - "--help" { putserv "notice $nick :Kullanım: \002$::lastbind <seçenekler>\017. Geçerli seçenekler:" putserv "notice $nick :\002--countonly\017 : Kanal için ban listesini gösterir: $chan)" putserv "notice $nick :\002--full\017 : Her bandaki her boşluğu belirtir --all geneldir.)" 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 Listesi [expr { ($length == 0) ? "no" : $length }] şeklinde.." 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" } } } # Sort the 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 :Ban listesi $banlistlength banları uzun, lütfen --last eç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)] "Dahili ban listesi başlangıcı: $chan (@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] # comment set bancomment [lindex $ban 1] # expire - not used, all are perm # set banexpire [ctime [expr [lindex $ban 2]]] # time added set bantimeadded [clock format [lindex $ban 3] -format "%Y/%m/%d %H:%M"] # time last active 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) - by $bancreator ($bantimeadded - Son aktivite: $banlastactive)" } else { puthelp "PRIVMSG $nick :$chan: $banmask ($bancomment) by $bancreator" } } puthelp "PRIVMSG $nick :Ban listesi sonu: $chan" 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 "PRIVMSG $chan :Lütfen bir nick/maske ve sebep belirtin." return 0 } set reason [join [lrange [split $arg] 1 end]]; if { $reason == "" } { puthelp "PRIVMSG $chan :Lütfen sebep de belirtin." 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 "PRIVMSG $chan :Görünen o ki \002$victim\002 Geçerli bir maske değil. Şöyle kullandığınızdan emin olun: nick!ident@host gibi." ::badnick::report "!AddBan: $nick!$uhost @ $chan: Yanlış maske: ($victim): $arg" return 0 } # Let's add the ban now ! if { [isban $banmask $chan] } { set out "$banmask listede zaten var. Sadece sebebi \"$reason\". şeklinde değiştirdim." } else { set out "$banmask eklendi: $chan ban listesi." } 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 :Hangi banı temizleyeceğimiz söylemelisiniz. Örneğin: \002$::lastbind --help\017" return 0 } if { [lindex $arg 0] == "--help" || [lindex $arg 0] == "-h" } { puthelp "NOTICE $nick :Kullanım: \002$::lastbind <masks>\017 (Aynı anda boşluk bırakarak birden fazla mask kullanabilirsiniz.)." 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 silindi: [join $removed ", "]" } if { [llength $notfound] } { putserv "notice $nick :[banbans $notfound] \002Bulunamadı\017 in the $chan ban listesinde: [join $notfound ", "]" } if { [llength $missed] } { putserv "notice $nick :\002Bir \0034hata\003 oluştu: [banbans $missed]\017: [join $missed ", "] ... :(" putserv "privmsg $::badnick::cfg(adminchan) :Şu banları silerken hata oluştu: [join $missed ", "] (isteyen kişi: $nick!$uhost kanal: $chan)" } return } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # TOOLS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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" } #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # INIT #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ catch ::badnick::uninstall ::badnick::binding #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # NAMESPACE MANAGEMENT #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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] }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 27 Nisan 2012, 21:47   #12
Ç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




[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Paylaşımda bulunan ve size yardım etmek isteyenlere lütfen biraz daha saygılı olalım.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] zaten botun user dosyasına bakmasaydı çalışmadığını söylerdi.

 
Alıntı ile Cevapla

Alt 03 Mayıs 2012, 09:46   #13
Çevrimdışı
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




iLviR kod için tşkler .
Fakat kod ekleme/silme/listeleme yapıyor.Ancak ban veya kick atmıyor listedeki nick ve hostlara..

Diğer bir konu ise listelemeleri özele yapıyor.Listeleme yapılan kanal geneline yaptıramazmıyız ?

__________________
mazafaka
 
Alıntı ile Cevapla

Alt 03 Mayıs 2012, 19:47   #14
Ç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




Selam, evet mümkün. Koddaki şu kısmı bulun;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
proc ::badnick::blist { nick uhost hand chan arg } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return } variable listbadnick if { $listbadnick != 0 } { putquick "PRIVMSG $nick :Ban listesine şu an başkası bakıyor, birazdan tekrar deneyin." return } set listbadnick [unixtime]${chan} set banlist [banlist $chan] set banlistlength [llength $banlist] if { $banlistlength == 0 } { puthelp "privmsg $nick :Belirtilen $chan İçin ban listesi boş." set listbadnick 0 return }

Ve Şu şekilde değiştirin;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
proc ::badnick::blist { nick uhost hand chan arg } { if { ![isop $nick $chan] && ![ishalfop $nick $chan] } { return } variable listbadnick if { $listbadnick != 0 } { putquick "PRIVMSG $chan :Ban listesine şu an başkası bakıyor, birazdan tekrar deneyin." return } set listbadnick [unixtime]${chan} set banlist [banlist $chan] set banlistlength [llength $banlist] if { $banlistlength == 0 } { puthelp "privmsg $chan :Belirtilen $chan İçin ban listesi boş." set listbadnick 0 return }

Yani kısa bir anlatımla, $nick yazan yerleri $chan yaparsanız kanala aktaracaktır.

 
Alıntı ile Cevapla

Cevapla

Etiketler
koruma, kötürumuz


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

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