lookjapan.COM - IRC ve mIRC dünyasının forumu!   buy vps


  lookjapan.COM - IRC ve mIRC dünyasının forumu! IF - Unreal, Services ve Botlar Eggdrop, BNC ve Socket Botlar TCL Scriptler


Like Tree1Teşekkürler;
  • 1 Post By No_FeaR

Yeni Konu   Cevap Yaz

 
LinkBack Seçenekler Stil
Alt 30 Ağustos 2015, 22:12   #1
 
No_FeaR - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 27 Ocak 2015
Bulunduğu yer: Denizli
Mesajlar: 136
WEB Sitesi: www.AlemTR.com
IRC Sunucusu: www.AlemTR.com
İlgi Alanı:
Alınan Beğeni: 69
Standart Canlı Futbol Skorları {NRT}

(COL-CL) : Alianza Petrolera 2-1 Deportivo Cali -> Devre Arası.
(MEX-AP) : Tigres UANL 2-2 Guadalajara-Chivas -> Gol Atan Guadalajara-Chivas


Yapımcısı ; nrt

Kod:
if 0 {
        Soccer live Scores
        To activate on a #channel
        .chanset #channel +scores
        on Partyline
}

if 0 {
    Canlı Futbol Skorları
        Kanal üstünde aktive etmek için:
        Botunuza bağlanın (telnet /dcc /ctcp chat)
        .chanset #kanal +scores
        Komutu verin.
}

# 18.05.2015
# Bu script Tcl8.6 sürümleriyle çalışır. Daha eski sürümlerle çalıştırmaya kalkmayınız.

if {[info tclversion] < "8.6"} {
         return -code error "\00305[lindex [split [info script] /] end]\003 \00306requires\003 \00304Tcl8.6.x\003 .\
                \00306Your Tcl version is\003 \00304[info patchlevel]\003"
}

if {[join [split [string range [lindex [set ::version] 0] 0 5] "."] ""] >= "1620"} { 
     putloglev o * "\00305[lindex [split [info script] /] end]\003 \00306successfuly loaded.\003"
   } else {
     return -code error "\00305[info script]\003 \00306works with\003 \00304eggdrop1.6.20\003 or\
         \00306greater versions. Your eggdrop version is\003 \00304$::version\003"
   }
   
 package present Tcl 8.6
 package require eggdrop 1.6.20

if {[info commands scores::remove] eq "::scores::remove"} {
        scores::remove
}

namespace eval scores {

        namespace export check_score killer reader_f writer_f get_dt remove

        bind cron - "*" [namespace current]::check_score
        bind evnt - prerehash [namespace current]::remove

# Türkçe tercüme kullanılmak isteniyorsa , ( 1 ) olarak ayarlayın.
# Orjinal dil için ( 0 ) olarak bırakın.

        variable trans 1


# bilgi alınacak adrestir.

        variable link "http://www.scorespro.com/rss2/live-soccer.xml"


# Alınan bilginin saklanacağı dosyadır.

        variable fpath "goal.txt"


# Siteye bağlantıda bejklenecek maksimum gecikme süresi ,saniye cinsinden.

        variable timeout "15"


# Bağlantıda kullanılacak useragent.

        variable ua "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"


        variable transarray
        
# Tercüme kullanmayı tercih etmişseniz,kullanılacak çeviriler ve orjinal çıktıları.
        
        array set transarray {
                      "Halftime" "Devre Arası."
                                  "Goal for" "Gol Atan"
                                  "Match Finished" "Maç Sonlandı."
                                  "2nd Half Started" "İkinci Yarı Başladı."
                                  "Kick Off" "Maç Başladı."
   }
   
# siteye bağlantıda proxy kullanılmak isteniyorsa, bu ayarda belirtin. Kullanım şekli:
# proxy.hostu-yada.IP:portu ... gibidir. (http proxy)
# kullanılmayacaksa boş "" olarak bırakın
    variable proxy "203.190.251.114:80"
        
# Ayarların sonu...

# Dosya yoksa oluşturulup ilk bilgiler çekilip ,yazılıyor.

        if {![file exists $fpath] || ![file readable $fpath]} {
                catch { ::scores::writer_f $fpath "[[namespace current]::get_dt $link] |" }
        }
}

namespace eval scores {

        setudef flag scores
        package require http

        proc check_score {minute hour day month weekday} {
            foreach _ [utimers] { 
               if {[string match *[namespace current]::* $_]} { 
                    killutimer [lindex $_ end-1]
               }
            }
                set dt [[namespace current]::reader_f $::scores::fpath]
                #set ext [lindex [split $dt |] 1] kullanmaya gerek yoktu. es geçildi.
                set exscore [lindex [split $dt |] 0]
                foreach chan [channels] {
                        if {[channel get $chan scores]} {
                                set out [[namespace current]::get_dt $::scores::link]
                                if {![string match *$out* $exscore]} {
                                        putserv "privmsg $chan :$out"
                                        [namespace current]::writer_f $::scores::fpath "$out|"
                                }
                        } else {
                                catch { [namespace current]::killer $chan }
                        }
                        utimer 30[list [namespace current]::check_score $minute $hour $day $month $weekday]
                }
                return 0
        }

# herhangi bir kanal üstünde aktif olmadığı sürece bind cron ve utimer'ın arka planda
# çalışıp botu yormamasını sağlamak için yazılmış prosedürdür.
# script aktif olmadığı sürece bind ve utimer çalışması bloke ediliyor.

