IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   Radyo Tcl yardım (https://www.ircforumlari.net/eggdrop-neostats-bnc/533672-radyo-tcl-yardim.html)

mr_stres 06 Haziran 2013 21:18

Radyo Tcl yardım
 
Radyo kanalında bot çok güzel çalışıyor çalan dinleyen istek vs. ama radyo kanalında !durum , !link , !çalan , !dinleyen , !dj gibi komutları algılamıyor.Yardımcı olursanız sevinirim

SeckiN 06 Haziran 2013 22:53

Cevap: Radyo Tcl yardım
 
Merhaba Tcl dosyasını paylaşırmısınız veyahut sunucu adresinizi verin yardımcı olayım.

Saygıyla Selamlar..

mr_stres 06 Haziran 2013 23:15

Cevap: Radyo Tcl yardım
 
.....

mr_stres 06 Haziran 2013 23:21

Cevap: Radyo Tcl yardım
 
[BOX="bu şekilde"]
set radiochans "#kardelen"
set streamip "dinle.kardelenfm.com"
set streamport "2000"
set streampass "*******"
set scstatstrigger "!durum"
set scstreamtrigger "!adres"
set scplayingtrigger "!calan"
set sclistenertrigger "!dinleyici"
set scdjtrigger "!dj"
set scsetdjtrigger "!setdj"
set scwishtrigger "!wish"
set scgreettrigger "!greet"
set sclastsongstrigger "!soncalan"
set schelptrigger "!yardim"
set announce "3"
set urltopic "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"
set advertise "1"
set offlinetext "9,1OnLine Dj oLmadığından doLayı Radyo Yayını Bir Süre Kapanmıştır.."
set offlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine Dj oLmadığından Dolayı Kapalıdır.Kanaldaki Op Arkadaşlardan Yardım aLabilirsiniz. ."
set onlinetext "11,1Yayınızımı Dinlemek için 9,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Adresini Tıklayabilir 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."

set onlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine14,1Radyomuzu 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz.."
set streamtext "0,4Radyomuzu dinlemek için Sadece tıklayın & 11,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
set advertisetext "11,1 En Son 9,1aLbumleri 4,1En Hit Parçaları 14,1Slow, 15,1Pop, 11,1Özgün, 9,1Rock, 4,1Yabancı ve 15,1Tum Muzik 14,1Turlerini 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."

# end of config #####################
bind pub - $scstatstrigger pub_scstat
bind msg - $scstatstrigger msg_scstat
bind pub - $scplayingtrigger pub_playing
bind msg - $scplayingtrigger msg_playing
bind pub - $scdjtrigger pub_dj
bind msg - $scdjtrigger msg_dj
bind pub D $scsetdjtrigger pub_setdj
bind msg D $scsetdjtrigger msg_setdj
bind pub - $scwishtrigger pub_wish
bind msg - $scwishtrigger msg_wish
bind pub - $scgreettrigger pub_greet
bind msg - $scgreettrigger msg_greet
bind pub - $scstreamtrigger pub_stream
bind msg - $scstreamtrigger msg_stream
bind pub - $sclastsongstrigger pub_lastsongs
bind msg - $sclastsongstrigger msg_lastsongs
bind pub - $sclistenertrigger pub_listener
bind msg - $sclistenertrigger msg_listener
bind pub - $schelptrigger pub_help
bind msg - $schelptrigger msg_help
bind time - "* * * * *" isonline
bind time - "?0 * * * *" advertise
bind nick D * djnickchange
proc shrink { calc number string start bl} { return [expr [string first "$string" $bl $start] $calc $number] }
proc poststuff { mode text } {
global radiochans
foreach chan [channels] {
if {$radiochans == "" } { putserv "$mode $chan :$text" }
if {$radiochans != "" } {
if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} {putserv "$mode $chan :$text"}
}}}
proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "notice $target :işte Size KuLLana BiLeceginiz Bazi KomutLar..:"
putserv "notice $target :$scstatstrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $sclistenertrigger"
putserv "notice $target :radyo.tcl Edited ßy KardelenFM"
}
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
if {$advertise == "1" } { poststuff privmsg $advertisetext }
}
proc setdj {nickname djnickname } {
if {$djnickname == "" } { set djnickname $nickname }
global streamip streamport streampass
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
putserv "privmsg $nickname :your are now dj of this radio"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy." } else {
putserv "privmsg $nickname :this has not been announced because the radio is currentlfy offline." }
}}
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 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] != -1 } {
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 maxl [string range $bl [shrink + 14 "<MAXLISTENERS>" 0 $bl] [shrink - 1 "</MAXLISTENERS>" 0 $bl]]
set avgtime [string range $bl [shrink + 13 "<AVERAGETIME>" 0 $bl] [shrink - 1 "</AVERAGETIME>" 0 $bl]]
}}
close $sock
set advertisetext "Su anda $repl Kisi Radyomuzu DinLemekte, maximum Dinleyici Sayısı $maxl, OrtaLama DinLenMe Zamanı İse $avgtime"
}}
proc msg_listener { nick uhost hand arg } { global radiochans; 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}
global streamip streamport streampass
putlog "shoutcast: $nick wants to hear: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 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] != -1 } {
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
}}
putserv "notice $target :$songs"
}}
proc msg_lastsongs { nick uhost hand arg } { global radiochans; 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 } { global radiochans; 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}
global dj streamip streamport streampass
putlog "shoutcast: $nick greets fly out to: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 msg_setdj { nick uhost hand arg } { global radiochans; setdj $nick $arg }
proc pub_setdj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { setdj $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
putlog "shoutcast: $target asked for dj info"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if {$streamstatus == 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 :Şuanda Dj $stitle$sgenre" }
} else {
putserv "notice $target :sorry radio is currently offline"
}
close $sock
}}

