IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum

IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum (https://www.ircforumu.net/)
-   TCL Scriptler (https://www.ircforumu.net/tcl-scriptler/)
-   -   version-ve-finger-cevapli-appletler-icin (https://www.ircforumu.net/tcl-scriptler/2867-version-ve-finger-cevapli-appletler-icin.html)

immortaL 02 Temmuz 2016 14:20

version-ve-finger-cevapli-appletler-icin
 
version-ve-finger-cevapli-appletler-icin

Kod:

#########################
# VERSION ve FINGER TCL #
#########################

# Log kanalini belirtiniz.
set vrsy(knal) "#Log"

# Portu belirtiniz.
set vrsy(port) "7000"

# Versiyon korumasinin durumu. Kapatmak icin: "0" yapiniz.
set vrsy(vdrm) "1"

# Applet versiyon cevabini yaziniz.
set vrsy(aplt) "*FlaxChat 1?8?022 Sun Microsystems Inc? 1?6?0?29*"

# Finger korumasinin durumu. Kapatmak icin: "0" yapiniz.
set vrsy(fdrm) "1"

# Applet finger cevabini yaziniz.
set vrsy(fngr) "*FlaxChat sohbet appleti kullaniyorum? FlaxChat 1?8?022*"

# Atilacak olan x:line islemi.
# X:line(lar): "SHUN", "KLINE", "ZLINE", "GLINE", "GZLINE"
set vrsy(xlne) "GZLINE"

# X:Line suresini belirtiniz.
# "1d" = 1 gun.
# "1h" = 1 saat.
# "30m" = 30 dakika.
# "30s" = 30 saniye.
# "0" = Suresiz.
set vrsy(sure) "15m"

# X:line sebebini belirtiniz.
set vrsy(rasn) "\002VERSION\002 ve/veya \002FINGER\002 kontrolunden gecemediniz. Lutfen bir sure sonra sunucumuzun web adresinden tekrar girmeyi deneyiniz."

# Cevap vermeyen client programlarini ne kadar sure beklesin ? (Saniye cinsinden.)
set vrsy(tmrs) "7"

# Sunucuya girenler hakkinda log kanal'ina bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lcon) "1"

# Log kanalina versiyon korumasindan basariyla gecenler hakkinda bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lcok) "1"

# Log kanalina versiyon korumasindan gecemeyenler hakkinda bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lmsg) "1"

# Web portundan giriste kullaniciya versiyon ve finger kontrollerinden basarili bir sekilde gectigine dair mesaj atilmasi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(unot) "1"

# Kullaniciya mesaj ne olarak iletilsin ? Notice icin: "NOTICE" Ozele mesaj icin: "PRIVMSG" yaziniz.
set vrsy(mmtd) "NOTICE"

# Kullaniciya versiyon korumasindan gectigine dair gidecek olan mesaji belirtiniz.
set vrsy(vmsg) "\002VERSION\002 kontrolunden basarili bir sekilde gectiniz."

# Kullaniciya finger korumasindan gectigine dair gidecek olan mesaji belirtiniz.
set vrsy(fmsg) "\002FINGER\002 kontrolunden basarili bir sekilde gectiniz."

# Log kanalina cevap vermeyen client baglantilarini uzaklastirdigina dair bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lnvr) "1"

# Log kanalina versiyon korumasi sirasinda nick degisir ise bilgi vermesi icin 1 yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lndg) "1"

# Log kanalina finger korumasindan gecemeyenler hakkinda bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lfgd) "1"

# Log kanalina finger korumasindan basariyla gecenler hakkinda bilgi vermesi icin "1" yapiniz. Kapatmak icin: "0" yapiniz.
set vrsy(lfgt) "1"

##############################################
#        Ayarlamalar buraya kadardi.        #
#        Bundan sonrasina dokunma.          #
#          Bozulur ve calismaz. :)          #
# Biliyor olsaydin kendin yapardin zaten. :( #
##############################################

bind raw * notice connect:user
proc connect:user {from keyword arg} {
global botnick vrsy
        if {[string match -nocase "*Client connecting*" $arg]} {
                set nick [lindex $arg 9]
                set port [string range [lindex [split [lindex $arg 8] ":"] 0] 0 end]
                set ident [string range [lindex [split [lindex $arg 10] "@"] 0] 1 end]
                set host [string range [lindex [split [lindex $arg 10] "@"] 1] 0 end-1]
                if {$port != $vrsy(port)} {
                        putquick "PRIVMSG $nick :\1FINGER\1"
                        putquick "PRIVMSG $nick :\1VERSION\1"
                }
                if {$port == $vrsy(port)} {
                        if {$vrsy(lcon) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002CONNECT\002) - \002$nick ($ident@$host)\002 su anda \002WEB\002 portundan sunucuya giris yapti, \002FINGER\002 ve \002VERSION\002 kontrolu yapiliyor." }
                        if {$vrsy(vdrm) == "1"} { set ::appver($nick) $nick; bind ctcr - VERSION applet:version; putquick "PRIVMSG $nick :\1VERSION\1"; utimer $vrsy(tmrs)[list applet:no:version $nick] }
                        if {$vrsy(fdrm) == "1"} { set ::appfin($nick) $nick; bind ctcr - FINGER applet:finger; putquick "PRIVMSG $nick :\1FINGER\1"; utimer $vrsy(tmrs)[list applet:no:finger $nick] }
                }
        }
        if {[string match -nocase "*changed his/her nickname*" $arg]} {
                set nick [lindex $arg 4]
                set ident [string range [lindex [split [lindex $arg 5] "@"] 0] 1 end]
                set host [string range [lindex [split [lindex $arg 5] "@"] 1] 0 end-1]
                set newnick [lindex $arg 11]
                if {$vrsy(vdrm) == "1"} {
                        if {[info exists ::appver]} {
                                foreach {rumuz veri} [array get ::appver] {
                                        if {$rumuz == $nick} {
                                                unset ::appver($rumuz)
                                                set ::appver($newnick) $newnick
                                                if {$vrsy(lndg) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002NICK\002) - \002$nick\002 \002VERSION\002 korumasi sirasinda nickini degistirerek \002$newnick\002 oldu." }
                                                bind ctcr - VERSION applet:version
                                                putquick "PRIVMSG $newnick :\1VERSION\1"
                                                utimer $vrsy(tmrs)[list applet:no:version $newnick]
                                        }
                                }
                        }
                }
                if {$vrsy(fdrm) == "1"} {
                        if {[info exists ::appfin]} {
                                foreach {rumuz veri} [array get ::appfin] {
                                        if {$rumuz == $nick} {
                                                unset ::appfin($rumuz)
                                                set ::appfin($newnick) $newnick
                                                if {$vrsy(lndg) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002NICK\002) - \002$nick\002 \002FINGER\002 korumasi sirasinda nickini degistirerek \002$newnick\002 oldu." }
                                                bind ctcr - FINGER applet:finger
                                                putquick "PRIVMSG $newnick :\1FINGER\1"
                                                utimer $vrsy(tmrs)[list applet:no:finger $newnick]
                                        }
                                }
                        }
                }
        }
}

proc applet:version {nick uhost handle {dest ""} keyword arg} {
global botnick vrsy
        if {[string match $vrsy(aplt) $arg]} {
                if {$vrsy(unot) == "1"} { putquick "$vrsy(mmtd) $nick :$vrsy(vmsg)" }
                if {$vrsy(lcok) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002VERSION\002) - \002$nick\002 \002VERSION\002 korumasindan basariyla gecti." }
                unset ::appver($nick)
                unbind ctcr - VERSION applet:version
        } else {
                if {$vrsy(xlne) == "SHUN"} { putquick "$vrsy(mmtd) $nick :\002VERSION\002 kontrolunden gecemediginiz icin \002SHUN\002 atildi." }
                putquick "$vrsy(xlne) $nick $vrsy(sure) $vrsy(rasn)"
                if {$vrsy(lmsg) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002VERSION\002) - \002$nick\002 \002WEB\002 portundan \002mIRC\002 veya benzeri bir client programi ile giris yaptigi icin \002$vrsy(xlne)\002 atildi." }
                unset ::appver($nick)
                unbind ctcr - VERSION applet:version
        }
}

proc applet:no:version {nick} {
global botnick vrsy
        if {[info exists ::appver]} {
                foreach {rumuz veri} [array get ::appver] {
                        if {$rumuz == $nick} {
                                if {$vrsy(lnvr) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002VERSION\002) - \002$nick\002 \002VERSION\002 cevabi vermedigi icin \002$vrsy(xlne)\002 atildi." }
                                if {$vrsy(xlne) == "SHUN"} { putquick "$vrsy(mmtd) $nick :\002VERSION\002 kontrolunden gecemediginiz icin \002SHUN\002 atildi." }
                                putquick "$vrsy(xlne) $nick $vrsy(sure) $vrsy(rasn)"
                                unset ::appver($nick)
                        }
                }
        }
}

proc applet:finger {nick uhost handle {dest ""} keyword arg} {
global botnick vrsy
        if {[string match $vrsy(fngr) $arg]} {
                if {$vrsy(unot) == "1"} { putquick "$vrsy(mmtd) $nick :$vrsy(fmsg)" }
                if {$vrsy(lfgt) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002FINGER\002) - \002$nick\002 \002FINGER\002 korumasindan basariyla gecti." }
                unset ::appfin($nick)
                unbind ctcr - FINGER applet:finger
        } else {
                if {$vrsy(xlne) == "SHUN"} { putquick "$vrsy(mmtd) $nick :\002FINGER\002 kontrolunden gecemediginiz icin \002SHUN\002 atildi." }
                putquick "$vrsy(xlne) $nick $vrsy(sure) $vrsy(rasn)"
                if {$vrsy(lfgd) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002FINGER\002) - \002$nick\002 \002WEB\002 portundan mIRC veya benzeri bir client programi ile giris yaptigi icin \002$vrsy(xlne)\002 atildi." }
                unset ::appfin($nick)
                unbind ctcr - FINGER applet:finger
        }
}

proc applet:no:finger {nick} {
global botnick vrsy
        if {[info exists ::appfin]} {
                foreach {rumuz veri} [array get ::appfin] {
                        if {$rumuz == $nick} {
                                if {$vrsy(xlne) == "SHUN"} { putquick "$vrsy(mmtd) $nick :\002FINGER\002 kontrolunden gecemediginiz icin \002SHUN\002 atildi." }
                                putquick "$vrsy(xlne) $nick $vrsy(sure) $vrsy(rasn)"
                                if {$vrsy(lnvr) == "1"} { putquick "PRIVMSG $vrsy(knal) :*** (\002FINGER\002) - \002$nick\002 \002FINGER\002 cevabi vermedigi icin \002$vrsy(xlne)\002 atildi." }
                                unset ::appfin($nick)
                        }
                }
        }
}

#################################
putlog "TCL basariyla yuklendi. "
putlog "version-finger.tcl by version "
#################################



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 09:48.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0
Copyright ©2005 - 2023 IRCForumu.Net - Tüm Hakları Saklıdır.