30 Ağustos 2015, 22:12 | #1 |
Ü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 |
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 "&" "&"] $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] Aynı Dünyada Yaşamamalı Cellatlar Ve Çocuklar . Ya Ölmeli Cellatlar,Yada Hiç Doğmamalı Çocuklar...! |
Alıntı
|
Etiketler |
canlı, futbol, nrt, skorları |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
|
|
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 |