Tekil Mesaj gösterimi
Alt 07 Şubat 2012, 22:00   #9
Çevrimdışı
o1KnoppiX
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: radyo.tcl de dinleyici Sayısı nasıl arttırılır ?




aspawa Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] verdiğin tclde dinleyici sayısını yüksek gösteriyor ama radyo kanalında hiç bişey yansıtmıyor

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# config ##########################

set radiochans "#Radyo" 
set adminchans "#DJ" 
set streamip "72.20.30.6" 
set streamport "3563" 
set streampass "X.X.X.X" 
set scstatstrigger "!durum"
set scstreamtrigger "!link"
set scplayingtrigger "!çalan"
set sclistenertrigger "!dinleyen"
set scdjtrigger "!dj"
set scsetdjtrigger "!setdj"
set scunsetdjtrigger "!unsetdj"
set scwishtrigger "!istek"
set scgreettrigger "!karşılama"
set sclastsongstrigger "!geçmiş"
set schelptrigger "!yardım"

set alertadmin "SAnSAr"
set doalertadmin "1"

set announce "1"

set urltopic "1"
set ctodjc "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"

set advertise "1"
set advertiseonlyifonline "1"

set offlinetext "0,4 C* 8,2Şu Anda Yayınımız Kesilmiştir..0,4 C* "
set offlinetopic "0,4 C* 8,2 « Radyomuz Kısa Bir Süre Yapılanma Nedeniyle Hizmet Verememektedir. »0,4 C* "

set onlinetext "0,12 Radyomuz 0,4 15,1 Şuanda 4,1ACIK.. 15Yayındaki 4DJ /sgenre/ 15Nickli Arkadaşımızdır. "
set onlinetopic "0,4 C* 8,2 « Yayınımız Şuanda Aktif. 4Dj /sgenre/ 8 İsteklerinizi Kendisine Yazabilirsiniz. Kanalda Kullanabileceğiniz Komutları Görmek için 4!yardım 8Yazınız » 0,7 « http://$streamip:$streamport/listen.pls » 0,4 C* "

set streamtext "0,6 « Turkiye'nin en Kaliteli Online Radyosu ve Dj'leri ile Radyomuzu Sizde Dinleyin! Winamp' tan Dinlemek için Tıklayın >>>> 0,7http://$streamip:$streamport/listen.pls0,6 » "
set advertisetext "0,1Sitemizi ziyaret etmişmiydiniz? 4
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #FF8000"># end of config #####################

bind pub $scstatstrigger  pub_scstat

bind pub 
$scplayingtrigger  pub_playing

bind pub 
$scdjtrigger  pub_dj

bind pub 
$scsetdjtrigger  pub_setdj

bind pub 
$scunsetdjtrigger  pub_unsetdj

bind pub 
$scwishtrigger  pub_wish

bind pub 
$scgreettrigger  pub_greet

bind pub 
$scstreamtrigger pub_stream

bind pub 
$sclastsongstrigger pub_lastsongs

bind pub 
$sclistenertrigger pub_listener

bind pub 
$schelptrigger pub_help

bind time 
"* * * * *" isonline
bind time 
"?0 * * * *" advertise
bind nick D 
djnickchange


set dj 
""
set surl ""
set bitrate ""
set stitle ""

if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
}

