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

#################################################################
#
# _/_/_/_/_/ _/ _/ _/ _/
# _/ _/ _/ _/_/_/_/ _/_/_/ _/
# _/ _/ _/ _/ _/ _/
# _/ _/ _/ _/ _/ _/
# _/ _/ _/ _/_/ _/_/_/ _/
#
#################################################################
#
# tv.tcl
# Yapımcı : SaW (Nebiliymben)
# iletişim : abdullah_tas@mynet.com
#
# www.yayinakisi.com adlı siteden günlük tv yayın akışlarını
# çekerek siteye yansıtmanızı sağlar.
#
# Kullanımı :
# !tv kanallar --> Mevcut kanal listesini görmenizi sağlar.
# !tv –> Belirtilen kanalın yayın akışını görüntüler.
#
# Siteden gelen bilgilerin tüm hakları www.yayinakisi.com sitesine aittir.
# Ticari amaçlı kullanım halinde doğacak yasal yükümlülük kullananın
# kendisini bağlamaktadır. Yapımcı bu konuda herhangi bir sorumluluk
# kabul etmez.
#
##################################################################
#
# Aşağıda belirtilen değişiklikleri kendi sunucunuza göre düzenleyiniz.
#
##################################################################
#
# 15 Haziran 2008 Pazar
#
##################################################################

#
## Komutun çalışmasını istediğiniz kanalları aralarına virgül koyarak yazınız.
## Bütün kanallarda çalışmasını istiyorsanız “” yazınız. (boş bırakınız).
#
set yayin(kanallar) “#ematrak,#haber,#huston”
#
## 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) 2000
##################################################################
# #
## !!!!!Buradan Sonrasına Dokunmayınız!!!!! ##
# #
##################################################################
set yayin(url) “http://www.yayinakisi.com/tv-yayin-akisi/”
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 {[string match -nocase *$chan* $yayin(kanallar)] == 1 || $yayin(kanallar) == "" || [kstatu $nick $chan $yayin(statu)] == "devam"} {
  regsub -all {%chan%} $yayin(mesaj) $chan yayin(mesaj)
  regsub -all {%nick%} $yayin(mesaj) $nick yayin(mesaj)
  if {[llength $arg] < 1} {
    putquick "$yayin(mesaj) :Kanal Adı belitrmediniz."
    putquick "$yayin(mesaj) :Kullanım : !tv ”
    return 0
  }
  if {[llength $arg] < 1} {
    putquick "$yayin(mesaj) :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]"
    }
    putlog "$yayin(mesaj)"
    putquick "$yayin(mesaj) :Kanal Listesi:"
    putquick "$yayin(mesaj) :$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 "$yayin(mesaj) :Hata : Kanal adını yanlış yazdınız."
    putquick "$yayin(mesaj) :Kanal listesini için \00312!tv kanallar \003yazınız."
    return 0
  }
  if {[info exists ::sorgu(yayin)] && $::sorgu(yayin) == "1"} {
    putquick "$yayin(mesaj) :Üzgünüm, Bir sonraki kanal sorgusu için \037$yayin(bekleme) 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 $yayin(timeout)]} error
  if {[string match -nocase "*couldn't open socket*" $error]} {
    putquick "$yayin(mesaj) :Hata: Şuan siteye bağlanılamıyor.. Daha Sonra Tekrar Deneyiniz.."
    ::http::cleanup $sayfa
    return
  }
  if { [::http::status $sayfa] == "*timeout*" } {
    putquick "$yayin(mesaj) :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 -- {name="ORTABOLUM".-->.+(.*?). 

} $html - zaman
regexp — { 

  (.*?)

} $html - akis
if {[regexp {.+http://.+} $akis]} {
  set akis “Üzgünüm : Sitede bu kanalın yayın akışı henüz görüntülenemiyor.”
}
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 {
} $akis {|} akis
putquick “$yayin(mesaj) :\00304\037 $zaman”
foreach m [split $akis |] {
  putquick “$yayin(mesaj) :\00305 [lindex $m 0] \00302[lrange $m 1 end]”
}
set ::sorgu(yayin) “1?
utimer $yayin(bekleme)[list set ::sorgu(yayin) "0"]
}
}
putlog “- tv.tcl By - SaW Basariyle Yuklendi.”
#
## #%v80658#%ak5698412#%d0025#%tv.tcl#
# 