        proc killer {chan} {
                if {![channel get $chan scores]} {
                        set i 0
                        foreach str [utimers] {
                                if {[string match *[namespace current]::* $str]} {
                                        killutimer [lindex $str end-1]
                                        incr i
                                }
                        }
                        set j 0
                        foreach _ [binds cron] {
                                if {[string match *check_score* $_]} {
                                        unbind [lindex $_ 0] [lindex $_ 1] [lindex $_ 2] [lindex $_ end]
                                        incr j
                                }
                        }
                }
        }

        proc reader_f {file} {
                if {![file exists $file] || ![file readable $file]} { return 0 }
                set fp [open $file r]
                try {
                        set i 0
                        while {[gets $fp line] >= 0} {
                                incr i
                                return $line
                        }
                } finally {
                        close $fp
                }
        }

        proc get_dt {link} {
                if {[string match {*:*} $::scores::proxy] eq 1} {
             set use_proxy [split $::scores::proxy ":"]
        }
            if {[info exists use_proxy] eq 1} {
                set t [::http::config -urlencoding "utf-8" -useragent $::scores::ua -proxyhost [lindex $use_proxy 0] -proxyport [lindex $use_proxy 1]]
                } else {
                set t [::http::config -urlencoding "utf-8" -useragent $::scores::ua]
                }
                set d [::http::data [set t [::http::geturl $::scores::link -timeout [expr {round(1000 * $::scores::timeout)}]]]]
                ::http::cleanup $t
                # bağlantı hata kontrollerini es geçtim. gerek görmedim şimdilik. denemelerde sıkıntı yaşanırsa ilerde, eklerim
                regsub -all -- {(?:\n|\t|\v|\r|\x01)} $d " " d
                set i 0; set out ""; set o ""; set s ""; set j 0
                foreach {n o s} [regexp -all -inline -- {<\/title><description>([^<]+)<\/.+<pubDate>([^<]+)<\/} $d] {
                        #putlog "$o - $s"
                        if {[info exists s] && [info exists o]} {
                            # kullanmaktan vaz geçtiğim saat:dakika:saniye değerleri.
                                # gerek olmadığı görüldü. olmasada birşey fark etmiyor.
                                #regexp {:?([0-9]+):(\d+):(\d+)} $s - hour min sec
                                #set time "$hour:$min:$sec"
                                incr i
                                regexp -- {\(([^\)]+)\)} $o - lig
                                regexp -- {\)(.+?)\svs\s(.+?):} $o - home visit
                                regexp -- {:\s(\d+)-(\d+)} $o - ilk son
                                regexp -- {\-\s([^\|]+)} $o - desc
                        } else { return 0 }
                        # trans / çeviri isteniyorsa ingilizce kısımların çevirisi postalanacak.
                        variable transarray
                        if {($::scores::trans eq "1") && ([array size transarray] >= "1")} {
                                foreach {orj tur} [array get transarray] {
                                        set desc [string map[list $orj $tur] [join $desc]]
                                        }
                        }
                        lappend out "\00304(\003\002$lig\002\00304)\003" : "\00312$home\003" "\00303$ilk\003\00304-\003\00303$son\003"\
                                "\00312$visit\003" "\00304\002->\002\003" "\00314$desc\003"
                        set out [string map[list "&amp;" "&"] $out]
                        if {$j eq 20} break
                        return [join $out]
                        incr j
                }
        }

        proc writer_f {file data} {
                set fp [open $file w]
                try {
                        puts -nonewline $fp $data
                } finally {
                        close $fp
                }
        }

# bu prosedür, script kaldırılmak istendiğinde .restart yada kill etmeye gerek kalmadan,
# namesapace prosedür ve değişkenlerini , utimer ve bindlerini botun hafızasından silinmesi sağlanıyor.

        proc remove {args} {
                set i 0
                foreach runnin [utimers] {
                        if {[string match *[namespace current]::* $runnin]} {
                                killutimer [lindex $runnin end-1]
                                incr i
                        }
                }
                set j 0
                foreach bindin [binds] {
                        if {[string match *[namespace current]::* $bindin]} {
                                unbind [lindex $bindin 0] [lindex $bindin 1] [lindex $bindin 2] [lindex $bindin 4]
                                incr j
                        }
                }
                namespace forget {*}[namespace export]
                namespace delete [namespace current]
        }

        putlog "[file tail [info script]] ok..."
}
# EOF[tpcolor=#000000][/tpcolor]
Entrance bu mesaja teşekkür etti






Aynı Dünyada Yaşamamalı Cellatlar Ve Çocuklar .
Ya Ölmeli Cellatlar,Yada Hiç Doğmamalı Çocuklar...!
 No_FeaR isimli Üye şimdilik offline konumundadır   Alıntı

Yeni Konu   Cevap Yaz

Etiketler
canlı, futbol, nrt, skorları


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 Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Soccer V1.1 Futbol Canlı Maç Anlatımı ve İddaa Bilgi Botu Toprak Hazır Kodlar 1 27 Mayıs 2017 14:30
Topçu Kafalar ile Futbol Oynayın Superisi Web Site Tanıtımları 0 08 Ekim 2016 20:32
A Milli Futbol Takımı'nda Fatih Terim devrimi! IF-Haber Spor Haberleri 0 22 Mart 2016 22:12
EURO 2016'da Türkiye A Milli Futbol Takımı hangi grupta? IF-Haber Spor Haberleri 0 22 Mart 2016 22:12
Hem Formula 1 hem futbol tutkunu! IF-Haber Spor Haberleri 0 22 Mart 2016 22:12

web hosting web hosting
 buy vds
 vps buy

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.