proc msg_dj { nick uhost hand arg } { global radiochans; 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
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-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] != -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 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]]
if {$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
set advertisetext "4$stitle$sgenre 2simdi online, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
size="3">} else {

set advertisetext "4$stitle$sgenre 2simdi offline, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
size="3">set advertisetext "2Su an yayinimizi4 $currentl kisi 2DinLemeKtedir, 10Maximum Dinleyici Sayisi ise4 $maxl, 10dir 2RAdyomuzu Ayni Anda en Fazla4 $curhigh Kisi 2DinLemistir."

set advertisetext "2Radyo RADYO KardelenFm'i Webten DinLemek için 4
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tıkLamanız yeterLi..."

set advertisetext "4Radyo12 KardelenFM 4Dinlemek icin TıkLa..! 12http://dinle.kardelenfm.com:2000/listen.pls 0,7 Simdi Calan parca: 1,13[lrange $cursong 1 [llength $cursong]]0,4 $songurl"
}}
close $sock
}}
proc msg_scstat { nick uhost hand arg } { global radiochans; 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
putlog "shoutcast: $target asked for current song"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
set songtitle [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 0 $bl]]
set songurl [string range $bl [shrink + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</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
if {$streamstatus == 1} {
set advertisetext "Şu Anda Calan $songtitle$songurl"
} else {
putserv "notice $target :server is currently offline, sorry"
}}}
close $sock
}}
proc msg_playing { nick uhost hand arg } { global radiochans; 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
global offlinetext offlinetopic onlinetext onlinetopic
global streamip streampass streamport
if {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $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] != -1 } { set oldisonline $zeile }
if {[string first "curlist:" $zeile] != -1 } { set oldcurlist $zeile }
if {[string first "curhigh:" $zeile] != -1 } { set oldcurhigh $zeile }
if {[string first "cursong:" $zeile] != -1 } { set oldsong $zeile }
if {[string first "bitrate:" $zeile] != -1 } { 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] != -1 } {
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 - 1 "</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 + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</SONGURL>" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 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]]
}}
close $sock
}
set temp [open "isonline" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrat e"
close $temp
if {$announce == 3 } {
if {$streamstatus == "isonline: 0" && $oldisonline == "isonline: 1"} {
poststuff privmsg $offlinetext
if {$urltopic == 1} { poststuff topic $offlinetopic }
}
if {$streamstatus == "isonline: 1" && $oldisonline == "isonline: 0" } {
if {$sgenre != ""} {
set sgenre " ($sgenre)"
}
poststuff privmsg "0,1Online DJ 0,1 $stitle"
poststuff privmsg "0,4Radyo RADYO RadYoOoOoOoOoOo KardelenFM ile RenkLi MelodiLer 0,1Radyo9,1 KardelenFM "
if {$urltopic == 1} { poststuff topic "15,1 Djmiz9,1 $stitle 1,7Yayın kalitesi [lindex $bitrate 1]kbits $onlinetopic" }
}}
if {($tellusers == 1) && ($streamstatus == "isonline: 1") && ($oldcurhigh != "curhigh: 0") } {
if {$oldcurhigh != $curhigh} {
}
if {$oldcurlist != $repl} {
poststuff privmsg "1,4 Su Anki Dinleyici Sayısı ($currentl) 0,4http://dinle.kardelenfm.com:2000/listen.pls "
}}
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
poststuff privmsg "0,1Online DJ9,1 $stitle "
poststuff privmsg "0,5 Turkiye'nin en kaliteli online radyosu ve DJ'leri 0,7SanaL aLemin En Hit Radyosu : 0,7 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
poststuff privmsg "0,1<<<Kardelen9,1FM>>> "
poststuff privmsg "0,4Radyo KardelenFM 0,1Siradaki Parca :9,1 [lrange $cursong 1 [llength $cursong]]$songurl "
poststuff privmsg "11,1Radyomuzu Online Dinlemek İçin Tıkla »» 0,6 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
poststuff privmsg "4,1Suan : ($currentl) kisi 0,4Radyo KardelenFM 4,1DinLiyOr. "
poststuff privmsg "0,5Istekleriniz icin 0,10 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,5 Linkini Kullanabilirsiniz.. "
}
if {($tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "isonline: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "bitrate switched to [lindex $bitrate 1]kbps"
}}}
proc join_greet {nick uhost handle channel} {
putserv "NOTICE $nick : 0,12 Radyo KardelenFM'E hos geldiniz $nick! 9,1 Isteklerinizi Icin 8,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,3 adresinden yazabilirsiniz. 0,5 Acik: Radyo KardelenFM "
putserv "NOTICE $nick : 0,1 Radyomuzu dinlemek icin tiklayin: 12http://dinle.kardelenfm.com:2000/listen.pls"
}
bind join - * join_greet
#gerekli bindler
bind pub - !yes yes
bind pub - !no no
bind pub - !istek istek
bind pub - !msg cevap
bind evnt - init-server baglan_yap
#Gerekli degiskenler
set onick "Kardelen_FM"
set opass "fgwq4750"
#Dj kanali
set djkanal "#istek"
#Radyo kanali
set radyo "#Kardelen"
#ELLEMEYIN (Siz Bİlirsiniz)
proc baglan_yap {type} {
global onick opass
putserv "OPER $onick $opass"
}
proc cevap {nick uhand host chan arg} {
global djkanal radyo
set nick [lindex [split $arg] 0]
if {[isop $nick $djkanal] && [onchan $nick $radyo]} {
putquick "PRIVMSG $radyo :4 [lindex [split $arg] 0] :6[join [lrange [split $arg] 1 end]]"
}
}
proc yes {nick uhand host chan arg} {
global djkanal radyo
set nick [lindex $arg 0]
putquick "PRIVMSG $radyo :4 $nick 6İsteğiniz Arşivimizde Mevcut. Kısa Süre İçinde İsteginiz yayınlanacaktır."
}
proc no {nick uhand host chan arg} {
global djkanal radyo
set nick [lindex $arg 0]
putquick "PRIVMSG $radyo :4 $nick 6Üzgünüm, İsteğiniz Arşivimizde Bulunmamaktadır. Başka Bir İstekte Bulunabilirsiniz."
}
proc istek {nick uhand host chan arg} {
global radyo djkanal
if {[lindex $arg 0] == ""} { return }
dj:ara $nick $arg
}
proc dj:ara {kim mesaj} {
global botnick djkanal radyo
set opbulundu 0
foreach opcuk [chanlist $djkanal] {
if {[isop $opcuk $djkanal] && $opcuk != $botnick} { set opbulundu "1" }
}
if {$opbulundu != "1"} {
putserv "PRIVMSG $radyo :6Üzgünüm 4 $kim 6isteginize cevap verecek dj bulunamadı! Lütfen daha sonra tekrar deneyiniz."
} {
putquick "PRIVMSG $radyo :4 $kim 6Lütfen bekleyiniz. İsteğinizi Kontrol Ediyorum."
putquick "PRIVMSG $djkanal :4 $kim 6Istegi: 12 $mesaj"
putquick "PRIVMSG $radyo :4 $kim 12 $mesaj 6 isteğiniz DJ'lerimize iletilmiştir. Bir sonraki istek isteme süreniz 4 1dk6'dir."
newignore $kim!*@* KardelenFM "Istek Ignore" 1
}
}
channel add $djkanal
channel add $radyo
putlog "yapimci : KardelenFM"
[/BOX]

saywhat 07 Haziran 2013 08:20

Cevap: Radyo Tcl yardım
 
500 satırlık bir koda hata kontrolü yapmak gözleri şaşı etmekten öteye gitmiyor.şöyle bir göz gezdirdim .bu bildiğimiz shoutcast.tcl birkaç bilinen versionu var piyasada "orjinal" yazılmışı*. sc.tcl diye de biliniyor .altına başka bir kod eklenmiş/birleştirilmeye çalışılmış ama aslında sadece kaynak yapılmış bambaşka telde bir kod halbuki..

çalışmadığını söylediğiniz !durum !çalan komutlarını işleyen/alakalı yerlere baktığımda "hata" olabilecek bir şey gözüme çarpmadı. set radiochans "#kardelen" ayarında belirlenen kanalda "normalde" çalışması gerekirdi komutların ne bindlerinde ne prosedürlerinde tuhaf bi durum yok gibi.

bu çalışmayan komutlar kanal üstünde kullanıldığı sırada bota telnet/dcc üzerinden bağlı kalıp gözlemleyin bu çalışmayan komutlar uygulanırken herhangi bir hata mesajı düşüyormu ekrana. bu hata mesajları sorunun nerede olduğuyla ilgili ipucu verir ona göre bakılır.yok olmadı bu shoutcast.tcl nin temiz bir kopyasını düzenleyip deneyebilirsiniz.

botun .conf'unda şu satırları ekleyin:
Kod:

bind dcc n tcl *dcc:tcl
bind dcc n set *dcc:set

"eğer yoksa" büyük ihtimal unbind olarak vardır ya onların altına ekleyin yada o unbindleri bind olarak değişin..(botu .restart etmelisiniz .conf üstündeki bu değişiklikten sonra. rehash yeterli gelemeyebilir)
sonra bota bağlandığınızda hata mesajı aldığınızda :
Kod:

.tcl set ::errorCode
komutu verin bu hatalı kod parçasını gösterecek./tanımlanamayan yeri..

sonra
Kod:

.tcl set ::errorInfo
yaparsanızda o hata hakkında daha ayrıntılı bilgi gösterecek.(komut kullanımında mı sorun var vs vs )
.tcl set ::tcl_patchLevel
sonra
.tcl set ::version
çekin bunlarda bot versionu ve makinadaki tcl sürümü bilgisini gösterecek.sonuçları "olası" aldığınız hata mesajlarıyla buraya atın.sorunun ne olduğuna anlamamıza,kodun neresine bakmamız gerektiğine,yardımı dokunacaktır.

aksi halde bu kadar uzun bir kodda sorunu bulmak zor ...

mr_stres 09 Haziran 2013 09:15

Cevap: Radyo Tcl yardım
 
Tşkler hocam verdiğininz bilgiler için.Sanırım uğraştıracak biraz. son kısımdaki istek bölümü sonradan eklendi ve çalışıyor onun gibi bi kod yazabilirmisiniz !durum !link gibi komutları kullanabilmek için..

MesqeN 09 Haziran 2013 11:11