proc shrink calc number string start bl} { return [expr [string first "$string$bl $start$calc $number] }


proc status { } {
global 
streamip streamport streampass
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return } else {
puts $sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $streamip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
while {[eof $sock] != 1} {
set bl [gets $sock]
if { [
string first "standalone" $bl] != -} {
set streamstatus [string range $bl [shrink 14 "<STREAMSTATUS>" 0 $bl] [shrink "</STREAMSTATUS>" 0 $bl]]
}}
close $sock

if { 
$streamstatus == "1" } { return } else { return }
}




proc poststuff mode text } {
global 
radiochans dj
set curlist 
"0"
set curhigh "0"
set surl ""
set cursong ""
set sgenre ""
set bitrate "0"
set stitle ""

set temp [open "isonline" r]
while {[
eof $temp] != 1} {
set zeile [gets $temp]
if {[
string first "curlist:" $zeile] != -} { set curlist $zeile }
if {[
string first "curhigh:" $zeile] != -} { set curhigh $zeile }
if {[
string first "cursong:" $zeile] != -} { set cursong [lrange $zeile 1 [llength $zeile]]] }
if {[
string first "sgenre:" $zeile] != -} { set sgenre [lrange $zeile 1 [llength $zeile]]}
if {[
string first "serverurl:" $zeile] != -} { set surl [lindex $zeile 1] }
if {[
string first "bitrate:" $zeile] != -} { set bitrate [lindex $zeile 1] }
if {[
string first "stitle:" $zeile] != -} { set stitle [lindex $zeile 1] }
}
close $temp

regsub 
-all "/stitle/" $text "$stitletext
regsub 
-all "/curlist/" $text "$curlisttext
regsub 
-all "/curhigh/" $text "$curhightext
regsub 
-all "/cursong/" $text "$cursongtext
regsub 
-all "/sgenre/" $text "$sgenretext
regsub 
-all "/surl/" $text "$surltext
regsub 
-all "/bitrate/" $text "$bitratetext
regsub 
-all "/dj/" $text "$djtext

foreach chan [channels] {
if {
$radiochans == "" } { putserv "$mode $chan :$text}
if {
$radiochans != "" } {
if {([
lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1)} {putserv "$mode $chan :$text"}
}}}


proc schelp target } {
global 
scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger radiochans
putquick 
"notice $target :$radiochans Kanalında Kullanabileceğiniz Komutlar:"
putquick "notice $target :$scstatstrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $scwishtrigger - $scgreettrigger - $sclistenertrigger"
putquick "notice $target :Radyo.tcl Yeniden Düzenleyen 3rd41"
}

proc pub_help {nick uhost hand chan arg} {
global 
radiochans
if {$radiochans == "" } { schelp $nick }
if {
$radiochans != "" } {
if {([
lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { schelp $nick}
}}

proc advertise nick uhost hand chan arg } {
global 
advertisetext advertise advertiseonlyifonline
if {$advertise == "1" && $advertiseonlyifonline == "0"} { poststuff privmsg "$advertisetext}
if {
$advertise == "1" && $advertiseonlyifonline == "1" && [status] == 1} { poststuff privmsg "$advertisetext}
}


proc setdj {nickname djnickname } {
if {
$djnickname == "" } { set djnickname $nickname }
global 
streamip streamport streampass dj 
putlog 
"shoutcast: new dj: $djnickname ($nickname)"
set temp [open "dj" w+]
puts $temp $djnickname
close $temp
set temp 
[open "djnick" w+]
puts $temp $nickname
close $temp
if { [status] == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy."
if { $ctodjc == "1" } {
set temp [open "isonline" r]
while {[
eof $temp] != 1} {
set zeile [gets $temp]
if {[
string first "isonline:" $zeile] != -} { set oldisonline $zeile }
if {[
string first "curlist:" $zeile] != -} { set oldcurlist $zeile }
if {[
string first "curhigh:" $zeile] != -} { set oldcurhigh $zeile }
if {[
string first "cursong:" $zeile] != -} { set oldsong $zeile }
if {[
string first "bitrate:" $zeile] != -} { set oldbitrate $zeile }
}
close $temp
}
} else {
putserv "privmsg $nickname :this has not been announced because the radio is currentlfy offline." }
}


proc msg_setdj nick uhost hand arg } { setdj $nick $arg }
proc pub_setdj nick uhost hand chan arg } { global adminchans; if {([lsearch -exact [string tolower $adminchans] [string tolower $chan]] != -1) || ($adminchans == "")} { setdj $nick $arg }}

proc unsetdj nick } {
global 
dj
set dj 
""
file delete dj
putserv 
"notice $nick :dj deleted"
}



proc msg_unsetdj nick uhost hand arg } { unsetdj $nick }
proc pub_unsetdj nick uhost hand chan arg } { global adminchans; if {([lsearch -exact [string tolower $adminchans] [string tolower $chan]] != -1) || ($adminchans == "")} { unsetdj $nick }}


proc listener target } {
global 
streamip streamport streampass
putlog 
"shoutcast: $target requested listener count"
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return } else {
puts $sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $streamip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
while {[eof $sock] != 1} {
set bl [gets $sock]
if { [
string first "standalone" $bl] != -} {
set repl [string range $bl [shrink 19 "<REPORTEDLISTENERS>" 0 $bl] [shrink "</REPORTEDLISTENERS>" 0 $bl]]
set curhigh [string range $bl [shrink 15 "<PEAKLISTENERS>" 0 $bl] [shrink "</PEAKLISTENERS>" 0 $bl]]
set maxl [string range $bl [shrink 14 "<MAXLISTENERS>" 0 $bl] [shrink "</MAXLISTENERS>" 0 $bl]]
set avgtime [string range $bl [shrink 13 "<AVERAGETIME>" 0 $bl] [shrink "</AVERAGETIME>" 0 $bl]]
set currentl [string range $bl [shrink 18 "<CURRENTLISTENERS>" 0 $bl] [shrink "</CURRENTLISTENERS>" 0 $bl]]
}}
close $sock
putserv 
"notice $target :8,1Şuanda Radyomuzu 9 ( $currentl ) 8kisi dinlemektedir."
}}

