Bu tcl
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adlı siteden Tv kanallarının günlük yayın akışlarını çekerek irc üzerinden görebilme imkanı sunar.
!tv kanallar
Hangi kanalların yayın akışını gösterebildiğini kanala yansıtır.
!tv <kanal-adı>
O kanalın günlük yayını akışını gösterir.
Görünüm ise :
[05:33] (SaW): !tv kanallar
[05:33] (ScanX): Kanal Listesi:
[05:33] (ScanX): #1 trt-1
#2 star-tv
#3 show-tv
#4 kanal-d
#5 cnbce-e
#6 atv
#7 kanal7
#8 cnn-turk
#9 stv
#10 ntv
#11 fox-tv
#12 cine5
#13 tv8
#14 e2
#15 trt2
#16 lig-tv
#17 kanal-1
#18 trt-int
#19 tnt
[05:33] (SaW): !tv atv
[05:33] (ScanX): 2008-6-13 Tarihli ATV yayın akışı [05:33] (ScanX): 06:30 Kahvaltı Haberleri [05:33] (ScanX): 08:20 Ne Pişirelim? [05:33] (ScanX): 08:50 Kadının Gücü / Canlı [05:33] (ScanX): 10:45 Saklambaç / Tekrar [05:33] (ScanX): 13:00 Gün Ortası [05:33] (ScanX): 13:20 Kadın Olmak / Canlı [05:33] (ScanX): 15:05 Selena / Tekrar [05:33] (ScanX): 17:45 Santra Özel / Canlı [05:33] (ScanX): 19:00 İtalya-Romanya / Canlı [05:33] (ScanX): 21:45 Hollanda-Fransa / Canlı [05:33] (ScanX): 00:00 Santra Özel / Canlı [05:33] (ScanX): 01:00 İtalya-Romanya / Tekrar [05:33] (ScanX): 03:10 Hollanda-Fransa / Tekrar PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#################################################################
#
# _/_/_/_/_/ _/ _/ _/ _/
# _/ _/ _/ _/_/_/_/ _/_/_/ _/
# _/ _/ _/ _/ _/ _/
# _/ _/ _/ _/ _/ _/
# _/ _/ _/ _/_/ _/_/_/ _/
#
#################################################################
#
# tv.tcl
# Yapımcı : SaW (Nebiliymben)
# iletişim :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
#
#
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">set yayin(kanallar) "#tv,#haber,#sohbet"
#
## Komutu kimlerin kullanabileceğini belirleyiniz.
## 0 - Herkes
## 1 - Voice ve daha yukarısı
## 2 - Halfop ve daha yukarısı
## 3 - Op ve daha yukarısı
#
set yayin(statu) 3
#
## Mesaj tipi. Botun cevabı hangi yolla vereceğini belirler..
## 1 - Kanala mesaj, 2 - Kanala notice, 3 - Kişiye notice, 4 - Kişiye özel mesaj
#
set yayin(msgtype) 1
#
## Ardı ardına komut talebinde bulunmayı önlemek için iki komut arasındaki
## beklemesi süresini giriniz (süre saniye cinsindendir)
#
set yayin(bekleme) 30
#
## Siteye bağlanmaya çalışırken ki timeout süresini giriniz
#
set yayin(timeout) 10000
##################################################################
# #
## !!!!!Buradan Sonrasına Dokunmayınız!!!!! ##
# #
##################################################################
set yayin(url) "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">set yayin(tvler) {
"1 trt-1"
"2 star-tv"
"3 show-tv"
"4 kanal-d"
"5 cnbce-e"
"6 atv"
"7 kanal7"
"8 cnn-turk"
"9 stv"
"10 ntv"
"11 fox-tv"
"12 cine5"
"13 tv8"
"14 e2"
"15 trt2"
"16 lig-tv"
"17 kanal-1"
"18 trt-int"
"19 tnt"
}
if {$yayin(msgtype) == "1"} {
set yayin(mesaj) "privmsg %chan%"
} elseif {$yayin(msgtype) == "2"} {
set yayin(mesaj) "notice %chan%"
} elseif {$yayin(msgtype) == "3"} {
set yayin(mesaj) "notice %nick%"
} elseif {$yayin(msgtype) == "4"} {
set yayin(mesaj) "privmsg %nick%"
} else {
die Gecersiz Mesaj tipi sectiniz. Uygun degerler : 1, 2, 3, ya da 4 olabilir.
}
if {$yayin(statu) > 3 || $yayin(statu) == "" || $yayin(statu) < 0 || [string is integer $yayin(statu)] != 1} {
die yayin(statu) degerini gecersiz bir deger girdiniz! Sadece 0, 1, 2 ya da 3 olabilir.
}
proc kstatu {nick chan type} {
switch -- $type {
0 {
return devam
}
1 {
if {[isvoice $nick $chan] || [ishalfop $nick $chan] || [isop $nick $chan]} {
return devam
}
}
2 {
if {[ishalfop $nick $chan] || [isop $nick $chan]} {
return devam
}
}
3 {
if {[isop $nick $chan]} {
return devam
}
}
}
}
bind pub - !tv tv_yayin
package require http
proc tv_yayin {nick user host chan arg} {
global yayin
if {[llength $arg] < 1} {
putquick "privmsg $chan :Kanal Adı belitrmediniz."
putquick "privmsg $chan :Kullanım : !tv <kanal-adi>"
return 0
}
if {[llength $arg] < 1} {
putquick "privmsg $chan :Hata : Bir defada ancak bir kanalı sorgulayabilirsiniz."
return 0
}
if {[string match -nocase kanallar $arg]} {
set x ""
foreach y $yayin(tvler) {
lappend x "\002#[lindex $y 0]"
lappend x "\002[lindex $y 1]"
}
putquick "privmsg $chan :Kanal Listesi:"
putquick "privmsg $chan :$x"
return 0
}
foreach z $yayin(tvler) {
if {[string match -nocase $arg [lindex $z 1]]} {
set kanalno [lindex $z 0] ; set kanaladi [lindex $z 1]
break
}
}
if {![info exists kanalno]} {
putquick "privmsg $chan :Hata : Kanal adını yanlış yazdınız."
putquick "privmsg $chan :Kanal listesini için \00312!tv kanallar \003yazınız."
return 0
}
if {[info exists ::sorgu(yayin)] && $::sorgu(yayin) == "1"} {
putquick "privmsg $chan :Üzgünüm, Bir sonraki kanal sorgusu için \03730 saniye\037 beklemelisiniz."
set ::sorgu(yayin) "2"
return 0
}
if {[info exists ::sorgu(yayin)] && $::sorgu(yayin) == "2"} { return 0 }
set sene [clock format [clock seconds] -format %Y]
if {[string index [clock format [clock seconds] -format %m] 0] == "0"} {
set ay [string index [clock format [clock seconds] -format %m] 1]
}
if {[string index [clock format [clock seconds] -format %m] 0] != "0"} {
set ay [clock format [clock seconds] -format %m]
}
if {[string index [clock format [clock seconds] -format %d] 0] == "0"} {
set gun [string index [clock format [clock seconds] -format %d] 1]
}
if {[string index [clock format [clock seconds] -format %d] 0] != "0"} {
set gun [clock format [clock seconds] -format %d]
}
set adres "$yayin(url)$kanalno/$kanaladi/$sene-$ay-$gun"
catch {set sayfa [::http::geturl $adres -timeout 3000]} error
if {[string match -nocase "*couldn't open socket*" $error]} {
putquick "PRIVMSG $chan :Hata: Şuan siteye bağlanılamıyor.. Daha Sonra Tekrar Deneyiniz.."
::http::cleanup $sayfa
return
}
if { [::http::status $sayfa] == "*timeout*" } {
putquick "PRIVMSG $chan :Hata: Site'ye bağlantı zaman aşımına uğradı.."
::http::cleanup $sayfa
return
}
set html [::http::data $sayfa]
::http::cleanup $sayfa
regsub -all {\n} $html {} html
regsub -all { } $html {} html
regexp -- {<div.class=\'prgadi\'><strong>(.*?)</strong></div><br./>} $html - zaman
regexp -- {<div.class=\"yayinicerik\"><p>(.*?)</p></div>} $html - akis
regsub -all {</tr>} $akis {} akis
regsub -all {<tr>} $akis {} akis
regsub -all {<td>} $akis {} akis
regsub -all {<p>} $akis {} akis
regsub -all {</p>} $akis {} akis
regsub -all {ü} $akis {ü} akis
regsub -all {Ü} $akis {Ü} akis
regsub -all {} $akis {'} akis
regsub -all {’} $akis {´} akis
regsub -all {ç} $akis {ç} akis
regsub -all {Ç} $akis {Ç} akis
regsub -all {Ö} $akis {Ö} akis
regsub -all {ö} $akis {ö} akis
regsub -all {<br />} $akis {|} akis
putquick "notice $nick :\00304\037 $zaman"
foreach m [split $akis |] {
putquick "notice $nick :\00305 [lindex $m 0] \00302[lrange $m 1 end]"
}
set ::sorgu(yayin) "1"
utimer 30 [list set ::sorgu(yayin) "0"]
}
putlog "- tv.tcl By - SaW Basariyla Yuklendi."
#
## #%v80658#%ak5698412#%d0025#%tv.tcl#
#
Sorunlarınız olursa bu başlık altından yardımcı olmaya çalışırım. Ama önce lütfen tcl içerisindeki açıklamaları iyice okuduğunuzdan emin olun.