<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/18538" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2011-08-06T20:46:27-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/18538</id>

		<entry>
		<author><name><![CDATA[yelow79]]></name></author>
		<updated>2011-08-06T20:46:27-04:00</updated>

		<published>2011-08-06T20:46:27-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97344#p97344</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97344#p97344"/>
		<title type="html"><![CDATA[parsing error with shoutcast script]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97344#p97344"><![CDATA[
Bump I still have not figured this out. please any help from anyone.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11701">yelow79</a> — Sat Aug 06, 2011 8:46 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[yelow79]]></name></author>
		<updated>2011-07-07T08:48:35-04:00</updated>

		<published>2011-07-07T08:48:35-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97166#p97166</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97166#p97166"/>
		<title type="html"><![CDATA[parsing error with shoutcast script]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97166#p97166"><![CDATA[
Okay here is my problem when the bot runs the radio ad it works just fine IE <blockquote class="uncited"><div>6[1:31:10] &lt;%Radio-Bot&gt;  .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. MisFits-Radio .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. Playing: ZZ Top - Hey Mr. Millionaire@40kbps .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:.  listeners: 0  .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. peak: 2 .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:.  tune in by clicking -&gt;  <a href="http://Radio.MisFits-irc.net:8004/listen.pls" class="postlink">http://Radio.MisFits-irc.net:8004/listen.pls</a>  ~~~  If you are interested in becoming a DJ please contact yelow79  ~~~</div></blockquote>When I or anyone else does the !radio command  it doesn't parse correctly IE <blockquote class="uncited"><div>6[1:32:26] &lt;~yelow79&gt; !radio<br>6[1:32:28] &lt;%Radio-Bot&gt;  .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. MisFits-Radio .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. Playing: /cursong/@/bitrate/kbps .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:.  /listeners/  .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:. /peak/ .<img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_neutral.gif" width="15" height="15" alt=":|" title="Neutral">:.  tune in by clicking -&gt;  <a href="http://Radio.MisFits-irc.net:8004/listen.pls" class="postlink">http://Radio.MisFits-irc.net:8004/listen.pls</a>  ~~~  If you are interested in becoming a DJ please contact yelow79  ~~~</div></blockquote>It was working just fine. I only started noticing this a couple day's ago. I am not sure if I had made changes or not. Thanks for the help<div class="codebox"><p>Code: </p><pre><code># config ##########################set radiochans "#sawit-chat #sawit-movies #radio-staff"set adminchans "#radio-staff"set streamip "127.0.0.1"set streamurl "Radio.MisFits-irc.net"set streamport "8004"set streampass "H6o67ih8gqrlnbva"set scstatstrigger ".stats"set scstreamtrigger ".stream"set scplayingtrigger ".playing"set sclistenertrigger ".listener"set scdjtrigger ".dj"set scsetdjtrigger ".setdj"set scunsetdjtrigger ".unsetdj"set scwishtrigger ".request"set scgreettrigger ".greet"set sclastsongstrigger ".lastsongs"set schelptrigger ".help"set pvtadtrigger ".radio"set scadtrigger "!radio"set alertadmin ""set doalertadmin "0"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 "going offline now"set offlinetopic "MisFits-Radio is OFFLINE"set onlinetext "\0039 .:|:. MisFits-Radio .:|:. Playing: /cursong/@/bitrate/kbps .:|:. \00311 /listeners/ \0039 .:|:. /peak/ .:|:.  tune in by clicking -&gt; \00312 http://$streamurl:$streamport/listen.pls \0039 ~~~ \00313 If you are interested in becoming a DJ please contact yelow79 \0039 ~~~"set onlinetopic "\0038...\0037:::\0034MisFits-Radio is ONLINE\0037:::\0038... \00310If you are interested in being a DJ or interested in having the bot in your channel please contact \0038~~~ yelow79 ~~~"set streamtext "listen by clicking http://$streamurl:$streamport/listen.pls"set advertisetext "\0039 .:|:. MisFits-Radio .:|:. Playing: /cursong/@/bitrate/kbps .:|:. \00311 /listeners/ \0039 .:|:. /peak/ .:|:.  tune in by clicking -&gt; \00312 http://$streamurl:$streamport/listen.pls \0039 ~~~ \00313 If you are interested in becoming a DJ please contact yelow79 \0039 ~~~"# end of config #####################bind pub - $scstatstrigger  pub_scstatbind msg - $scstatstrigger  msg_scstatbind pub - $scplayingtrigger  pub_playingbind msg - $scplayingtrigger  msg_playingbind pub - $scdjtrigger  pub_djbind msg - $scdjtrigger  msg_djbind pub D $scsetdjtrigger  pub_setdjbind msg D $scsetdjtrigger  msg_setdjbind pub D $scunsetdjtrigger  pub_unsetdjbind msg D $scunsetdjtrigger  msg_unsetdjbind pub - $scwishtrigger  pub_wishbind msg - $scwishtrigger  msg_wishbind pub - $scgreettrigger  pub_greetbind msg - $scgreettrigger  msg_greetbind pub - $scstreamtrigger pub_streambind msg - $scstreamtrigger msg_streambind pub - $sclastsongstrigger pub_lastsongsbind msg - $sclastsongstrigger msg_lastsongsbind pub - $sclistenertrigger pub_listenerbind msg - $sclistenertrigger msg_listenerbind pub - $schelptrigger pub_helpbind msg - $schelptrigger msg_helpbind pub - $pvtadtrigger pvt_adbind msg - $pvtadtrigger pvt_adbind pub - $scadtrigger sc_adbind msg - $scadtrigger sc_ad bind time - "* * * * *" isonlinebind time - "0 * * * *" advertisebind time - "30 * * * *" advertisebind nick D * djnickchangeset 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 streampassif {[catch {set sock [socket $streamip $streamport] } sockerror]} {putlog "error: $sockerror"return 0 } else {puts $sock "GET /admin.cgi?pass=$streampass&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set streamstatus [string range $bl [shrink + 14 "&lt;STREAMSTATUS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMSTATUS&gt;" 0 $bl]]}}close $sock} if { $streamstatus == "1" } { return 1 } else { return 0 }}proc poststuff { mode text } {global radiochans djset listeners "0"set peak "0"set surl ""set cursong ""set sgenre ""set bitrate "0"set stitle ""set temp [open "isonline" r]while {[eof $temp] != 1} {set zeile [gets $temp]if {[string first "listeners:" $zeile] != -1 } { set listeners $zeile }if {[string first "peak:" $zeile] != -1 } { set peak $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 $tempregsub -all "/stitle/" $text "$stitle" textregsub -all "/listeners/" $text "$listeners" textregsub -all "/peak/" $text "$peak" textregsub -all "/cursong/" $text "$cursong" textregsub -all "/sgenre/" $text "$sgenre" textregsub -all "/surl/" $text "$surl" textregsub -all "/bitrate/" $text "$bitrate" textregsub -all "/dj/" $text "$dj" textforeach 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 sclistenertriggerputserv "notice $target :the following commands are available:"putserv "notice $target :$pvtadtrigger - $scstreamtrigger - $scplayingtrigger - $scdjtrigger - $sclastsongstrigger - $scwishtrigger"}proc pub_help {nick uhost hand chan arg} {global radiochansif {$radiochans == "" } { schelp $nick }if {$radiochans != "" } {if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { schelp $nick}}}proc pvt_ad { nick uhost hand chan arg } {global advertisetext advertise advertiseonlyifonlineputlog "shoutcast: pvt_ad requested by $nick"if {$advertise == "1" &amp;&amp; $advertiseonlyifonline == "1" &amp;&amp; [status] != 1} { putserv "notice $nick :Radio is currently offline." }if {$advertise == "1" &amp;&amp; $advertiseonlyifonline == "1" &amp;&amp; [status] == 1} { putserv "notice $nick :$advertisetext" }}proc sc_ad { nick uhost hand chan arg } {global advertisetextputlog "shoutcast: ad requested by $nick"if { ([isop $nick $chan] || [string match -nocase "dj*" $nick]) &amp;&amp; [status] != 1} { putserv "privmsg $chan :Radio is currently offline." }if { ([isop $nick $chan] || [string match -nocase "dj*" $nick]) &amp;&amp; [status] == 1} { putserv "privmsg $chan :$advertisetext" }}proc advertise { nick uhost hand chan arg } {global advertisetext advertise advertiseonlyifonlineif {$advertise == "1" &amp;&amp; $advertiseonlyifonline == "0"} { poststuff privmsg "$advertisetext" }if {$advertise == "1" &amp;&amp; $advertiseonlyifonline == "1" &amp;&amp; [status] == 1} { poststuff privmsg "$advertisetext" }}proc setdj {nickname djnickname } {if {$djnickname == "" } { set djnickname $nickname }global streamip streamport streampass dj putlog "shoutcast: new dj: $djnickname ($nickname)"set temp [open "dj" w+]puts $temp $djnicknameclose $tempset temp [open "djnick" w+]puts $temp $nicknameclose $tempif { [status] == "1" } { poststuff privmsg "$djnickname is now rocking the turntables, enjoy."if { $ctodjc == "1" } {set temp [open "isonline" r]while {[eof $temp] != 1} {set zeile [gets $temp]if {[string first "isonline:" $zeile] != -1 } { set oldisonline $zeile }if {[string first "listeners:" $zeile] != -1 } { set oldlisteners $zeile }if {[string first "peak:" $zeile] != -1 } { set oldpeak $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 :this has not been announced because the radio is currentlfy offline." }}proc msg_setdj { nick uhost hand arg } { setdj $nick $arg }proc pub_setdj { nick uhost hand chan arg } { global adminchans; if {([lsearch -exact [string tolower $adminchans] [string tolower $chan]] != -1) || ($adminchans == "")} { setdj $nick $arg }}proc unsetdj { nick } {global djset dj ""file delete djputserv "notice $nick :dj deleted"}proc msg_unsetdj { nick uhost hand arg } { unsetdj $nick }proc pub_unsetdj { nick uhost hand chan arg } { global adminchans; if {([lsearch -exact [string tolower $adminchans] [string tolower $chan]] != -1) || ($adminchans == "")} { unsetdj $nick }}proc listener { target } {global streamip streamport streampassputlog "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&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set repl [string range $bl [shrink + 19 "&lt;REPORTEDLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/REPORTEDLISTENERS&gt;" 0 $bl]]set peak [string range $bl [shrink + 15 "&lt;PEAKLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/PEAKLISTENERS&gt;" 0 $bl]]set maxl [string range $bl [shrink + 14 "&lt;MAXLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/MAXLISTENERS&gt;" 0 $bl]]set avgtime [string range $bl [shrink + 13 "&lt;AVERAGETIME&gt;" 0 $bl] [shrink - 1 "&lt;/AVERAGETIME&gt;" 0 $bl]]}}close $sockputserv "notice $target :there are currently $repl unique people listening, the listener maximum is $maxl, our user peak was at $peak listeners, the listening time average is $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 :you forgot to add your request (song title - artist)"; return 0}if { [status] == "1" } { set temp [open "djnick" r]set djnick [gets $temp]close $tempputserv "privmsg $djnick :(request) - $nick - $arg"} else {putserv "notice $nick :sorry radio is currently offline" }}proc msg_wish { nick uhost hand arg } { wish $nick $arg }proc pub_wish { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { wish $nick $arg }}proc sclastsongs { target } {global streamip streamport streampassputlog "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&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set songs [string range $bl [string first "&lt;TITLE&gt;" $bl] [expr [string last "&lt;/TITLE&gt;" $bl] + 7]]regsub -all "&lt;" $songs "&lt;" songsregsub -all "&gt;" $songs "&gt;" songsregsub -all "&amp;" $songs "+" songsregsub -all """ $songs "\"" songsregsub -all "'" $songs "'" songsregsub -all "ÿ" $songs "" songsregsub -all "&lt;TITLE&gt;" $songs "(" songsregsub -all "&lt;/TITLE&gt;" $songs ")" songsregsub -all "&lt;SONG&gt;" $songs "" songsregsub -all "&lt;/SONG&gt;" $songs " - " songsregsub -all "&lt;PLAYEDAT&gt;" $songs "" songsregsub -all "&lt;/PLAYEDAT&gt;" $songs "" songsregsub -all {\d} $songs "" songsregsub -all "´" $songs "´" songsregsub -all "&amp;#x96;" $songs "-" songsregsub -all "ö" $songs "ö" songsregsub -all "ä" $songs "ä" songsregsub -all "ü" $songs "ü" songsregsub -all "Ö" $songs "Ö" songsregsub -all "Ä" $songs "Ä" songsregsub -all "Ü" $songs "Ü" songsregsub -all "ß" $songs "ß" songs}}close $sockputserv "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 streamtextputlog "shoutcast: streaminfo requested by $target"putserv "notice $target :$streamtext"}proc msg_stream { nick uhost hand arg } { scstream $nick }proc pub_stream { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scstream $nick }}proc scgreet { nick arg } {if {$arg == ""} { putserv "notice $nick :you forgot to add your greetmessage"; return 0}if { [status] == "1" } {set temp [open "djnick" r]set djnick [gets $temp]close $tempputserv "privmsg $djnick :(GREET) - $nick - $arg"} else {putserv "notice $nick :sorry radio is currently offline" }}proc msg_greet { nick uhost hand arg } { scgreet $nick $arg }proc pub_greet { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { scgreet $nick $arg }}proc djnickchange { oldnick uhost hand chan newnick } {set temp [open "djnick" r]set djnick [gets $temp]close $tempif {$oldnick == $djnick} {putlog "shoutcast: dj nickchange $oldnick -&gt; $newnick"set temp [open "djnick" w+]puts $temp $newnickclose $temp}}proc dj { target } {global streamip streamport streampass djputlog "shoutcast: $target asked for dj info" if {[status] == 1} {if {[file exists dj]} {set temp [open "dj" r]set dj [gets $temp]close $tempputserv "notice $target :$dj is at the turntables!"} else { putserv "notice $target :sorry, no dj name available" }} else { putserv "notice $target :sorry radio is currently offline" }}proc msg_dj { nick uhost hand arg } { dj $nick"}proc pub_dj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { dj $nick  }}proc scstat {target} {global streamip streamport streampassputlog "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&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set streamstatus [string range $bl [shrink + 14 "&lt;STREAMSTATUS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMSTATUS&gt;" 0 $bl]]set repl [string range $bl [shrink + 19 "&lt;REPORTEDLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/REPORTEDLISTENERS&gt;" 0 $bl]]set peak [string range $bl [shrink + 15 "&lt;PEAKLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/PEAKLISTENERS&gt;" 0 $bl]]set currentl [string range $bl [shrink + 18 "&lt;CURRENTLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/CURRENTLISTENERS&gt;" 0 $bl]]set surl [string range $bl [shrink + 11 "&lt;SERVERURL&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERURL&gt;" 0 $bl]]set maxl [string range $bl [shrink + 14 "&lt;MAXLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/MAXLISTENERS&gt;" 0 $bl]]set bitrate [string range $bl [shrink + 9 "&lt;BITRATE&gt;" 0 $bl] [shrink - 1 "&lt;/BITRATE&gt;" 0 $bl]]set stitle [string range $bl [shrink + 13 "&lt;SERVERTITLE&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERTITLE&gt;" 0 $bl]]set sgenre [string range $bl [shrink + 13 "&lt;SERVERGENRE&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERGENRE&gt;" 0 $bl]]if {$sgenre != ""} {set sgenre " ($sgenre)"}set avgtime [string range $bl [shrink + 13 "&lt;AVERAGETIME&gt;" 0 $bl] [shrink - 1 "&lt;/AVERAGETIME&gt;" 0 $bl]]set irc [string range $bl [shrink + 5 "&lt;IRC&gt;" 0 $bl] [shrink - 1 "&lt;/IRC&gt;" 0 $bl]]set icq [string range $bl [shrink + 5 "&lt;ICQ&gt;" 0 $bl] [shrink - 1 "&lt;/ICQ&gt;" 0 $bl]]if {$icq == 0} { set icq "N/A" }set aim [string range $bl [shrink + 5 "&lt;AIM&gt;" 0 $bl] [shrink - 1 "&lt;/AIM&gt;" 0 $bl]]set webhits [string range $bl [shrink + 9 "&lt;WEBHITS&gt;" 0 $bl] [shrink - 1 "&lt;/WEBHITS&gt;" 0 $bl]]set streamhits [string range $bl [shrink + 12 "&lt;STREAMHITS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMHITS&gt;" 0 $bl]]set version [string range $bl [shrink + 9 "&lt;VERSION&gt;" 0 $bl] [shrink - 1 "&lt;/VERSION&gt;" 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 :$stitle$sgenre is online, running shoutcast $version and streaming at $bitrate kbps,  your dj is $dj. please visit $surl"} else {putserv "notice $target :$stitle$sgenre is currenty offline, running shoutcast $version and streaming at $bitrate kbps, check out $surl" }putserv "notice $target :there are currently $repl unique people listening, the listener maximum is $maxl, our user peak was at $peak listeners."putserv "notice $target :the average user is listening $avgtime seconds, our stream had $webhits webhits and $streamhits streamhits."putserv "notice $target :you can contact the team by irc on $irc"}}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 djputlog "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&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set streamstatus [string range $bl [shrink + 14 "&lt;STREAMSTATUS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMSTATUS&gt;" 0 $bl]]set songtitle [string range $bl [shrink + 11 "&lt;SONGTITLE" 0 $bl] [shrink - 1 "&lt;/SONGTITLE&gt;" 0 $bl]]set songurl [string range $bl [shrink + 9 "&lt;SONGURL&gt;" 0 $bl] [shrink - 1 "&lt;/SONGURL&gt;" 0 $bl]]if {$songurl != ""} { set songurl " ($songurl)"}regsub -all "&lt;" $songtitle "&lt;" songtitleregsub -all "&gt;" $songtitle "&gt;" songtitleregsub -all "&amp;" $songtitle "+" songtitle  regsub -all """ $songtitle "\"" songtitleregsub -all "'" $songtitle "'" songtitleregsub -all "ÿ" $songtitle "" songtitleregsub -all "´" $songtitle "´" songtitleregsub -all "&amp;#x96;" $songtitle "-" songtitleregsub -all "ö" $songtitle "ö" songtitleregsub -all "ä" $songtitle "ä" songtitleregsub -all "ü" $songtitle "ü" songtitleregsub -all "Ö" $songtitle "Ö" songtitleregsub -all "Ä" $songtitle "Ä" songtitleregsub -all "Ü" $songtitle "Ü" songtitleregsub -all "ß" $songtitle "ß" songtitleif {$streamstatus == 1} {putserv "notice $target :now playing $songtitle"} else {putserv "notice $target :server is currently offline, sorry"}}}close $sock}}proc msg_playing { nick uhost hand arg } { playing $nick}proc pub_playing { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { playing $nick  }}proc isonline { nick uhost hand chan arg } {global radiochans announce tellusers tellsongs tellbitrate urltopic djglobal offlinetext offlinetopic onlinetext onlinetopicglobal streamip streampass streamport djglobal doalertadmin alertadminif {$announce == 1 || $tellsongs == 1 || $tellusers == 1 || $tellbitrate == 1} {set isonlinefile "isonline"set oldisonline "isonline: 0"set oldlisteners "listeners: 0"set oldpeak "peak: 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 "listeners:" $zeile] != -1 } { set oldlisteners $zeile }if {[string first "peak:" $zeile] != -1 } { set oldpeak $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&amp;mode=viewxml&amp;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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set streamstatus "isonline: [string range $bl [shrink + 14 "&lt;STREAMSTATUS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMSTATUS&gt;" 0 $bl]]"set repl "listeners: [string range $bl [shrink + 19 "&lt;REPORTEDLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/REPORTEDLISTENERS&gt;" 0 $bl]]"set peak "peak: [string range $bl [shrink + 15 "&lt;PEAKLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/PEAKLISTENERS&gt;" 0 $bl]]"set currentl [string range $bl [shrink + 18 "&lt;CURRENTLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/CURRENTLISTENERS&gt;" 0 $bl]]set surl "serverurl: [string range $bl [shrink + 11 "&lt;SERVERURL&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERURL&gt;" 0 $bl]]"set cursong "cursong: [string range $bl [shrink + 11 "&lt;SONGTITLE" 0 $bl] [shrink - 1 "&lt;/SONGTITLE&gt;" 0 $bl]]"set songurl [string range $bl [shrink + 9 "&lt;SONGURL&gt;" 0 $bl] [shrink - 1 "&lt;/SONGURL&gt;" 0 $bl]]set bitrate "bitrate: [string range $bl [shrink + 9 "&lt;BITRATE&gt;" 0 $bl] [shrink - 1 "&lt;/BITRATE&gt;" 0 $bl]]"set stitle "stitle: [string range $bl [shrink + 13 "&lt;SERVERTITLE&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERTITLE&gt;" 0 $bl]]"set sgenre "sgenre: [string range $bl [shrink + 13 "&lt;SERVERGENRE&gt;" 0 $bl] [shrink - 1 "&lt;/SERVERGENRE&gt;" 0 $bl]]"}}close $sock}set temp [open "isonline" w+]puts $temp "$streamstatus\n$repl\n$peak\n$cursong\n$bitrate\n$stitle\n$sgenre\n$surl"close $tempif {$announce == 1 } {if {$streamstatus == "isonline: 0" &amp;&amp; $oldisonline == "isonline: 1"} {poststuff privmsg $offlinetextif {$doalertadmin == "1"} { sendnote domsen $alertadmin "radio is now offline" }if {$urltopic == 1} { poststuff topic $offlinetopic }}if {$streamstatus == "isonline: 1" &amp;&amp; $oldisonline == "isonline: 0" } {if {$sgenre != ""} {set sgenre " ([lrange $sgenre 1 [llength $sgenre]] )"}poststuff privmsg "$onlinetext"if {$urltopic == 1} { poststuff topic "$onlinetopic" }}}if {($tellusers == 1) &amp;&amp; ($streamstatus == "isonline: 1") &amp;&amp; ($oldpeak != "peak: 0") } {if {$oldpeak != $peak} {poststuff privmsg "new listener peak: [lindex $peak 1]"}if {$oldlisteners != $repl} {poststuff privmsg "there are currently [lindex $repl 1] ($currentl) people listening"}}if {($tellsongs == 1) &amp;&amp; ($oldsong != $cursong) &amp;&amp; ($streamstatus == "isonline: 1") } {if {$songurl != ""} { set songurl " ($songurl)"}regsub -all "&lt;" $cursong "&lt;" cursongregsub -all "&gt;" $cursong "&gt;" cursongregsub -all "&amp;" $cursong "+" cursong  regsub -all """ $cursong "\"" cursongregsub -all "'" $cursong "'" cursongregsub -all "ÿ" $cursong "" cursongregsub -all "´" $cursong "´" cursongregsub -all "&amp;#x96;" $cursong "-" cursongregsub -all "ö" $cursong "ö" cursongregsub -all "ä" $cursong "ä" cursongregsub -all "ü" $cursong "ü" cursongregsub -all "Ö" $cursong "Ö" cursongregsub -all "Ä" $cursong "Ä" cursongregsub -all "Ü" $cursong "Ü" cursongregsub -all "ß" $cursong "ß" cursongputlog $cursong#poststuff privmsg "now playing: $cursong"}if {($tellbitrate == 1) &amp;&amp; ($oldbitrate != $bitrate) &amp;&amp; ($streamstatus == "isonline: 1") &amp;&amp; ($oldbitrate != "bitrate: 0")} {poststuff privmsg "bitrate switched to [lindex $bitrate 1]kbps"}}}</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11701">yelow79</a> — Thu Jul 07, 2011 8:48 am</p><hr />
]]></content>
	</entry>
	</feed>