Cevap: Radyo Tcl yardım
 
Alıntı:

mr_stres Nickli Üyeden Alıntı (Mesaj 1041308432)
Tşkler hocam verdiğininz bilgiler için.Sanırım uğraştıracak biraz. son kısımdaki istek bölümü sonradan eklendi ve çalışıyor onun gibi bi kod yazabilirmisiniz !durum !link gibi komutları kullanabilmek için..

degerli kardeşim

eggdrop radyo botunuzu sunucuya gönderirken ./eggdrop -mn radyo.conf diye gönderin..

ve radyo kanalında !durum komutunu uygulayın ve ardından telnet bakınız verdigi Error hatasını buraya copy ediniz daha hızlı saglıklı kaliteli yardım alırsınız :

mr_stres 09 Haziran 2013 11:32

Cevap: Radyo Tcl yardım
 
Alıntı:

MesqeN Nickli Üyeden Alıntı (Mesaj 1041308443)
degerli kardeşim

eggdrop radyo botunuzu sunucuya gönderirken ./eggdrop -mn radyo.conf diye gönderin..

ve radyo kanalında !durum komutunu uygulayın ve ardından telnet bakınız verdigi Error hatasını buraya copy ediniz daha hızlı saglıklı kaliteli yardım alırsınız :


[11:00] Tcl error [pub_scstat]: can't read "cursong": no such variable

bu hatayı veriyor.

saywhat 09 Haziran 2013 15:25

Cevap: Radyo Tcl yardım
 
yeni kopya deneyebilirsiniz dememin nedenide bu botunuz haklı* gerçektende cursong diye bir variable yok.

Kod:

set radiochans "#kardelen"
set streamip "dinle.kardelenfm.com"
set streamport "2000"
set streampass "*******"
set scstatstrigger "!durum"
set scstreamtrigger "!adres"
set scplayingtrigger "!calan"
set sclistenertrigger "!dinleyici"
set scdjtrigger "!dj"
set scsetdjtrigger "!setdj"
set scwishtrigger "!wish"
set scgreettrigger "!greet"
set sclastsongstrigger "!soncalan"
set schelptrigger "!yardim"
set announce "3"
set urltopic "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"
set advertise "1"
set offlinetext "9,1OnLine Dj oLmadığından doLayı Radyo Yayını Bir Süre Kapanmıştır.."
set offlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine Dj oLmadığından Dolayı Kapalıdır.Kanaldaki Op Arkadaşlardan Yardım aLabilirsiniz. ."
set onlinetext "11,1Yayınızımı Dinlemek için 9,1 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan Adresini Tıklayabilir 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
set onlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine14,1Radyomuzu 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz.."
set streamtext "0,4Radyomuzu dinlemek için Sadece tıklayın & 11,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
set advertisetext "11,1 En Son 9,1aLbumleri 4,1En Hit Parçaları 14,1Slow, 15,1Pop, 11,1Özgün, 9,1Rock, 4,1Yabancı ve 15,1Tum Muzik 14,1Turlerini 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
# end of config #####################
bind pub - $scstatstrigger pub_scstat
bind msg - $scstatstrigger msg_scstat
bind pub - $scplayingtrigger pub_playing
bind msg - $scplayingtrigger msg_playing
bind pub - $scdjtrigger pub_dj
bind msg - $scdjtrigger msg_dj
bind pub D $scsetdjtrigger pub_setdj
bind msg D $scsetdjtrigger msg_setdj
bind pub - $scwishtrigger pub_wish
bind msg - $scwishtrigger msg_wish
bind pub - $scgreettrigger pub_greet
bind msg - $scgreettrigger msg_greet
bind pub - $scstreamtrigger pub_stream
bind msg - $scstreamtrigger msg_stream
bind pub - $sclastsongstrigger pub_lastsongs
bind msg - $sclastsongstrigger msg_lastsongs
bind pub - $sclistenertrigger pub_listener
bind msg - $sclistenertrigger msg_listener
bind pub - $schelptrigger pub_help
bind msg - $schelptrigger msg_help
bind time - "* * * * *" isonline
bind time - "?0 * * * *" advertise
bind nick D * djnickchange
proc shrink { calc number string start bl} { return [expr [string first "$string" $bl $start] $calc $number] }
proc poststuff { mode text } {
global radiochans
foreach chan [channels] {
if {$radiochans == "" } { putserv "$mode $chan :$text" }
if {$radiochans != "" } {
if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} {putserv "$mode $chan :$text"}
}}}
proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "notice $target :işte Size KuLLana BiLeceginiz Bazi KomutLar..:"
putserv "notice $target :$scstatstrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $sclistenertrigger"
putserv "notice $target :radyo.tcl Edited ßy KardelenFM"
}
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
if {$advertise == "1" } { poststuff privmsg $advertisetext }
}
proc setdj {nickname djnickname } {
if {$djnickname == "" } { set djnickname $nickname }
global streamip streamport streampass
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
putserv "privmsg $nickname :your are now dj of this radio"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy." } else {
putserv "privmsg $nickname :this has not been announced because the radio is currentlfy offline." }
}}
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 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] != -1 } {
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 maxl [string range $bl [shrink + 14 "<MAXLISTENERS>" 0 $bl] [shrink - 1 "</MAXLISTENERS>" 0 $bl]]
set avgtime [string range $bl [shrink + 13 "<AVERAGETIME>" 0 $bl] [shrink - 1 "</AVERAGETIME>" 0 $bl]]
}}
close $sock
set advertisetext "Su anda $repl Kisi Radyomuzu DinLemekte, maximum Dinleyici Sayısı $maxl, OrtaLama DinLenMe Zamanı İse $avgtime"
}}
proc msg_listener { nick uhost hand arg } { global radiochans; 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}
global streamip streamport streampass
putlog "shoutcast: $nick wants to hear: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 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] != -1 } {
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
}}
putserv "notice $target :$songs"
}}
proc msg_lastsongs { nick uhost hand arg } { global radiochans; 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 } { global radiochans; 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}
global dj streamip streamport streampass
putlog "shoutcast: $nick greets fly out to: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 msg_setdj { nick uhost hand arg } { global radiochans; setdj $nick $arg }
proc pub_setdj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { setdj $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
putlog "shoutcast: $target asked for dj info"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if {$streamstatus == 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 :Şuanda Dj $stitle$sgenre" }
} else {
putserv "notice $target :sorry radio is currently offline"
}
close $sock
}}
proc msg_dj { nick uhost hand arg } { global radiochans; 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
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-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] != -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 cursong "cursong: [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 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 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]]
if {$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
set advertisetext "4$stitle$sgenre 2simdi online, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
else {
set advertisetext "4$stitle$sgenre 2simdi offline, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set advertisetext "2Su an yayinimizi4 $currentl kisi 2DinLemeKtedir, 10Maximum Dinleyici Sayisi ise4 $maxl, 10dir 2RAdyomuzu Ayni Anda en Fazla4 $curhigh Kisi 2DinLemistir."
set advertisetext "2Radyo RADYO KardelenFm'i Webten DinLemek için 4
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tıkLamanız yeterLi..."
set advertisetext "4Radyo12 KardelenFM 4Dinlemek icin TıkLa..! 12http://dinle.kardelenfm.com:2000/listen.pls 0,7 Simdi Calan parca: 1,13[lrange $cursong 1 [llength $cursong]]0,4 $songurl"
}}
close $sock
}}
proc msg_scstat { nick uhost hand arg } { global radiochans; 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
putlog "shoutcast: $target asked for current song"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
set songtitle [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 0 $bl]]
set songurl [string range $bl [shrink + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</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
if {$streamstatus == 1} {
set advertisetext "Şu Anda Calan $songtitle$songurl"
} else {
putserv "notice $target :server is currently offline, sorry"
}}}
close $sock
}}
proc msg_playing { nick uhost hand arg } { global radiochans; 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
global offlinetext offlinetopic onlinetext onlinetopic
global streamip streampass streamport
if {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $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] != -1 } { set oldisonline $zeile }
if {[string first "curlist:" $zeile] != -1 } { set oldcurlist $zeile }
if {[string first "curhigh:" $zeile] != -1 } { set oldcurhigh $zeile }
if {[string first "cursong:" $zeile] != -1 } { set oldsong $zeile }
if {[string first "bitrate:" $zeile] != -1 } { 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] != -1 } {
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 - 1 "</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 + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</SONGURL>" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 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]]
}}
close $sock
}
set temp [open "isonline" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrat e"
close $temp
if {$announce == 3 } {
if {$streamstatus == "isonline: 0" && $oldisonline == "isonline: 1"} {
poststuff privmsg $offlinetext
if {$urltopic == 1} { poststuff topic $offlinetopic }
}
if {$streamstatus == "isonline: 1" && $oldisonline == "isonline: 0" } {
if {$sgenre != ""} {
set sgenre " ($sgenre)"
}
poststuff privmsg "0,1Online DJ 0,1 $stitle"
poststuff privmsg "0,4Radyo RADYO RadYoOoOoOoOoOo KardelenFM ile RenkLi MelodiLer 0,1Radyo9,1 KardelenFM "
if {$urltopic == 1} { poststuff topic "15,1 Djmiz9,1 $stitle 1,7Yayın kalitesi [lindex $bitrate 1]kbits $onlinetopic" }
}}
if {($tellusers == 1) && ($streamstatus == "isonline: 1") && ($oldcurhigh != "curhigh: 0") } {
if {$oldcurhigh != $curhigh} {
}
if {$oldcurlist != $repl} {
poststuff privmsg "1,4 Su Anki Dinleyici Sayısı ($currentl) 0,4http://dinle.kardelenfm.com:2000/listen.pls "
}}
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
poststuff privmsg "0,1Online DJ9,1 $stitle "
poststuff privmsg "0,5 Turkiye'nin en kaliteli online radyosu ve DJ'leri 0,7SanaL aLemin En Hit Radyosu : 0,7 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan "
poststuff privmsg "0,1<<<Kardelen9,1FM>>> "
 poststuff privmsg "0,4Radyo KardelenFM 0,1Siradaki Parca :9,1 [lrange $cursong 1 [llength $cursong]]$songurl "
poststuff privmsg "11,1Radyomuzu Online Dinlemek İçin Tıkla »» 0,6 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
poststuff privmsg "4,1Suan : ($currentl) kisi 0,4Radyo KardelenFM 4,1DinLiyOr. "
poststuff privmsg "0,5Istekleriniz icin 0,10 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,5 Linkini Kullanabilirsiniz.. "
}
if {($tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "isonline: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "bitrate switched to [lindex $bitrate 1]kbps"
}}}
 proc join_greet {nick uhost handle channel} {
putserv "NOTICE $nick : 0,12 Radyo KardelenFM'E hos geldiniz $nick! 9,1 Isteklerinizi Icin 8,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,3 adresinden yazabilirsiniz. 0,5 Acik: Radyo KardelenFM "
putserv "NOTICE $nick : 0,1 Radyomuzu dinlemek icin tiklayin: 12http://dinle.kardelenfm.com:2000/listen.pls"
}
bind join - * join_greet
#gerekli bindler
 bind pub - !yes yes
 bind pub - !no no
 bind pub - !istek istek
 bind pub - !msg cevap
 bind evnt - init-server baglan_yap
 #Gerekli degiskenler
 set onick "Kardelen_FM"
 set opass "fgwq4750"
 #Dj kanali
 set djkanal "#istek"
 #Radyo kanali
 set radyo "#Kardelen"
 #ELLEMEYIN (Siz Bİlirsiniz)
 proc baglan_yap {type} {
 global onick opass
 putserv "OPER $onick $opass"
 }
 proc cevap {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex [split $arg] 0]
 if {[isop $nick $djkanal] && [onchan $nick $radyo]} {
 putquick "PRIVMSG $radyo :4 [lindex [split $arg] 0] :6[join [lrange [split $arg] 1 end]]"
 }
 }
 proc yes {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6İsteğiniz Arşivimizde Mevcut. Kısa Süre İçinde İsteginiz yayınlanacaktır."
 }
 proc no {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6Üzgünüm, İsteğiniz Arşivimizde Bulunmamaktadır. Başka Bir İstekte Bulunabilirsiniz."
 }
 proc istek {nick uhand host chan arg} {
 global radyo djkanal
 if {[lindex $arg 0] == ""} { return }
 dj:ara $nick $arg
 }
 proc dj:ara {kim mesaj} {
 global botnick djkanal radyo
 set opbulundu 0
 foreach opcuk [chanlist $djkanal] {
 if {[isop $opcuk $djkanal] && $opcuk != $botnick} { set opbulundu "1" }
 }
 if {$opbulundu != "1"} {
 putserv "PRIVMSG $radyo :6Üzgünüm 4 $kim 6isteginize cevap verecek dj bulunamadı! Lütfen daha sonra tekrar deneyiniz."
 } {
 putquick "PRIVMSG $radyo :4 $kim 6Lütfen bekleyiniz. İsteğinizi Kontrol Ediyorum."
 putquick "PRIVMSG $djkanal :4 $kim 6Istegi: 12 $mesaj"
 putquick "PRIVMSG $radyo :4 $kim 12 $mesaj 6 isteğiniz DJ'lerimize iletilmiştir. Bir sonraki istek isteme süreniz 4 1dk6'dir."
 newignore $kim!*@* KardelenFM "Istek Ignore" 1
 }
 }
 channel add $djkanal
 channel add $radyo
 putlog "yapimci : KardelenFM"

böyle deneyin birde...





ayrıca :

Kod:

bind msg n errorInfo showError
 
proc showError {nick uhost hand arg} {
 foreach l [split $::errorInfo \n] {
  puthelp "privmsg $nick :$l"
 }
}

bu koduda yüklerseniz botunuzun özeline girip errorinfo yazdığınızda size en son aldığı hatalı mesajı "özelden" atacaktır.işinize yarayabilir.

mr_stres 09 Haziran 2013 16:09

Cevap: Radyo Tcl yardım
 
denedim busefer hiç bir bilgiyi yazmadı kanalda bot.

saywhat 09 Haziran 2013 16:19

Cevap: Radyo Tcl yardım
 
hata mesajı var mı ?

kodu herkim tercüme ettiyse günahı boynuna bazı kod satırları belki bilerek belki kazara arada götürmüş. yukarda gösterdiğiniz hatada :

Tcl error [pub_scstat]: can't read "cursong": no such variable
pub_scstat prosedürü kanal mesajları (!durum) için scstat prosedürünü kullanıyor hemen tüm mesajlar için kullanılıyor* tüm bu "mesaj"larda kullanılacak variable'ları bu prosedür altında belirlemişler.ve cursong satırını orda kim çevirdiyse silmiş.yoktu sizin verdiğiniz kodda..

şimdi hala çalışmıyorsa ,sebebi başka satırlarında silinmiş - yada değiştirilmiş olmasından olabilir...

bazen rehash değişikleri botun görebilmesi için yeterli gelmez bot hala memory'de saklar eski bindleri vs...restart' edip deneyin birde çalışıp çalışmadığını (restart tüm memory sıfırlayıp yeniden başlamısına temizlenmesine neden oluyor) hala tık" yoksa gene bir hata mesajı var mı diye bakın.
çünkü hala çalışmaması başka satırların,kodlarında "arada" gittiği sonucunu çıkarabiliriz.

"orjinal shoutcast tcl" deneminizi öneririm.son olarak. gavurca satırları kanal mesaj kısımlarını bu elinizdekinden kopyala yapıştır yaparsınız yeni-temiz shoutcast.tcl'ye ayarlarınızıda kopylersiniz olur biter yoksa böyle tek tek hata eksik gedik arıyacağız demektir ...

MesqeN 09 Haziran 2013 17:00

Cevap: Radyo Tcl yardım
 
Alıntı:

mr_stres Nickli Üyeden Alıntı (Mesaj 1041308666)
denedim busefer hiç bir bilgiyi yazmadı kanalda bot.


sunucunu PM gec gelip yardımcı olayım

mr_stres 09 Haziran 2013 17:02

Cevap: Radyo Tcl yardım
 
Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041308668)
hata mesajı var mı ?

kodu herkim tercüme ettiyse günahı boynuna bazı kod satırları belki bilerek belki kazara arada götürmüş. yukarda gösterdiğiniz hatada :

Tcl error [pub_scstat]: can't read "cursong": no such variable
pub_scstat prosedürü kanal mesajları (!durum) için scstat prosedürünü kullanıyor hemen tüm mesajlar için kullanılıyor* tüm bu "mesaj"larda kullanılacak variable'ları bu prosedür altında belirlemişler.ve cursong satırını orda kim çevirdiyse silmiş.yoktu sizin verdiğiniz kodda..

şimdi hala çalışmıyorsa ,sebebi başka satırlarında silinmiş - yada değiştirilmiş olmasından olabilir...

bazen rehash değişikleri botun görebilmesi için yeterli gelmez bot hala memory'de saklar eski bindleri vs...restart' edip deneyin birde çalışıp çalışmadığını (restart tüm memory sıfırlayıp yeniden başlamısına temizlenmesine neden oluyor) hala tık" yoksa gene bir hata mesajı var mı diye bakın.
çünkü hala çalışmaması başka satırların,kodlarında "arada" gittiği sonucunu çıkarabiliriz.

"orjinal shoutcast tcl" deneminizi öneririm.son olarak. gavurca satırları kanal mesaj kısımlarını bu elinizdekinden kopyala yapıştır yaparsınız yeni-temiz shoutcast.tcl'ye ayarlarınızıda kopylersiniz olur biter yoksa böyle tek tek hata eksik gedik arıyacağız demektir ...

Evet söylediğiniz gibi orjinal shoutcast tcl en kolay yolu sanırım.Tşkler

saywhat 09 Haziran 2013 21:54

Cevap: Radyo Tcl yardım
 
yanlış anlamayın baştan savıyorum vs gibi olmasın. kendiniz orjinaliyle sizin buraya postaladığınız arasındaki farkı-eksikliği görmeniz için daha ayrıntılı açıklamaya-göstermeye çalışayım:

bakın bu sizin bi sayfa arkada verdiğiniz koddan !durum isteğini kod içinde takip ediyorum :

Kod:

set scstatstrigger "!durum"
scstatstrigger'a bakıyorum bind'ler içinden shoutcast stat komutu-triggerı olarak burda ayarlanmış !durum komutu.

bindler içinde ilk satırda hemen :
Kod:

bind pub - $scstatstrigger pub_scstat
bu bind'in prosedürü yani yapılması gereken işi yaptıracak yer pub_scstat de imiş hemen oraya bakıyorum:

Kod:

proc pub_scstat { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scstat $nick }}
scstat $nick diyerek !durum komutuna karşılayacak atılacak mesajı scstat prosedürüne (proc) una bağlamış şimdi onu bulalım:
Kod:

proc scstat {target} {
global streamip streamport streampass
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-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] != -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 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]] 
 ..... diye devam ediyor bikaç satır sonra advertismentlara geçiyor.

bu komutlar için atılacak mesajların variable'ları burda alt alta set blabla "falan filan" dizilmiş ama sizin aldığınız hatadaki cursong diye bi variable burda yok....bunu bulamadığından-eksikliğinden gösteremiyor hata atıyor. cursong current song yani şuan-halen süregelen gibi bi anlamı var current kelimesinin song bildiğiniz şarkı kısaltıp birleştirmiş cursong demiş bu değer-variable için ama sizdeki kodda bu yok.

bakın buda orjinal shoutcast daki aynı proc:
Kod:

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-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] != -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 - 1 "</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]]
... diye devam ediyor.

farkı görebilirsiniz burda set cursong var sizinkinde yok... oysa bu variable kodun !komutlarında atılacak pekçok mesaj için kullanılıyor hemen tüm mesaj olaylarını kodu yapan bu proc/prosedür altında toplamış ve diğer prosedürleri buna bağlamış.sizde şimdi işlemeyen komutların işleyememe nedeni bu eksiklik/kusur.

başka ne gibi değişiklikler eksikler olduğunu ancak adım adım alınacak hata mesajlarından takip edip onarmak gidermek gerekir bu nedenle...dedim orjinale dönmeniz daha hayırlı olur diye...

----------------------------------------------------------------------------------

şimdi böyle alt alta getirince bu proc'ları sizinkiyle orjinaldekini sadece cursong değil global dede sizinkinde radiochans gösterilmemiş /silinmiş. ben direk cursong'a baktığım için onu fark etmemişim ..

sadece set cursong satırını ekleyip vermiştim arka sayfada çünkü aldığınız hata mesajında o değişken eksik görünüyordu şimdi iki parçayı üst üste getirince global'dede eksiği fark edebildim.

birde onuda düzelterek deneyelim öleyse.dahada başka bir yerinde eksilmiş bozulmuş biyer yoksa çalışacaktır.sizde yeniden düzenlemek zorunda kalmazsınız.yok gene düzelmez başka başka hata mesajları atarsa ,,başka yerlerdede sorun var demektir.

global'deki eksiği ve cursong değişkeni eklenmiş hali:

Kod:

set radiochans "#kardelen"
set streamip "dinle.kardelenfm.com"
set streamport "2000"
set streampass "*******"
set scstatstrigger "!durum"
set scstreamtrigger "!adres"
set scplayingtrigger "!calan"
set sclistenertrigger "!dinleyici"
set scdjtrigger "!dj"
set scsetdjtrigger "!setdj"
set scwishtrigger "!wish"
set scgreettrigger "!greet"
set sclastsongstrigger "!soncalan"
set schelptrigger "!yardim"
set announce "3"
set urltopic "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"
set advertise "1"
set offlinetext "9,1OnLine Dj oLmadığından doLayı Radyo Yayını Bir Süre Kapanmıştır.."
set offlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine Dj oLmadığından Dolayı Kapalıdır.Kanaldaki Op Arkadaşlardan Yardım aLabilirsiniz. ."
set onlinetext "11,1Yayınızımı Dinlemek için 9,1 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan Adresini Tıklayabilir 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
set onlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine14,1Radyomuzu 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz.."
set streamtext "0,4Radyomuzu dinlemek için Sadece tıklayın & 11,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
set advertisetext "11,1 En Son 9,1aLbumleri 4,1En Hit Parçaları 14,1Slow, 15,1Pop, 11,1Özgün, 9,1Rock, 4,1Yabancı ve 15,1Tum Muzik 14,1Turlerini 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
# end of config #####################
bind pub - $scstatstrigger pub_scstat
bind msg - $scstatstrigger msg_scstat
bind pub - $scplayingtrigger pub_playing
bind msg - $scplayingtrigger msg_playing
bind pub - $scdjtrigger pub_dj
bind msg - $scdjtrigger msg_dj
bind pub D $scsetdjtrigger pub_setdj
bind msg D $scsetdjtrigger msg_setdj
bind pub - $scwishtrigger pub_wish
bind msg - $scwishtrigger msg_wish
bind pub - $scgreettrigger pub_greet
bind msg - $scgreettrigger msg_greet
bind pub - $scstreamtrigger pub_stream
bind msg - $scstreamtrigger msg_stream
bind pub - $sclastsongstrigger pub_lastsongs
bind msg - $sclastsongstrigger msg_lastsongs
bind pub - $sclistenertrigger pub_listener
bind msg - $sclistenertrigger msg_listener
bind pub - $schelptrigger pub_help
bind msg - $schelptrigger msg_help
bind time - "* * * * *" isonline
bind time - "?0 * * * *" advertise
bind nick D * djnickchange
proc shrink { calc number string start bl} { return [expr [string first "$string" $bl $start] $calc $number] }
proc poststuff { mode text } {
global radiochans
foreach chan [channels] {
if {$radiochans == "" } { putserv "$mode $chan :$text" }
if {$radiochans != "" } {
if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} {putserv "$mode $chan :$text"}
}}}
proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "notice $target :işte Size KuLLana BiLeceginiz Bazi KomutLar..:"
putserv "notice $target :$scstatstrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $sclistenertrigger"
putserv "notice $target :radyo.tcl Edited ßy KardelenFM"
}
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
if {$advertise == "1" } { poststuff privmsg $advertisetext }
}
proc setdj {nickname djnickname } {
if {$djnickname == "" } { set djnickname $nickname }
global streamip streamport streampass
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
putserv "privmsg $nickname :your are now dj of this radio"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy." } else {
putserv "privmsg $nickname :this has not been announced because the radio is currentlfy offline." }
}}
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 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] != -1 } {
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 maxl [string range $bl [shrink + 14 "<MAXLISTENERS>" 0 $bl] [shrink - 1 "</MAXLISTENERS>" 0 $bl]]
set avgtime [string range $bl [shrink + 13 "<AVERAGETIME>" 0 $bl] [shrink - 1 "</AVERAGETIME>" 0 $bl]]
}}
close $sock
set advertisetext "Su anda $repl Kisi Radyomuzu DinLemekte, maximum Dinleyici Sayısı $maxl, OrtaLama DinLenMe Zamanı İse $avgtime"
}}
proc msg_listener { nick uhost hand arg } { global radiochans; 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}
global streamip streamport streampass
putlog "shoutcast: $nick wants to hear: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 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] != -1 } {
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
}}
putserv "notice $target :$songs"
}}
proc msg_lastsongs { nick uhost hand arg } { global radiochans; 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 } { global radiochans; 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}
global dj streamip streamport streampass
putlog "shoutcast: $nick greets fly out to: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 msg_setdj { nick uhost hand arg } { global radiochans; setdj $nick $arg }
proc pub_setdj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { setdj $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
putlog "shoutcast: $target asked for dj info"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if {$streamstatus == 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 :Şuanda Dj $stitle$sgenre" }
} else {
putserv "notice $target :sorry radio is currently offline"
}
close $sock
}}
proc msg_dj { nick uhost hand arg } { global radiochans; 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-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] != -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 cursong "cursong: [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 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 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]]
if {$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
set advertisetext "4$stitle$sgenre 2simdi online, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
else {
set advertisetext "4$stitle$sgenre 2simdi offline, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set advertisetext "2Su an yayinimizi4 $currentl kisi 2DinLemeKtedir, 10Maximum Dinleyici Sayisi ise4 $maxl, 10dir 2RAdyomuzu Ayni Anda en Fazla4 $curhigh Kisi 2DinLemistir."
set advertisetext "2Radyo RADYO KardelenFm'i Webten DinLemek için 4
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tıkLamanız yeterLi..."
set advertisetext "4Radyo12 KardelenFM 4Dinlemek icin TıkLa..! 12http://dinle.kardelenfm.com:2000/listen.pls 0,7 Simdi Calan parca: 1,13[lrange $cursong 1 [llength $cursong]]0,4 $songurl"
}}
close $sock
}}
proc msg_scstat { nick uhost hand arg } { global radiochans; 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
putlog "shoutcast: $target asked for current song"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
set songtitle [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 0 $bl]]
set songurl [string range $bl [shrink + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</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
if {$streamstatus == 1} {
set advertisetext "Şu Anda Calan $songtitle$songurl"
} else {
putserv "notice $target :server is currently offline, sorry"
}}}
close $sock
}}
proc msg_playing { nick uhost hand arg } { global radiochans; 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
global offlinetext offlinetopic onlinetext onlinetopic
global streamip streampass streamport
if {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $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] != -1 } { set oldisonline $zeile }
if {[string first "curlist:" $zeile] != -1 } { set oldcurlist $zeile }
if {[string first "curhigh:" $zeile] != -1 } { set oldcurhigh $zeile }
if {[string first "cursong:" $zeile] != -1 } { set oldsong $zeile }
if {[string first "bitrate:" $zeile] != -1 } { 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] != -1 } {
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 - 1 "</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 + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</SONGURL>" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 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]]
}}
close $sock
}
set temp [open "isonline" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrat e"
close $temp
if {$announce == 3 } {
if {$streamstatus == "isonline: 0" && $oldisonline == "isonline: 1"} {
poststuff privmsg $offlinetext
if {$urltopic == 1} { poststuff topic $offlinetopic }
}
if {$streamstatus == "isonline: 1" && $oldisonline == "isonline: 0" } {
if {$sgenre != ""} {
set sgenre " ($sgenre)"
}
poststuff privmsg "0,1Online DJ 0,1 $stitle"
poststuff privmsg "0,4Radyo RADYO RadYoOoOoOoOoOo KardelenFM ile RenkLi MelodiLer 0,1Radyo9,1 KardelenFM "
if {$urltopic == 1} { poststuff topic "15,1 Djmiz9,1 $stitle 1,7Yayın kalitesi [lindex $bitrate 1]kbits $onlinetopic" }
}}
if {($tellusers == 1) && ($streamstatus == "isonline: 1") && ($oldcurhigh != "curhigh: 0") } {
if {$oldcurhigh != $curhigh} {
}
if {$oldcurlist != $repl} {
poststuff privmsg "1,4 Su Anki Dinleyici Sayısı ($currentl) 0,4http://dinle.kardelenfm.com:2000/listen.pls "
}}
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
poststuff privmsg "0,1Online DJ9,1 $stitle "
poststuff privmsg "0,5 Turkiye'nin en kaliteli online radyosu ve DJ'leri 0,7SanaL aLemin En Hit Radyosu : 0,7 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan "
poststuff privmsg "0,1<<<Kardelen9,1FM>>> "
 poststuff privmsg "0,4Radyo KardelenFM 0,1Siradaki Parca :9,1 [lrange $cursong 1 [llength $cursong]]$songurl "
poststuff privmsg "11,1Radyomuzu Online Dinlemek İçin Tıkla »» 0,6 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
poststuff privmsg "4,1Suan : ($currentl) kisi 0,4Radyo KardelenFM 4,1DinLiyOr. "
poststuff privmsg "0,5Istekleriniz icin 0,10 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,5 Linkini Kullanabilirsiniz.. "
}
if {($tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "isonline: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "bitrate switched to [lindex $bitrate 1]kbps"
}}}
 proc join_greet {nick uhost handle channel} {
putserv "NOTICE $nick : 0,12 Radyo KardelenFM'E hos geldiniz $nick! 9,1 Isteklerinizi Icin 8,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,3 adresinden yazabilirsiniz. 0,5 Acik: Radyo KardelenFM "
putserv "NOTICE $nick : 0,1 Radyomuzu dinlemek icin tiklayin: 12http://dinle.kardelenfm.com:2000/listen.pls"
}
bind join - * join_greet
#gerekli bindler
 bind pub - !yes yes
 bind pub - !no no
 bind pub - !istek istek
 bind pub - !msg cevap
 bind evnt - init-server baglan_yap
 #Gerekli degiskenler
 set onick "Kardelen_FM"
 set opass "fgwq4750"
 #Dj kanali
 set djkanal "#istek"
 #Radyo kanali
 set radyo "#Kardelen"
 #ELLEMEYIN (Siz Bİlirsiniz)
 proc baglan_yap {type} {
 global onick opass
 putserv "OPER $onick $opass"
 }
 proc cevap {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex [split $arg] 0]
 if {[isop $nick $djkanal] && [onchan $nick $radyo]} {
 putquick "PRIVMSG $radyo :4 [lindex [split $arg] 0] :6[join [lrange [split $arg] 1 end]]"
 }
 }
 proc yes {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6İsteğiniz Arşivimizde Mevcut. Kısa Süre İçinde İsteginiz yayınlanacaktır."
 }
 proc no {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6Üzgünüm, İsteğiniz Arşivimizde Bulunmamaktadır. Başka Bir İstekte Bulunabilirsiniz."
 }
 proc istek {nick uhand host chan arg} {
 global radyo djkanal
 if {[lindex $arg 0] == ""} { return }
 dj:ara $nick $arg
 }
 proc dj:ara {kim mesaj} {
 global botnick djkanal radyo
 set opbulundu 0
 foreach opcuk [chanlist $djkanal] {
 if {[isop $opcuk $djkanal] && $opcuk != $botnick} { set opbulundu "1" }
 }
 if {$opbulundu != "1"} {
 putserv "PRIVMSG $radyo :6Üzgünüm 4 $kim 6isteginize cevap verecek dj bulunamadı! Lütfen daha sonra tekrar deneyiniz."
 } {
 putquick "PRIVMSG $radyo :4 $kim 6Lütfen bekleyiniz. İsteğinizi Kontrol Ediyorum."
 putquick "PRIVMSG $djkanal :4 $kim 6Istegi: 12 $mesaj"
 putquick "PRIVMSG $radyo :4 $kim 12 $mesaj 6 isteğiniz DJ'lerimize iletilmiştir. Bir sonraki istek isteme süreniz 4 1dk6'dir."
 newignore $kim!*@* KardelenFM "Istek Ignore" 1
 }
 }
 channel add $djkanal
 channel add $radyo
 putlog "yapimci : KardelenFM"


mr_stres 12 Haziran 2013 21:53

Cevap: Radyo Tcl yardım
 
Özür dilerim saywhat işlerim vardı yeni bakabildim. Şuan yapamam ama yarın denerim olup olmadığını yazarım buraya. Tşkler ilgilendiğin için.

mr_stres 13 Haziran 2013 09:14

Cevap: Radyo Tcl yardım
 
Yok hocam yine olmadı

[08:40] shoutcast: Klas asked for serverstats
[08:40] Tcl error [pub_scstat]: can't read "songurl": no such variable

bu hatayı verdi !durum yazdığımda.Ayrıca normalde otomatik yazdığı şeyleride yazmadı kanala.

saywhat 13 Haziran 2013 19:59

Cevap: Radyo Tcl yardım
 
hmmz yine aynı scstat proc'una gidiyor işin ucu bu kezde songurl eksik en iyisimi bu scstat 'ı tümden orjinaldekiyle değişip vereyim ben size.

baktığımda sorun şuki sizin kodda düzenlenirken bu scstat'taki eksik satırların dışında bu proc içinde orjinalinde olmayan advertise satırları eklenmiş .ve $songurl yani çalan şarkı için link kanala postalanması istenmiş ancak,orjinal kodda bu advertise-yani reklam/ilan olayı başka yerde ve songurl tanımlanan başka bir proc içinde bunun yeri sizde değişmiş.bende set songurl variable'ını taşıdım alıp reklam olayıda eklenen bu hata veren scstat proc içine taşıdım ki.bu songurl değişkenini tanımazlıktan gelmesin.ayrıca diğer tüm değişkenleri bu proc'taki set blabla satırlarını orjinalindekiyle değiştim. bakalım daha başka "hata" verecek mi...

Kod:

set radiochans "#kardelen"
set streamip "dinle.kardelenfm.com"
set streamport "2000"
set streampass "*******"
set scstatstrigger "!durum"
set scstreamtrigger "!adres"
set scplayingtrigger "!calan"
set sclistenertrigger "!dinleyici"
set scdjtrigger "!dj"
set scsetdjtrigger "!setdj"
set scwishtrigger "!wish"
set scgreettrigger "!greet"
set sclastsongstrigger "!soncalan"
set schelptrigger "!yardim"
set announce "3"
set urltopic "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"
set advertise "1"
set offlinetext "9,1OnLine Dj oLmadığından doLayı Radyo Yayını Bir Süre Kapanmıştır.."
set offlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine Dj oLmadığından Dolayı Kapalıdır.Kanaldaki Op Arkadaşlardan Yardım aLabilirsiniz. ."
set onlinetext "11,1Yayınızımı Dinlemek için 9,1 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan Adresini Tıklayabilir 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
set onlinetopic "14,4 Radyo KardelenFM 15,4Radyo Kanalına Hoş geLdiniz4,1 Yayinimiz Su An OnLine14,1Radyomuzu 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz.."
set streamtext "0,4Radyomuzu dinlemek için Sadece tıklayın & 11,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
set advertisetext "11,1 En Son 9,1aLbumleri 4,1En Hit Parçaları 14,1Slow, 15,1Pop, 11,1Özgün, 9,1Rock, 4,1Yabancı ve 15,1Tum Muzik 14,1Turlerini 9,1http://dinle.kardelenfm.com:2000/listen.pls11,1 Adresini Çift 4,1Tıklayarak Dinleyebilirsiniz 9,1iStekleriniz için 11,1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Radyo istek 9,1 Adresimizi kullanabilirsiniz.."
# end of config #####################
bind pub - $scstatstrigger pub_scstat
bind msg - $scstatstrigger msg_scstat
bind pub - $scplayingtrigger pub_playing
bind msg - $scplayingtrigger msg_playing
bind pub - $scdjtrigger pub_dj
bind msg - $scdjtrigger msg_dj
bind pub D $scsetdjtrigger pub_setdj
bind msg D $scsetdjtrigger msg_setdj
bind pub - $scwishtrigger pub_wish
bind msg - $scwishtrigger msg_wish
bind pub - $scgreettrigger pub_greet
bind msg - $scgreettrigger msg_greet
bind pub - $scstreamtrigger pub_stream
bind msg - $scstreamtrigger msg_stream
bind pub - $sclastsongstrigger pub_lastsongs
bind msg - $sclastsongstrigger msg_lastsongs
bind pub - $sclistenertrigger pub_listener
bind msg - $sclistenertrigger msg_listener
bind pub - $schelptrigger pub_help
bind msg - $schelptrigger msg_help
bind time - "* * * * *" isonline
bind time - "?0 * * * *" advertise
bind nick D * djnickchange
proc shrink { calc number string start bl} { return [expr [string first "$string" $bl $start] $calc $number] }
proc poststuff { mode text } {
global radiochans
foreach chan [channels] {
if {$radiochans == "" } { putserv "$mode $chan :$text" }
if {$radiochans != "" } {
if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} {putserv "$mode $chan :$text"}
}}}
proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "notice $target :işte Size KuLLana BiLeceginiz Bazi KomutLar..:"
putserv "notice $target :$scstatstrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $sclistenertrigger"
putserv "notice $target :radyo.tcl Edited ßy KardelenFM"
}
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
if {$advertise == "1" } { poststuff privmsg $advertisetext }
}
proc setdj {nickname djnickname } {
if {$djnickname == "" } { set djnickname $nickname }
global streamip streamport streampass
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
putserv "privmsg $nickname :your are now dj of this radio"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy." } else {
putserv "privmsg $nickname :this has not been announced because the radio is currentlfy offline." }
}}
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 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] != -1 } {
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 maxl [string range $bl [shrink + 14 "<MAXLISTENERS>" 0 $bl] [shrink - 1 "</MAXLISTENERS>" 0 $bl]]
set avgtime [string range $bl [shrink + 13 "<AVERAGETIME>" 0 $bl] [shrink - 1 "</AVERAGETIME>" 0 $bl]]
}}
close $sock
set advertisetext "Su anda $repl Kisi Radyomuzu DinLemekte, maximum Dinleyici Sayısı $maxl, OrtaLama DinLenMe Zamanı İse $avgtime"
}}
proc msg_listener { nick uhost hand arg } { global radiochans; 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}
global streamip streamport streampass
putlog "shoutcast: $nick wants to hear: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 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] != -1 } {
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
}}
putserv "notice $target :$songs"
}}
proc msg_lastsongs { nick uhost hand arg } { global radiochans; 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 } { global radiochans; 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}
global dj streamip streamport streampass
putlog "shoutcast: $nick greets fly out to: $arg"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if { $streamstatus == "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 } { global radiochans; 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 msg_setdj { nick uhost hand arg } { global radiochans; setdj $nick $arg }
proc pub_setdj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { setdj $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
putlog "shoutcast: $target asked for dj info"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
}}
if {$streamstatus == 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 :Şuanda Dj $stitle$sgenre" }
} else {
putserv "notice $target :sorry radio is currently offline"
}
close $sock
}}
proc msg_dj { nick uhost hand arg } { global radiochans; 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-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] != -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 - 1 "</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 songurl [string range $bl [shrink + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</SONGURL>" 0 $bl]]
if {$songurl != ""} { set songurl " ($songurl)"}
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]]
if {$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
set advertisetext "4$stitle$sgenre 2simdi online, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
else {
set advertisetext "4$stitle$sgenre 2simdi offline, 6Radyomuzun Resmi Sayfasını MutLaka Ziyaret Edin 12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set advertisetext "2Su an yayinimizi4 $currentl kisi 2DinLemeKtedir, 10Maximum Dinleyici Sayisi ise4 $maxl, 10dir 2RAdyomuzu Ayni Anda en Fazla4 $curhigh Kisi 2DinLemistir."
set advertisetext "2Radyo RADYO KardelenFm'i Webten DinLemek için 4
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tıkLamanız yeterLi..."
set advertisetext "4Radyo12 KardelenFM 4Dinlemek icin TıkLa..! 12http://dinle.kardelenfm.com:2000/listen.pls 0,7 Simdi Calan parca: 1,13[lrange $cursong 1 [llength $cursong]]0,4 $songurl"
}}
close $sock
}}
proc msg_scstat { nick uhost hand arg } { global radiochans; 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
putlog "shoutcast: $target asked for current song"
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] != -1 } {
set streamstatus [string range $bl [shrink + 14 "<STREAMSTATUS>" 0 $bl] [shrink - 1 "</STREAMSTATUS>" 0 $bl]]
set songtitle [string range $bl [shrink + 11 "<SONGTITLE" 0 $bl] [shrink - 1 "</SONGTITLE>" 0 $bl]]
set songurl [string range $bl [shrink + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</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
if {$streamstatus == 1} {
set advertisetext "Şu Anda Calan $songtitle$songurl"
} else {
putserv "notice $target :server is currently offline, sorry"
}}}
close $sock
}}
proc msg_playing { nick uhost hand arg } { global radiochans; 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
global offlinetext offlinetopic onlinetext onlinetopic
global streamip streampass streamport
if {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $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] != -1 } { set oldisonline $zeile }
if {[string first "curlist:" $zeile] != -1 } { set oldcurlist $zeile }
if {[string first "curhigh:" $zeile] != -1 } { set oldcurhigh $zeile }
if {[string first "cursong:" $zeile] != -1 } { set oldsong $zeile }
if {[string first "bitrate:" $zeile] != -1 } { 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] != -1 } {
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 - 1 "</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 + 9 "<SONGURL>" 0 $bl] [shrink - 1 "</SONGURL>" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "<BITRATE>" 0 $bl] [shrink - 1 "</BITRATE>" 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]]
}}
close $sock
}
set temp [open "isonline" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrat e"
close $temp
if {$announce == 3 } {
if {$streamstatus == "isonline: 0" && $oldisonline == "isonline: 1"} {
poststuff privmsg $offlinetext
if {$urltopic == 1} { poststuff topic $offlinetopic }
}
if {$streamstatus == "isonline: 1" && $oldisonline == "isonline: 0" } {
if {$sgenre != ""} {
set sgenre " ($sgenre)"
}
poststuff privmsg "0,1Online DJ 0,1 $stitle"
poststuff privmsg "0,4Radyo RADYO RadYoOoOoOoOoOo KardelenFM ile RenkLi MelodiLer 0,1Radyo9,1 KardelenFM "
if {$urltopic == 1} { poststuff topic "15,1 Djmiz9,1 $stitle 1,7Yayın kalitesi [lindex $bitrate 1]kbits $onlinetopic" }
}}
if {($tellusers == 1) && ($streamstatus == "isonline: 1") && ($oldcurhigh != "curhigh: 0") } {
if {$oldcurhigh != $curhigh} {
}
if {$oldcurlist != $repl} {
poststuff privmsg "1,4 Su Anki Dinleyici Sayısı ($currentl) 0,4http://dinle.kardelenfm.com:2000/listen.pls "
}}
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
poststuff privmsg "0,1Online DJ9,1 $stitle "
poststuff privmsg "0,5 Turkiye'nin en kaliteli online radyosu ve DJ'leri 0,7SanaL aLemin En Hit Radyosu : 0,7 | Kardelen FM |sanal radyo online radyo fm, Kardelen chat sohbet kardelen script ismail yk tarkan "
poststuff privmsg "0,1<<<Kardelen9,1FM>>> "
 poststuff privmsg "0,4Radyo KardelenFM 0,1Siradaki Parca :9,1 [lrange $cursong 1 [llength $cursong]]$songurl "
poststuff privmsg "11,1Radyomuzu Online Dinlemek İçin Tıkla »» 0,6 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] "
poststuff privmsg "4,1Suan : ($currentl) kisi 0,4Radyo KardelenFM 4,1DinLiyOr. "
poststuff privmsg "0,5Istekleriniz icin 0,10 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,5 Linkini Kullanabilirsiniz.. "
}
if {($tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "isonline: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "bitrate switched to [lindex $bitrate 1]kbps"
}}}
 proc join_greet {nick uhost handle channel} {
putserv "NOTICE $nick : 0,12 Radyo KardelenFM'E hos geldiniz $nick! 9,1 Isteklerinizi Icin 8,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,3 adresinden yazabilirsiniz. 0,5 Acik: Radyo KardelenFM "
putserv "NOTICE $nick : 0,1 Radyomuzu dinlemek icin tiklayin: 12http://dinle.kardelenfm.com:2000/listen.pls"
}
bind join - * join_greet
#gerekli bindler
 bind pub - !yes yes
 bind pub - !no no
 bind pub - !istek istek
 bind pub - !msg cevap
 bind evnt - init-server baglan_yap
 #Gerekli degiskenler
 set onick "Kardelen_FM"
 set opass "fgwq4750"
 #Dj kanali
 set djkanal "#istek"
 #Radyo kanali
 set radyo "#Kardelen"
 #ELLEMEYIN (Siz Bİlirsiniz)
 proc baglan_yap {type} {
 global onick opass
 putserv "OPER $onick $opass"
 }
 proc cevap {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex [split $arg] 0]
 if {[isop $nick $djkanal] && [onchan $nick $radyo]} {
 putquick "PRIVMSG $radyo :4 [lindex [split $arg] 0] :6[join [lrange [split $arg] 1 end]]"
 }
 }
 proc yes {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6İsteğiniz Arşivimizde Mevcut. Kısa Süre İçinde İsteginiz yayınlanacaktır."
 }
 proc no {nick uhand host chan arg} {
 global djkanal radyo
 set nick [lindex $arg 0]
 putquick "PRIVMSG $radyo :4 $nick 6Üzgünüm, İsteğiniz Arşivimizde Bulunmamaktadır. Başka Bir İstekte Bulunabilirsiniz."
 }
 proc istek {nick uhand host chan arg} {
 global radyo djkanal
 if {[lindex $arg 0] == ""} { return }
 dj:ara $nick $arg
 }
 proc dj:ara {kim mesaj} {
 global botnick djkanal radyo
 set opbulundu 0
 foreach opcuk [chanlist $djkanal] {
 if {[isop $opcuk $djkanal] && $opcuk != $botnick} { set opbulundu "1" }
 }
 if {$opbulundu != "1"} {
 putserv "PRIVMSG $radyo :6Üzgünüm 4 $kim 6isteginize cevap verecek dj bulunamadı! Lütfen daha sonra tekrar deneyiniz."
 } {
 putquick "PRIVMSG $radyo :4 $kim 6Lütfen bekleyiniz. İsteğinizi Kontrol Ediyorum."
 putquick "PRIVMSG $djkanal :4 $kim 6Istegi: 12 $mesaj"
 putquick "PRIVMSG $radyo :4 $kim 12 $mesaj 6 isteğiniz DJ'lerimize iletilmiştir. Bir sonraki istek isteme süreniz 4 1dk6'dir."
 newignore $kim!*@* KardelenFM "Istek Ignore" 1
 }
 }
 channel add $djkanal
 channel add $radyo
 putlog "yapimci : KardelenFM"



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:34.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk