mirc 라디오 봇이 노래를 재생하고 청취자가 얼마 남지 않았는지 알 수 없으면 아래 보이는 것처럼 누락 된 html 및 body 태그가 표시됩니다.HTML 및 본문 태그를 표시하는 MSL 소켓 스크립트
#announcer on
ctcp *:*:*:{
if ($1 == SRstats) {
set %sctat.chan $chan
sockclose scstat
sockopen scstat 149.202.90.221 8132
}
}
on *:SOCKOPEN:scstat:{
sockwrite -n $sockname GET /7.html HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla
sockwrite -n $sockname $crlf
}
on *:sockread:scstat:{
if ($sockerr > 0) return
:nextread
sockread -f %scasttemp
if ($sockbr == 0) return
if (%scasttemp == $null) %scasttemp = empty
set %scasttemp $remove(%scasttemp,<html><head><meta http-equiv="Pragma" content="no-cache"></head><body>,</body></html>)
if ((HTTP/1.* !iswm %scasttemp) && (content-type* !iswm %scasttemp) && (%scasttemp != empty)) {
set %scstat.song.temp $gettok(%scasttemp,7-,44)
set %scstat.bitrate $gettok(%scasttemp,6,44)
set %scstat.listeners $gettok(%scasttemp,1,44)
set %scstat.maxlist $gettok(%scasttemp,4,44)
set %scstat.peak $gettok(%scasttemp,3,44)
if ($gettok(%scasttemp,2,44) == 1) set %scstat.livedj connected
else set %scstat.livedj not connected
; changing some of the html codes back to regular characters
set %scast.song $replace(%scast.song,&,$chr(38),',$chr(39))
}
goto nextread
}
on *:sockclose:scstat:{
if ((%scstat.song.temp == %scstat.song) || (%scstat.song.temp == Line Recording)) { goto scstat.end }
else {
set %scstat.song %scstat.song.temp
set %song.msg 6,0 $+ %dj_nick is playing 6 : 12 %scstat.song $+ . 0,1 Tune into Radio-Airwaves, type !radiohelp/4 %scstat.listeners $+ --listeners are tuned in.
; set %chans $chan(0)
; while %chans {
/scid -a msg #Radio-Airwaves-Lounge %song.msg
; dec %chans
; }
:scstat.end
}
}
on *:TEXT:!playing:#: msg $chan %song.msg
#announcer end
을 다음과 같이
라디오 봇 코드는 내가 처음 수정 숫자 코드를 HTML로 body 태그 사이를 변경해야한다고 생각하지만, 그것은 단지 숫자 코드를 표시 실제로는 쉼표가 아닙니다. 나는 또한 아마 일치하지 않는 태그/유실 태그가 있는지 확인할 것이다. 나는 아무것도 찾지 못했다. 나는 accouner가 켜져있을 때 나타나는 표식 태그의 원인을 아직 보지 못했습니다. 모든 도움이 크게 appericated 것입니다.
정확하게 스크립트 소켓을 쓰지 않은 것을 추가하는 방법을 잘 모르겠다. – Nalani
원본 작성자가 – Nalani
일 때 더 길다.'if ($ sockbr == 0) return' 대신에 내가 게시 한 긴 코드 조각을 넣으십시오. 또한 스크립트 파일의 끝에'alias nohtml ... '을 붙여 코드를 작성하십시오. –