proc msg_listener nick uhost hand arg } { listener $nick }
proc pub_listener nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { listener $nick  }}

proc wish nick arg } {
if {
$arg == ""} { putserv "notice $nick :you forgot to add your wish"; return 0}
if { [
status] == "1" } { 
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
putserv 
"privmsg $djnick :(WISH) - $nick - $arg"
} else {
putserv "notice $nick :sorry radio is currently offline" }
}


proc msg_wish nick uhost hand arg } { wish $nick $arg }
proc pub_wish nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { wish $nick $arg }}




proc sclastsongs target } {
global 
streamip streamport streampass
putlog 
"shoutcast: $target requested songhistory"
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return } else {
puts $sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $streamip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
while {[eof $sock] != 1} {
set bl [gets $sock]
if { [
string first "standalone" $bl] != -} {
set songs [string range $bl [string first "<TITLE>" $bl] [expr [string last "</TITLE>" $bl] + 7]]

regsub -all "&#x3C;" $songs "<" songs
regsub 
-all "&#x3E;" $songs ">" songs
regsub 
-all "&#x26;" $songs "+" songs
regsub 
-all "&#x22;" $songs "\"" songs
regsub 
-all "&#x27;" $songs "'" songs
regsub 
-all "&#xFF;" $songs "" songs
regsub 
-all "<TITLE>" $songs "(" songs
regsub 
-all "</TITLE>" $songs ")" songs
regsub 
-all "<SONG>" $songs "" songs
regsub 
-all "</SONG>" $songs " - " songs
regsub 
-all "<PLAYEDAT>" $songs "" songs
regsub 
-all "</PLAYEDAT>" $songs "" songs
regsub 
-all {\d$songs "" songs

regsub 
-all "&#xB4;" $songs "´" songs
regsub 
-all "&#x96;" $songs "-" songs
regsub 
-all "&#xF6;" $songs "ö" songs
regsub 
-all "&#xE4;" $songs "ä" songs
regsub 
-all "&#xFC;" $songs "ü" songs
regsub 
-all "&#xD6;" $songs "Ö" songs
regsub 
-all "&#xC4;" $songs "Ä" songs
regsub 
-all "&#xDC;" $songs "Ü" songs
regsub 
-all "&#xDF;" $songs "ß" songs



}}
close $sock
putserv 
"notice $target :$songs"
}}


proc msg_lastsongs nick uhost hand arg } { sclastsongs $nick }
proc pub_lastsongs nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { sclastsongs $nick }}



proc scstream target } {
global 
streamip streamport streamtext
putlog 
"shoutcast: streaminfo requested by $target"
putserv "notice $target :$streamtext"
}

proc msg_stream nick uhost hand arg } { scstream $nick }
proc pub_stream nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scstream $nick }}

proc scgreet nick arg } {
if {
$arg == ""} { putserv "notice $nick :you forgot to add your greetmessage"; return 0}
if { [
status] == "1" } { 
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
putserv 
"privmsg $djnick :(GREET) - $nick - $arg"
} else {
putserv "notice $nick :sorry radio is currently offline" }
}


proc msg_greet nick uhost hand arg } { scgreet $nick $arg }
proc pub_greet nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scgreet $nick $arg }}



proc djnickchange oldnick uhost hand chan newnick } {
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
if {$oldnick == $djnick} {
putlog "shoutcast: dj nickchange $oldnick -> $newnick"
set temp [open "djnick" w+]
puts $temp $newnick
close $temp
}}





