This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Shoutcast V1 to Shoutcast V2 by Domsen

Help for those learning Tcl or writing their own scripts.
Post Reply
j
juanamores
Master
Posts: 317
Joined: Sun Mar 15, 2015 9:59 am

Shoutcast V1 to Shoutcast V2 by Domsen

Post by juanamores »

I have this shoutcast TCL by Domsen, for my radio bot, which displays information about the song being broadcast.
It works perfectly with shoutcast v1, but when I issue in shoucast v2 not functions.
There is a way to adapt it to work with me shoutcast v2?

Code: Select all

# shoutcast.tcl v1.03 by domsen <domsen@domsen.org> (c)2oo5
#
# comments? bugs? ideas? requests? money? beer?
# plz mail me or visit my homepage @ www.domsen.org
# visit #newsticker@ircnet
#
#
###############################################################
# shoutcast.tcl v1.03 by Chino <chino@canal-ayuda.org> (c)2oo6
# "TCL con Permiso, Editado y Traducido con credito a domsen."
#
# Favor no tocar nada de lo que no entiendas de haber
# algún problema no es responsabilidad mia ni de domsen
#
# Colores usados: Negro Azul Rojo Marrón y Fucsia
#
# Para cualquier ayuda me encuentra en:
# < #Ayuda #Trujilo #Ayuda-Eggdrop > <eu.Undernet.oRG>
#
# No quitar los creditos dados a:
#
# - domsen
# - Chino
# - #Ayuda-Eggdrop
#
###############################################################
# Saludos:
# A Spinetta que aportó mucho con la traducción.
#
###############################################################
# Configuracion ##################################################

set radiochans "#tcls #lapaz"
set adminchans "#tcls"
set streamip "radioirc.sytes.net"
set streamport "8000"
set streampass "Radiopass"
set scstatstrigger "!estado"
set scstreamtrigger "!enlace"
set scplayingtrigger "!tocando"
set sclistenertrigger "!oyentes"
set scdjtrigger "!dj"
set scsetdjtrigger ".serdj"
set scunsetdjtrigger ".noserdj"
set scwishtrigger "!pedidos"
set scgreettrigger "!saludos"
set sclastsongstrigger "!ultimas"
set schelptrigger "!radio"


set alertadmin ""
set doalertadmin "1"

set announce "1"

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

set advertise "1"
set advertiseonlyifonline "1"

set offlinetext "La Radio Esta 4APAGADA !!!"
set offlinetopic ""

set onlinetext "1Radio IRC 6TRANSMITIENDO a 4 /bitrate/  kbits 1Sitonizanos en -> 12http://$streamip:$streamport/listen.pls"
set onlinetopic ""

set streamtext "Sintoniza Radio IRC en www.Sonidomegga.com"

set advertisetext "Radio IRC 4TRANSMITIENDO ---> 2 http://$streamip:$streamport/listen.pls - ... Para Ver Comandos de la Radio Teclea 2!radio "


# 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 D $scunsetdjtrigger pub_unsetdj
bind msg D $scunsetdjtrigger msg_unsetdj

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 - "* * * * *" envivo
bind time - "?0 * * * *" advertise
bind nick f * djnickchange


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

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

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


proc status { } {
global streamip streamport streampass
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return 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 "" 0 $bl] [shrink - 1 "" 0 $bl]]
}}
close $sock
}
if { $streamstatus == "1" } { return 1 } else { return 0 }
}




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

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

regsub -all "/stitle/" $text "$stitle" text
regsub -all "/curlist/" $text "$curlist" text
regsub -all "/curhigh/" $text "$curhigh" text
regsub -all "/cursong/" $text "$cursong" text
regsub -all "/sgenre/" $text "$sgenre" text
regsub -all "/surl/" $text "$surl" text
regsub -all "/bitrate/" $text "$bitrate" text
regsub -all "/dj/" $text "$dj" text

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


proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "notice $target :1Los Comandos Que Puede Usar Son:"
putserv "notice $target :4$scstatstrigger1: Ver el Estado - 4$scstreamtrigger1: Ver Nuestro Link - 4$scplayingtrigger1: Ver el SONG que esta actualmente Sonando - 4$scdjtrigger1: Ver Nuestro Actual DJ de la Radio - 4$sclastsongstrigger1: Ver Las 10 ULTIMAS Song sonadas en radio - 4$scwishtrigger1: Mandar pedidos Musicales Ej: $scwishtrigger <tus_songs> - 4$scgreettrigger1: Mandar Tus Mensaje de Saludos Ej: $scgreettrigger <tus_saludos> 4$sclistenertrigger1: Ver N° Actual de Oyentes "
putserv "notice $target :1Radio IRC ->> 5http://radioirc.sytes.net:8000/listen.pls51 - domsen & Chino"
}


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

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


proc setdj {nickname djnickname } {
if {$djnickname == "" } { set djnickname $nickname }
global streamip streamport streampass dj
putlog "shoutcast: Nuevo Dj: $djnickname ($nickname)"
set temp [open "dj" w+]
puts $temp $djnickname
close $temp
set temp [open "djnick" w+]
puts $temp $nickname
close $temp
if { [status] == "1" } { poststuff privmsg "$djnickname Es Ahora Nuestro DJ."
if { $::ctodjc == "1" } {
set temp [open "envivo" r]
while {[eof $temp] != 1} {
set zeile [gets $temp]
if {[string first "envivo:" $zeile] != -1 } { set oldenvivo $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
}
} else {
putserv "privmsg $nickname :Comando invalido por tener el servidor OFF Line" }
}


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

proc unsetdj { nick } {
global dj
set dj ""
file delete dj
putserv "notice $nick :Dj Borrado .. Puede Entrar otro Dj Poniendo el Comando .setdj Nickname"
}



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


proc listener { target } {
global streamip streamport streampass
putlog "Radio: $target Pedido De Conteo de Oyentes"
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 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set curhigh [string range $bl [shrink + 15 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set maxl [string range $bl [shrink + 14 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set avgtime [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]
}}
close $sock
putserv "notice $target :Actualmente hay $repl Oyente(s), La Radio Tiene Capacidad para $maxl Oyentes, el número máximo de Oyentes Hasta Ahora es de $curhigh Oyentes, el promedio de escucha es a $avgtime"
}}

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

proc wish { nick arg } {
if {$arg == ""} { putserv "notice $nick :"; return 0}
if { [status] == "1" } {
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
putserv "privmsg $djnick :PEDIDO MUSICAL: $arg de Parte de $nick"
} else {
putserv "notice $nick :" }
}


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




proc sclastsongs { target } {
global streamip streamport streampass
putlog "Radio: $target Pedidos las Song ultimas"
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 "<" $songs "<" songs
regsub -all ">" $songs ">" songs
regsub -all "&" $songs "+" songs
regsub -all """ $songs "\"" songs
regsub -all "'" $songs "'" songs
regsub -all "ÿ" $songs "" songs
regsub -all "<title>" $songs "(" songs
regsub -all "</title>" $songs ")" songs
regsub -all "" $songs "" songs
regsub -all "" $songs " - " songs
regsub -all "" $songs "" songs
regsub -all "" $songs "" songs
regsub -all {\d} $songs "" songs

regsub -all "´" $songs "´" songs
regsub -all "&#x96;" $songs "-" songs
regsub -all "ö" $songs "ö" songs
regsub -all "ä" $songs "ä" songs
regsub -all "ü" $songs "ü" songs
regsub -all "Ö" $songs "Ö" songs
regsub -all "Ä" $songs "Ä" songs
regsub -all "Ü" $songs "Ü" songs
regsub -all "ß" $songs "ß" songs



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


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



proc scstream { target } {
global streamip streamport streamtext
putlog "Radio: Informacion pedida por $target"
putserv "notice $target :$streamtext"
}

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

proc scgreet { nick arg } {
if {$arg == ""} { putserv "notice $nick :"; return 0}
if { [status] == "1" } {
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
putserv "privmsg $djnick :(Saludo) - $nick - $arg"
} else {
putserv "notice $nick :" }
}


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



proc djnickchange { oldnick uhost hand chan newnick } {
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp
if {$oldnick == $djnick} {
putlog "Radio: Cambia de Nick del Dj $oldnick -> $newnick"
set temp [open "djnick" w+]
puts $temp $newnick
close $temp
}}





proc dj { target } {
global streamip streamport streampass dj
putlog "Radio: $target pidio la Informacio de Dj"
if {[status] == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
putserv "notice $target :Le Presento a 4$dj Nuestro(a) DJ de la Radio IRC"
} else { putserv "notice $target :No hay ningun DJ seteado" }
} else { putserv "notice $target :La Radio se encuentra OFF Line" }
}




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



proc scstat {target} {
global streamip streamport streampass
putlog "Radio: $target Pidio el Estado de la 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 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set repl [string range $bl [shrink + 19 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set curhigh [string range $bl [shrink + 15 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set currentl [string range $bl [shrink + 18 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set surl [string range $bl [shrink + 11 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set maxl [string range $bl [shrink + 14 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set bitrate [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set stitle [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set sgenre [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]
if {$sgenre != ""} {set sgenre " ($sgenre)"}
set avgtime [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set irc [string range $bl [shrink + 5 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set icq [string range $bl [shrink + 5 "" 0 $bl] [shrink - 1 "" 0 $bl]]
if {$icq == 0} { set icq "N/A" }
set aim [string range $bl [shrink + 5 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set webhits [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set streamhits [string range $bl [shrink + 12 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set version [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]
if {$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $temp]
close $temp
} else { set dj "none" }
putserv "notice $target :Radio IRC ESTA EN LINEA, en shoutcast y Transmitiendo a $bitrate kbps, mas información en $surl"
} else {
putserv "notice $target :Radio IRC Actualmente ESTA APAGADA, Mas información en www.SonidoMegga.Com" }
putserv "notice $target :La Capacidad maxima de oyentes es $maxl, Total de Oyentes En la Radio fue de $curhigh oyentes."
putserv "notice $target :El tiempo promedio de escucha es de $avgtime segundos, La Radio tiene $webhits webhits y $streamhits streamhits."
putserv "notice $target :Tu puedes contactarte en el IRC en el canal $irc, Via Internet."
}}
close $sock
}}


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


proc playing {target} {
global streamip streamport streampass dj
putlog "Radio: $target pidio el titulo de la 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 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set songtitle [string range $bl [shrink + 11 "set songurl [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]
if {$songurl != ""} { set songurl " ($songurl)"}
regsub -all "<" $songtitle "<" songtitle
regsub -all ">" $songtitle ">" songtitle
regsub -all "&" $songtitle "+" songtitle
regsub -all """ $songtitle "\"" songtitle
regsub -all "'" $songtitle "'" songtitle
regsub -all "ÿ" $songtitle "" songtitle
regsub -all "´" $songtitle "´" songtitle
regsub -all "&#x96;" $songtitle "-" songtitle
regsub -all "ö" $songtitle "ö" songtitle
regsub -all "ä" $songtitle "ä" songtitle
regsub -all "ü" $songtitle "ü" songtitle
regsub -all "Ö" $songtitle "Ö" songtitle
regsub -all "Ä" $songtitle "Ä" songtitle
regsub -all "Ü" $songtitle "Ü" songtitle
regsub -all "ß" $songtitle "ß" songtitle

if {$streamstatus == 1} {
putserv "notice $target :Radio IRC, Tocando -> $songtitle"
} else {
putserv "notice $target :"
}}}
close $sock
}}

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



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

if {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $tellbitrate == 1} {
set envivofile "envivo"
set oldenvivo "envivo: 0"
set oldcurlist "curlist: 0"
set oldcurhigh "curhigh: 0"
set oldsong "cursong: 0"
set oldbitrate "bitrate: 0"
if {[file exists $envivofile]} {
putlog "Radio: Viendo la Conexion de Radio"
set temp [open "envivo" r]
while {[eof $temp] != 1} {
set zeile [gets $temp]
if {[string first "envivo:" $zeile] != -1 } { set oldenvivo $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 "envivo: [string range $bl [shrink + 14 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set repl "curlist: [string range $bl [shrink + 19 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set curhigh "curhigh: [string range $bl [shrink + 15 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set currentl [string range $bl [shrink + 18 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set surl "serverurl: [string range $bl [shrink + 11 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set cursong "cursong: [string range $bl [shrink + 11 "<songtitle" 0 $bl] [shrink - 1 "" 0 $bl]]"
set songurl [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]
set bitrate "bitrate: [string range $bl [shrink + 9 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set stitle "stitle: [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
set sgenre "sgenre: [string range $bl [shrink + 13 "" 0 $bl] [shrink - 1 "" 0 $bl]]"
}}
close $sock
}

set temp [open "envivo" w+]
puts $temp "$streamstatus\n$repl\n$curhigh\n$cursong\n$bitrate\n$stitle\n$sgenre\n$surl"
close $temp
if {$announce == 1 } {
if {$streamstatus == "envivo: 0" && $oldenvivo == "envivo: 1"} {
poststuff privmsg $offlinetext
if {$doalertadmin == "1"} { sendnote domsen $alertadmin "" }
if {$urltopic == 1} { poststuff topic $offlinetopic }
}
if {$streamstatus == "envivo: 1" && $oldenvivo == "envivo: 0" } {
if {$sgenre != ""} {
set sgenre " ([lrange $sgenre 1 [llength $sgenre]] )"
}
poststuff privmsg "$onlinetext"
if {$urltopic == 1} { poststuff topic "$onlinetopic" }
}}
if {($tellusers == 1) && ($streamstatus == "envivo: 1") && ($oldcurhigh != "curhigh: 0") } {
if {$oldcurhigh != $curhigh} {
poststuff privmsg "Posibles Oyentes: [lindex $curhigh 1]"
}
if {$oldcurlist != $repl} {
poststuff privmsg ""
}}
if {($tellsongs == 1) && ($oldsong != $cursong) && ($streamstatus == "envivo: 1") } {
if {$songurl != ""} { set songurl " ($songurl)"}
regsub -all "<" $cursong "<" cursong
regsub -all ">" $cursong ">" cursong
regsub -all "&" $cursong "+" cursong
regsub -all """ $cursong "\"" cursong
regsub -all "'" $cursong "'" cursong
regsub -all "ÿ" $cursong "" cursong
regsub -all "´" $cursong "´" cursong
regsub -all "&#x96;" $cursong "-" cursong
regsub -all "ö" $cursong "ö" cursong
regsub -all "ä" $cursong "ä" cursong
regsub -all "ü" $cursong "ü" cursong
regsub -all "Ö" $cursong "Ö" cursong
regsub -all "Ä" $cursong "Ä" cursong
regsub -all "Ü" $cursong "Ü" cursong
regsub -all "ß" $cursong "ß" cursong
putlog $cursong
poststuff privmsg "1Quieres Escuchar La Radio IRC Haz Doble Click en ->> 12 http://radioirc.sytes.net:8000/listen.pls  En Linea 6$dj...La Actual Canción es: 4 [lrange $cursong 1 [llength $cursong]] .. Para Ver Comandos de la Radio Teclea 6!radio "
}

if {($tellbitrate == 1) && ($oldbitrate != $bitrate) && ($streamstatus == "envivo: 1") && ($oldbitrate != "bitrate: 0")} {
poststuff privmsg "Calidad Seteada a [lindex $bitrate 1]kbps"
}}}

putlog "-= Cargado: shoutcast.tcl Por *#Ayuda-eggdrop* =-"
If you do not understand my ideas is because I can not think in English, I help me with Google Translate. I only speak Spanish. Bear with me. Thanks :)
Post Reply