proc dj target } {
global 
streamip streamport streampass dj
putlog 
"shoutcast: $target asked for dj info" 
if {[status] == 1} {
if {[
file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
putserv 
"notice $target :$dj is at the turntables!"
} else { putserv "notice $target :sorry, no dj name available" }
} else { 
putserv "notice $target :sorry radio is currently offline" }
}



proc msg_dj nick uhost hand arg } { dj $nick"}
proc pub_dj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower 
$radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { dj $nick  }}



proc scstat {target} {
global streamip streamport streampass radiochans
putlog "
shoutcast$target asked for serverstats"
if {[catch {set sock [socket 
$streamip $streamport] } sockerror]} {
putlog "
error$sockerror"
return 0 } else {
puts 
$sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts 
$sock "User-AgentMozilla/5.0 (X11ULinux i686en-USrv:0.9.9)"
puts 
$sock "Host$streamip"
puts 
$sock "Connectionclose"
puts 
$sock ""
flush 
$sock
while {[eof 
$sock] != 1} {
set bl [gets 
$sock]
if { [string first "
standalone$bl] != -1 } {
set streamstatus [string range 
$bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
set repl [string range 
$bl [shrink + 19 "<REPORTEDLISTENERS>" 0 $bl] [shrink - 1 "</REPORTEDLISTENERS>" 0 $bl]]
set curhigh [string range 
$bl [shrink + 15 "<PEAKLISTENERS>" 0 $bl] [shrink - 1 "</PEAKLISTENERS>" 0 $bl]]
set currentl [string range 
$bl [shrink + 18 "<CURRENTLISTENERS>" 0 $bl] [shrink - 1 "</CURRENTLISTENERS>" 0 $bl]]
set surl [string range 
$bl [shrink + 11 "<SERVERURL>" 0 $bl] [shrink - 1 "</SERVERURL>" 0 $bl]]
set maxl [string range 
$bl [shrink + 14 "<MAXLISTENERS>" 0 $bl] [shrink - 1 "</MAXLISTENERS>" 0 $bl]]
set bitrate [string range 
$bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 0 $bl]]
set cursong "
cursong: [string range $bl [shrink 11 "<SONGTITLE" 0 $bl] [shrink "</SONGTITLE>" 0 $bl]]"
set stitle [string range 
$bl [shrink + 13 "<SERVERTITLE>" 0 $bl] [shrink - 1 "</SERVERTITLE>" 0 $bl]]
set sgenre [string range 
$bl [shrink + 13 "<SERVERGENRE>" 0 $bl] [shrink - 1 "</SERVERGENRE>" 0 $bl]]
if 
{$sgenre != ""} {set sgenre " ($sgenre)"}
set avgtime [string range 
$bl [shrink + 13 "<AVERAGETIME>" 0 $bl] [shrink - 1 "</AVERAGETIME>" 0 $bl]]
set irc [string range 
$bl [shrink + 5 "<IRC>" 0 $bl] [shrink - 1 "</IRC>" 0 $bl]]
set icq [string range 
$bl [shrink + 5 "<ICQ>" 0 $bl] [shrink - 1 "</ICQ>" 0 $bl]]
if 
{$icq == 0} { set icq "N/A" }
set aim [string range 
$bl [shrink + 5 "<AIM>" 0 $bl] [shrink - 1 "</AIM>" 0 $bl]]
set webhits [string range 
$bl [shrink + 9 "<WEBHITS>" 0 $bl] [shrink - 1 "</WEBHITS>" 0 $bl]]
set streamhits [string range 
$bl [shrink + 12 "<STREAMHITS>" 0 $bl] [shrink - 1 "</STREAMHITS>" 0 $bl]]
set version [string range 
$bl [shrink + 9 "<VERSION>" 0 $bl] [shrink - 1 "</VERSION>" 0 $bl]]
set played [string range 
$bl [shrink + 8 "<PLAYED>" 0 $bl] [shrink - 1 "</PLAYED>" 0 $bl]]
regsub -all "
&#x3C;" $stitle "<" stitle
regsub -all "&#x3E;" $stitle ">" stitle
regsub 
-all "&#x26;" $stitle "+" stitle  
regsub 
-all "&#x22;" $stitle "\"" stitle
regsub 
-all "&#x27;" $stitle "'" stitle
regsub 
-all "&#xFF;" $stitle "" stitle
regsub 
-all "&#xB4;" $stitle "´" stitle
regsub 
-all "&#x96;" $stitle "-" stitle
regsub 
-all "&#xE4;" $stitle "ä" stitle
regsub 
-all "&#xC4;" $stitle "Ä" stitle
regsub 
-all "&#xDF;" $stitle "ß" stitle
regsub 
-all "&#xE7;" $stitle "ç" stitle
regsub 
-all "&#xC7;" $stitle "Ç" stitle
regsub 
-all "&#xF0;" $stitle "ğ" stitle
regsub 
-all "&#xD0;" $stitle "Ğ" stitle
regsub 
-all "&#xFD;" $stitle "ı" stitle
regsub 
-all "&#xDD;" $stitle "İ" stitle
regsub 
-all "&#xF6;" $stitle "ö" stitle
regsub 
-all "&#xD6;" $stitle "Ö" stitle
regsub 
-all "&#xFE;" $stitle "ş" stitle
regsub 
-all "&#xDE;" $stitle "Ş" stitle
regsub 
-all "&#xFC;" $stitle "ü" stitle
regsub 
-all "&#xDC;" $stitle "Ü" stitle
regsub 
-all "&#x3C;" $sgenre "<" sgenre
regsub 
-all "&#x3E;" $sgenre ">" sgenre
regsub 
-all "&#x26;" $sgenre "+" sgenre  
regsub 
-all "&#x22;" $sgenre "\"" sgenre
regsub 
-all "&#x27;" $sgenre "'" sgenre
regsub 
-all "&#xFF;" $sgenre "" sgenre
regsub 
-all "&#xB4;" $sgenre "´" sgenre
regsub 
-all "&#x96;" $sgenre "-" sgenre
regsub 
-all "&#xE4;" $sgenre "ä" sgenre
regsub 
-all "&#xC4;" $sgenre "Ä" sgenre
regsub 
-all "&#xDF;" $sgenre "ß" sgenre
regsub 
-all "&#xE7;" $sgenre "ç" sgenre
regsub 
-all "&#xC7;" $sgenre "Ç" sgenre
regsub 
-all "&#xF0;" $sgenre "ğ" sgenre
regsub 
-all "&#xD0;" $sgenre "Ğ" sgenre
regsub 
-all "&#xFD;" $sgenre "ı" sgenre
regsub 
-all "&#xDD;" $sgenre "İ" sgenre
regsub 
-all "&#xF6;" $sgenre "ö" sgenre
regsub 
-all "&#xD6;" $sgenre "Ö" sgenre
regsub 
-all "&#xFE;" $sgenre "ş" sgenre
regsub 
-all "&#xDE;" $sgenre "Ş" sgenre
regsub 
-all "&#xFC;" $sgenre "ü" sgenre
regsub 
-all "&#xDC;" $sgenre "Ü" sgenre

if {$streamstatus == 1} {
if {[
file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
putquick "privmsg $radiochans :0,4 C* 0,1 Radyomuz Dj $sgenre $stitle ile Yayında..!! 0,4 C* "
putquick "privmsg $radiochans :-"
putquick "privmsg $radiochans :10,1 Radyomuzu Aynı İp Üzerinden:4 [expr $currentl - $repl] 10Toplam:4 $currentl 10Kişi Dinlemektedir. 10En Fazla Dinleyici Sayısı: 4( $curhigh ) "
putquick "privmsg $radiochans :10,1 Şuan Çalan4 $played. 10Şarkı:4 [lrange $cursong 1 [llength $cursong]] "
putquick "privmsg $radiochans :10,1 Ortalama Dinlenme Suresi:4 $avgtime sn 10Web Hit:4 $webhits 10Dinlenme Hit:4 $streamhits "
putquick "privmsg $radiochans :10,1 Radyo Dinleyici Kapasitesi:4 $maxl 10Version:4 $version 10Yayın Kalitesi:4 $bitrate kbps "
putquick "privmsg $radiochans :-"
putquick "privmsg $radiochans :0,4 C* 0,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700">} else {
putserv "notice $target :1,7 Şuanda Yayında Dj Bulunmamaktadir." }
}}
close $sock
}}


proc msg_scstat nick uhost hand arg } { scstat $nick}
proc pub_scstat nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scstat $nick  }}


proc playing {target} {
global 
streamip streamport streampass dj radiochans
putlog 
"shoutcast: $target asked for current song"
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return } else {
puts $sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $streamip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
while {[eof $sock] != 1} {
set bl [gets $sock]
if { [
string first "standalone" $bl] != -} {
set streamstatus [string range $bl [shrink 14 "<STREAMSTATUS>" 0 $bl] [shrink "</STREAMSTATUS>" 0 $bl]]
set songtitle [string range $bl [shrink 11 "<SONGTITLE" 0 $bl] [shrink "</SONGTITLE>" 0 $bl]]
set songurl [string range $bl [shrink "<SONGURL>" 0 $bl] [shrink "</SONGURL>" 0 $bl]]
if {
$songurl != ""} { set songurl " ($songurl)"}
regsub -all "&#x3C;" $songtitle "<" songtitle
regsub 
-all "&#x3E;" $songtitle ">" songtitle
regsub 
-all "&#x26;" $songtitle "+" songtitle  
regsub 
-all "&#x22;" $songtitle "\"" songtitle
regsub 
-all "&#x27;" $songtitle "'" songtitle
regsub 
-all "&#xFF;" $songtitle "" songtitle
regsub 
-all "&#xB4;" $songtitle "´" songtitle
regsub 
-all "&#x96;" $songtitle "-" songtitle
regsub 
-all "&#xF6;" $songtitle "ö" songtitle
regsub 
-all "&#xE4;" $songtitle "ä" songtitle
regsub 
-all "&#xFC;" $songtitle "ü" songtitle
regsub 
-all "&#xD6;" $songtitle "Ö" songtitle
regsub 
-all "&#xC4;" $songtitle "Ä" songtitle
regsub 
-all "&#xDC;" $songtitle "Ü" songtitle
regsub 
-all "&#xDF;" $songtitle "ß" songtitle

if {$streamstatus == 1} {
putserv "privmsg $radiochans :8,2 Şuan Çalan Şarkı: 4 $songtitle$songurl"
} else {
putserv "privmsg $radiochans :8,2 Şuan Şarki Çalmıyor - Yayında Dj Bulunmuyor.."
}}}
close $sock
}}

proc msg_playing nick uhost hand arg } { playing $nick}
proc pub_playing nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { playing $nick  }}



proc isonline nick uhost hand chan arg } {
global 
radiochans announce tellusers tellsongs tellbitrate urltopic dj
global offlinetext offlinetopic onlinetext onlinetopic
global streamip streampass streamport dj
global doalertadmin alertadmin

if {$announce == || $tellsongs == || $tellusers == || $tellbitrate == 1} {
set isonlinefile "isonline"
set oldisonline "isonline: 0"
set oldcurlist "curlist: 0"
set oldcurhigh "curhigh: 0"
set oldsong "cursong: 0"
set oldbitrate "bitrate: 0"
if {[file exists $isonlinefile]} {
putlog "shoutcast: checking if stream is online"
set temp [open "isonline" r]
while {[
eof $temp] != 1} {
set zeile [gets $temp]
if {[
string first "isonline:" $zeile] != -} { set oldisonline $zeile }
if {[
string first "curlist:" $zeile] != -} { set oldcurlist $zeile }
if {[
string first "curhigh:" $zeile] != -} { set oldcurhigh $zeile }
if {[
string first "cursong:" $zeile] != -} { set oldsong $zeile }
if {[
string first "bitrate:" $zeile] != -} { set oldbitrate $zeile }
}
close $temp
}


if {[catch {
set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return 0} else {
puts $sock "GET /admin.cgi?pass=$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $sock "Host: $streamip"
puts $sock "Connection: close"
puts $sock ""
flush $sock
while {[eof $sock] != 1} {
set bl [gets $sock]
if { [
string first "standalone" $bl] != -} {
set streamstatus "isonline: [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]"
set repl "curlist: [string range $bl [shrink + 19 "<REPORTEDLISTENERS>" 0 $bl] [shrink - 1 "</REPORTEDLISTENERS>" 0 $bl]]"
set curhigh "curhigh: [string range $bl [shrink + 15 "<PEAKLISTENERS>" 0 $bl] [shrink - 1 "</PEAKLISTENERS>" 0 $bl]]"
set currentl [string range $bl [shrink 18 "<CURRENTLISTENERS>" 0 $bl] [shrink "</CURRENTLISTENERS>" 0 $bl]]
set surl "serverurl: [string range $bl [shrink + 11 "<SERVERURL>" 0 $bl] [shrink - 1 "</SERVERURL>" 0 $bl]]"
set cursong "cursong: [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 0 $bl]]"
set songurl [string range $bl [shrink "<SONGURL>" 0 $bl] [shrink "</SONGURL>" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 0 $bl]]"
set stitle "stitle: [string range $bl [shrink + 13 "<SERVERTITLE>" 0 $bl] [shrink - 1 "</SERVERTITLE>" 0 $bl]]"
set sgenre "sgenre: [string range $bl [shrink + 13 "<SERVERGENRE>" 0 $bl] [shrink - 1 "</SERVERGENRE>" 0 $bl]]"
}}
close $sock
}

set temp [open "isonline" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrate\n$stitle\n$sgenre\n$surl"
close $temp
if {$announce == } {
if {
$streamstatus == "isonline: 0" && $oldisonline == "isonline: 1"} {
    
poststuff privmsg $offlinetext
    
if {$doalertadmin == "1"} { sendnote domsen $alertadmin "radio is now offline" }
    if {
$urltopic == 1} { poststuff topic $offlinetopic }
}
if {
$streamstatus == "isonline: 1" && $oldisonline == "isonline: 0" } {
if {
$sgenre != ""} {
set sgenre " ([lrange $sgenre 1 [llength $sgenre]] )"
}
poststuff privmsg "$onlinetext"
if {$urltopic == 1} { poststuff topic "$onlinetopic}
}}
if {(
$tellusers == 1) && ($streamstatus == "isonline: 1") && ($oldcurhigh != "curhigh: 0") } {
if {
$oldcurhigh != $curhigh} {
poststuff privmsg "8,1Radyomuz En Yüksek Dinleyici 9: ( [lindex $curhigh 1] ) 8 Sayısına Ulaşmıştır.. "
}
if {
$oldcurlist != $repl} {
poststuff privmsg "8,1Şuanda Radyomuzu 9 ( $currentl ) 8kisi dinlemektedir."
}}
if {(
$tellsongs == 1) && ($oldsong != $cursong) && ($streamstatus == "isonline: 1") } {
if {
$songurl != ""} { set songurl " ($songurl)"}
regsub -all "&#x3C;" $cursong "<" cursong
regsub 
-all "&#x3E;" $cursong ">" cursong
regsub 
-all "&#x26;" $cursong "+" cursong  
regsub 
-all "&#x22;" $cursong "\"" cursong
regsub 
-all "&#x27;" $cursong "'" cursong
regsub 
-all "&#xFF;" $cursong "" cursong
regsub 
-all "&#xB4;" $cursong "´" cursong
regsub 
-all "&#x96;" $cursong "-" cursong
regsub 
-all "&#xF6;" $cursong "ö" cursong
regsub 
-all "&#xE4;" $cursong "ä" cursong
regsub 
-all "&#xFC;" $cursong "ü" cursong
regsub 
-all "&#xD6;" $cursong "Ö" cursong
regsub 
-all "&#xC4;" $cursong "Ä" cursong
regsub 
-all "&#xDC;" $cursong "Ü" cursong
regsub 
-all "&#xDF;" $cursong "ß" cursong
putlog $cursong
poststuff privmsg 
"1,7 Şuan Yayinda DJ /sgenre/ Vardir. 1,6 Çalan Parça: 13,1 [lrange $cursong 1 [llength $cursong]] 1,10 Dinleyici Sayisi: $currentl 0,13 Rekor Dinleyici: [lindex $curhigh 1] "
putserv "privmsg #radyo 0,3 Radyo Yayınımızı Dinlemek için Tıklayın ---> 0,2 « http://Radyo.GuLSohbet.Net:3563/listen.pls » "
}

if {(
$tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "isonline: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "0,3 Radyo Yayınımızı Dinlemek için Tıklayın ---> 0,2 « http://Radyo.GuLSohbet.Net:3563/listen.pls » "
}}}

putlog "*** shoutcast.tcl v1.03 by domsen <domsen[MENTION=29487]Doms[/MENTION]en.org> succesfully loaded. turn it up baby." 

Tcl`nin orijinali budur.

 

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver