clear
echo "------- radyo botu olusturma scripti: ------------"
echo ""
echo ""
echo "Eggdrop oper sifresi"
echo $n "[$DOMAIN] -> $c"
read cc
if [ ! -z $cc ]; then
DOMAIN="$cc"
fi
echo ""
echo "Ip Adresiniz?"
echo $n "[$IP] -> $c"
read cc
if [ ! -z $cc ]; then
IP="$cc"
fi
echo ""
echo "Kucuk Harflerle Domain Adi?"
echo $n "[$DKUCUK] -> $c"
read cc
if [ ! -z $cc ]; then
DKUCUK="$cc"
fi
echo ""
echo "Sunucu İsmi?"
echo $n "[$SUNUCU] -> $c"
read cc
if [ ! -z $cc ]; then
SUNUCU="$cc"
fi
echo ""
echo "Eggdrop Bot Nicki?"
echo $n "[$EGGDROP] -> $c"
read cc
if [ ! -z $cc ]; then
EGGDROP="$cc"
fi
echo ""
echo "Yayın Şifresi?"
echo $n "[$EGGDROPS] -> $c"
read cc
if [ ! -z $cc ]; then
EGGDROPS="$cc"
fi
echo ""
echo "Eggdrop Bot Realname?"
echo $n "[$EGGDOMAIN] -> $c"
read cc
if [ ! -z $cc ]; then
EGGDOMAIN="$cc"
fi
echo ""
echo "Radyo Ip?"
echo $n "[$RADYOIP] -> $c"
read cc
if [ ! -z $cc ]; then
RADYOIP="$cc"
fi
echo ""
echo "Botun Yayın Portu?"
echo $n "[$PORT] -> $c"
read cc
if [ ! -z $cc ]; then
PORT="$cc"
fi
cd
cd eggdrop
echo "Radyo Botu kuruluyor"
#Basla-radyo.Conf
cat > radyo.conf << __EOF__
#
# Eggdrop Bot
#
# International Service
#
###########################################
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
loadmodule console
loadmodule blowfish
set username "Radyocuk"
set nick "Radyo"
set altnick "bott"
set my-ip "$IP"
set my-hostname "Radyo Botu"
set realname "$EGGDOMAIN"
set init-server {
putserv "identify $EGGDROPS"
putserv "oper Eggdrop $DOMAIN"
putserv "MODE Radyo +D"
}
set servers {
$IP:6667
}
channel add #Radyo {
need-op { putserv "MODE #Radyo +v Radyo " }
}
channel add #DJ {
need-op { putserv "MODE #DJ +v Radyo " }
}
set net-type 5
set owner "Olcay"
set userfile "Komik.user"
set chanfile "Komik.chan"
logfile jpk #opers "logs/Selvi.log"
set shortnick "Korkuu"
set home "#radyo"
set mod-path "modules/"
set help-path "help/"
set text-path "text/"
listen 3334 all
logfile msbxco * "logs/selvi.log"
set console "mkcobxs"
loadmodule uptime
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/userinfo.tcl
source scripts/radyo.tcl
__EOF__
tgtimeanswer=tgtimeanswer
allt_version=allt_version
tghtmlrefreshtimer=tghtmlrefreshtimer
tghtmlrefresh=tghtmlrefresh
tgqdb=tgqdb
tgchan=tgchan
tgflagsstart=tgflagsstart
tgcmdstart=tgcmdstart
tgflagsstop=tgflagsstop
tgcmdstop=tgcmdstop
tgflagshint=tgflagshint
tgcmdhint=tgcmdhint
tgflagsskip=tgflagsskip
tgcmdskip=tgcmdskip
tgflagstop10=tgflagstop10
tgcmdtop10=tgcmdtop10
tgcmdhelp=tgcmdhelp
tgcmdlookup=tgcmdlookup
tgcmdtarget=tgcmdtarget
tgcmderror=tgcmderror
tgcmdrules=tgcmdrules
tgflagsreset=tgflagsreset
tgcmdreset=tgcmdreset
botnick=botnick
chan=chan
tgplaying=tgplaying
nick=nick
tgerrremindtime=tgerrremindtime
tgstreakmin=tgstreakmin
tgstreak=tgstreak
tghinttimer=tghinttimer
tgnextqtimer=tgnextqtimer
tgerrremindtimer=tgerrremindtimer
tgrebindhinttimer=tgrebindhinttimer
tghintnum=tghintnum
tgmaxhintcurrent=tgmaxhintcurrent
tgtempnohint=tgtempnohint
tgstreak=tgstreak
tgstreakmin=tgstreakmin
tgstreak=tgstreak
tghinttimer=tghinttimer
tgrebindhinttimer=tgrebindhinttimer
tgtimenext=tgtimenext
botnick=botnick
tgcmderror=tgcmderror
tgerrremindtime=tgerrremindtime
tgplaying=tgplaying
tghinttimer=tghinttimer
tgnextqtimer=tgnextqtimer
tgerrremindtimer=tgerrremindtimer
tgrebindhinttimer=tgrebindhinttimer
tgqdb=tgqdb
qfile=qfile
tgquestionslist=tgquestionslist
tgcurrentquestion=tgcurrentquestion
tgquestionslist=tgquestionslist
tgquestionnumber=tgquestionnumber
tgquestionselected=tgquestionselected
tgqdbsep=tgqdbsep
tgqdbquestionfirst=tgqdbquestionfirst
tgcapsquestio=tgcapsquestio
tgcurrentquestion=tgcurrentquestion
tgquestionselected=tgquestionselected
tgqdbsep=tgqdbsep
tgqdbquestionfirst=tgqdbquestionfirst
tgcapsanswer=tgcapsanswer
tgcurrentanswer=tgcurrentanswer
_hintchars=_hintchars
tgmaxhint=tgmaxhint
tgmaxhint=tgmaxhint
tgtempnohint=tgtempnohint
tghintnum=tghintnum
tgmaxhintcurrent=tgmaxhintcurrent
tgnobodygotit=tgnobodygotit
tgshowanswer=tgshowanswer
tgcurrentanswer=tgcurrentanswer
tgmaxmissed=tgmaxmissed
tgmissed=tgmissed
tgcmdstart=tgcmdstart
tgtrythenextone=tgtrythenextone
_msg=_msg
tgstreakmin=tgstreakmin
tgstreak=tgstreak
tgtimenext=tgtimenext
tghintnum=tghintnum
tgcurrentanswer=tgcurrentanswer
word=word
tghintchar=tghintchar
_current=_current
i=i
_word=_word
_newword=_newword
_wordalnum=_wordalnum
tghintcharsused=tghintcharsused
_selected=_selected
tghintcharsused=tghintcharsused
tgcapshint=tgcapshint
_hint=_hint
tgquestionstotal=tgquestionstotal
tgalwaysshowq=tgalwaysshowq
tgtimehint=tgtimehint
tgscorestotal=tgscorestotal
_max=_max
tgscores=tgscores
_item=_item
_nick=_nick
_score=_score
_scores=_scores
text=text
tgranksbyname=tgranksbyname
tgtimestart=tgtimestart
tgcongrats=tgcongrats
_timetoanswer=_timetoanswer
_newrank=_newrank
_oldrank=_oldrank
tgshowallscores=tgshowallscores
tgranksbyname=tgranksbyname
tgscorestotal=tgscorestotal
tgrealnames=tgrealnames
tgranksbynum=tgranksbynum
tgscoresbyrank=tgscoresbyrank
tgscf=tgscf
_sfile=_sfile
tgscores=tgscores
_lwrnick=_lwrnick
tgscorestotal=tgscorestotal
tgcapsquestion=tgcapsquestion
j=j
who=who
tgpointsperanswer=tgpointsperanswer
_time=_time
_newscores=_newscores
tgscoresbyname=tgscoresbyname
_tgt=_tgt
tgresetreqpw=tgresetreqpw
hand=hand
_who=_who
_qnum=_qnum
_desc=_desc
tgerrmethod=tgerrmethod
tgerrmailtmp=tgerrmailtmp
_fname=_fname
tgerrfil=tgerrfil
host=host
_qques=_qques
_qans=_qans
_file=_file
_fname=_fname
tgerremail=tgerremail
tgrules=tgrules
what=what
tgusebold=tgusebold
tgcolourstart=tgcolourstart
tgcolourstop=tgcolourstop
tgcolourskip=tgcolourskip
tgcolourerr=tgcolourerr
tgcolourmiss=tgcolourmiss
tgcolourqhead=tgcolourqhead
tgcolourqbody=tgcolourqbody
tgcolourhint=tgcolourhint
tgcolourstrk=tgcolourstrk
tgcolourscr1=tgcolourscr1
tgcolourscr2=tgcolourscr2
tgcolourscr3=tgcolourscr3
tgcolourrset=tgcolourrset
tgcolourstend=tgcolourstend
tgcolourmisc1=tgcolourmisc1
tgcolourmisc2=tgcolourmisc2
tgpriv2msg=tgpriv2msg
tghtmlfile=tghtmlfile
tghtmlfont=tghtmlfont
server=server
_rank=_rank
tgver=tgver
tgrel=tgrel
scstatstrigger=scstatstrigger
scplayingtrigger=scplayingtrigger
scdjtrigger=scdjtrigger
scsetdjtrigger=scsetdjtrigger
scwishtrigger=scwishtrigger
scgreettrigger=scgreettrigger
scstreamtrigger=scstreamtrigger
sclastsongstrigger=sclastsongstrigger
sclistenertrigger=sclistenertrigger
schelptrigger=schelptrigger
radiochans=radiochans
mode=mode
advertise=advertise
djnickname=djnickname
nickname=nickname
advertisetext=advertisetext
temp=temp
streamip=streamip
streamport=streamport
streampass=streampass
sockerror=sockerror
sock=sock
bl=bl
streamstatus=streamstatus
target=target
repl=repl
arg=arg
songs=songs
streamtext=streamtext
oldnick=oldnick
newnick=newnick
dj=dj
sgenre=sgenre
icq=icq
stitle=stitle
songurl=songurl
songtitle=songtitle
announce=announce
tellsongs=tellsongs
tellusers=tellusers
tellbitrate=tellbitrate
isonlinefile=isonlinefile
zeile=zeile
curhigh=curhigh
cursong=cursong
bitrate=bitrate
offlinetext=offlinetext
oldisonline=oldisonline
offlinetopic=offlinetopic
urltopic=urltopic
oldcurhigh=oldcurhigh
curhigh=curhigh
n=n
a=a
gnick=gnick
kanal=kanal
string=string
start=start
calc=calc
number=number
djnick=djnick
oldcurlist=oldcurlist
oldsong=oldsong
oldbitrate=oldbitrate
output=output
puan=puan
_msg2=_msg2
bonuspuan=bonuspuan
_durumu=_durumu
_siralama=_siralama
tgcolantihack=tgcolantihack
tgver=tgver
tgrel=tgrel
tgquestionstotal=tgquestionstotal
tgreadqdb=tgreadqdb
dolar=$
__EOF__
cd
cd eggdrop/scripts
#Basla-radyo.tcl
cat > radyo.tcl << __EOF__
set radiochans "#Radyo"
set streamip "$IP"
set streamport "$PORT"
set streampass "$EGGDROPS"
set scstatstrigger "!durum"
set scstreamtrigger "!link"
set scplayingtrigger "!calan"
set sclistenertrigger "!dinleyen"
set scdjtrigger "!dj"
set scsetdjtrigger ".setdj"
set scwishtrigger "!istek"
set scgreettrigger ".greet"
set sclastsongstrigger "!Liste"
set schelptrigger "!yardim"
set announce "1"
set urltopic "1"
set tellsongs "1"
set tellusers "1"
set tellbitrate "1"
set advertise "1"
set offlinetext "15,1Radyo yayinimiza DJ degisikligi sebebi ile ara verdik lutfen bir sure bekleyiniz.. "
set offlinetopic "15,1Radyo yayinimiza DJ degisikligi sebebi ile ara verdik lutfen bir sure bekleyiniz.. "
set onlinetext "0,4 ** 9,1 Radyomuzu Winamp'ten dinlemek icin tiklayin 0,4 >>> 12http://$RADYOIP:$PORT/listen.pls"
set onlinetopic "0,4 ** 9,1 Radyomuzu Winamp'ten dinlemek icin tiklayin 0,4 >>> 12http://$RADYOIP:$PORT/listen.pls"
set streamtext "0,4 ** 9,1 Radyomuzu Winamp'ten dinlemek icin tiklayin 0,4 >>> 12http://$RADYOIP:$PORT/listen.pls"
set advertisetext "2 Radyo için Gerekli biLgiLer 7 !durum - !istek -!link - !calan - !dinleyen"
# end of config #####################
bind pub - $dolar$scstatstrigger pub_scstat
bind msg - $dolar$scstatstrigger msg_scstat
bind pub - $dolar$scplayingtrigger pub_playing
bind msg - $dolar$scplayingtrigger msg_playing
bind pub - $dolar$scdjtrigger pub_dj
bind msg - $dolar$scdjtrigger msg_dj
bind pub D $dolar$scsetdjtrigger pub_setdj
bind msg D $dolar$scsetdjtrigger msg_setdj
bind pub - $dolar$scwishtrigger pub_wish
bind msg - $dolar$scwishtrigger msg_wish
bind pub - $dolar$scgreettrigger pub_greet
bind msg - $dolar$scgreettrigger msg_greet
bind pub - $dolar$scstreamtrigger pub_stream
bind msg - $dolar$scstreamtrigger msg_stream
bind pub - $dolar$sclastsongstrigger pub_lastsongs
bind msg - $dolar$sclastsongstrigger msg_lastsongs
bind pub - $dolar$sclistenertrigger pub_listener
bind msg - $dolar$sclistenertrigger msg_listener
bind pub - $dolar$schelptrigger pub_help
bind msg - $dolar$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 "$dolar$string" $dolar$bl $dolar$start] $dolar$calc $dolar$number] }
proc poststuff { mode text } {
global radiochans
foreach chan [channels] {
if {$dolar$radiochans == "" } { putserv "$dolar$mode $dolar$chan :$dolar$text" }
if {$dolar$radiochans != "" } {
if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} {putserv "$dolar$mode $dolar$chan :$dolar$text"}
}}}
proc schelp { target } {
global scstatstrigger scstreamtrigger scplayingtrigger scdjtrigger sclastsongstrigger scwishtrigger scgreettrigger sclistenertrigger
putserv "privmsg #radyo Radyo botu icin gerekli komutlar:"
putserv "privmsg #radyo $dolar$scstatstrigger - $dolar$scstreamtrigger - $dolar$scplayingtrigger - $dolar$scdjtrigger - $dolar$sclastsongstrigger - $dolar$scwishtrigger - $dolar$scgreettrigger - $dolar$sclistenertrigger"
}
proc pub_help {nick uhost hand chan arg} {
global radiochans
if {$dolar$radiochans == "" } { schelp $dolar$nick }
if {$dolar$radiochans != "" } {
if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { schelp $dolar$nick}
}}
proc advertise { nick uhost hand chan arg } {
global advertisetext advertise
if {$dolar$advertise == "1" } { poststuff privmsg $dolar$advertisetext }
}
proc setdj {nickname djnickname } {
if {$dolar$djnickname == "" } { set djnickname $dolar$nickname }
global streamip streamport streampass
putlog "shoutcast: new dj: $dolar$djnickname ($dolar$nickname)"
set temp [open "dj" w+]
puts $dolar$temp $dolar$djnickname
close $dolar$temp
set temp [open "djnick" w+]
puts $dolar$temp $dolar$nickname
close $dolar$temp
putserv "privmsg your are now dj of this radio"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
}}
if { $dolar$streamstatus == "1" } { poststuff privmsg "$dolar$djnickname is now rocking the turntables, enjoy." } else {
putserv "privmsg this has not been announced because the radio is currentlfy offline." }
}}
proc listener { target } {
global streamip streamport streampass
putlog "shoutcast: $dolar$target requested listener count"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set repl [string range $dolar$bl [shrink + 19 "<REPORTEDLISTENERS>" 0 $dolar$bl] [shrink - 1 "</REPORTEDLISTENERS>" 0 $dolar$bl]]
set curhigh [string range $dolar$bl [shrink + 15 "<PEAKLISTENERS>" 0 $dolar$bl] [shrink - 1 "</PEAKLISTENERS>" 0 $dolar$bl]]
set maxl [string range $dolar$bl [shrink + 14 "<MAXLISTENERS>" 0 $dolar$bl] [shrink - 1 "</MAXLISTENERS>" 0 $dolar$bl]]
set avgtime [string range $dolar$bl [shrink + 13 "<AVERAGETIME>" 0 $dolar$bl] [shrink - 1 "</AVERAGETIME>" 0 $dolar$bl]]
}}
close $dolar$sock
putserv "privmsg #radyo 15,1Suan yayinimizi dinleyen kisi sayisi 1,15 $dolar$repl "
}}
proc msg_listener { nick uhost hand arg } { global radiochans; listener $dolar$nick }
proc pub_listener { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { listener $dolar$nick }}
proc wish { nick arg } {
if {$dolar$arg == ""} { putserv "privmsg #radyo you forgot to add your wish"; return 0}
global streamip streamport streampass
putlog "shoutcast: $dolar$nick wants to hear: $dolar$arg"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
}}
if { $dolar$streamstatus == "1" } {
set temp [open "djnick" r]
set djnick [gets $dolar$temp]
close $dolar$temp
putserv "privmsg $dolar$djnick :(WISH) - $dolar$nick - $dolar$arg"
} else {
putserv "privmsg #radyo Suan Radyo Yayini Yapilmamaktadir" }
}}
proc msg_wish { nick uhost hand arg } { global radiochans; wish $dolar$nick $dolar$arg }
proc pub_wish { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { wish $dolar$nick $dolar$arg }}
proc sclastsongs { target } {
global streamip streamport streampass
putlog "shoutcast: $dolar$target requested songhistory"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set songs [string range $dolar$bl [string first "<TITLE>" $dolar$bl] [expr [string last "</TITLE>" $dolar$bl] + 7]]
regsub -all "<" $dolar$songs "<" songs
regsub -all ">" $dolar$songs ">" songs
regsub -all "&" $dolar$songs "+" songs
regsub -all """ $dolar$songs "\"" songs
regsub -all "'" $dolar$songs "'" songs
regsub -all "ÿ" $dolar$songs "" songs
regsub -all "<TITLE>" $dolar$songs "(" songs
regsub -all "</TITLE>" $dolar$songs ")" songs
regsub -all "<SONG>" $dolar$songs "" songs
regsub -all "</SONG>" $dolar$songs " - " songs
regsub -all "<PLAYEDAT>" $dolar$songs "" songs
regsub -all "</PLAYEDAT>" $dolar$songs "" songs
regsub -all {\d} $dolar$songs "" songs
}}
putserv "privmsg #radyo $dolar$songs"
}}
proc msg_lastsongs { nick uhost hand arg } { global radiochans; sclastsongs $dolar$nick }
proc pub_lastsongs { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { sclastsongs $dolar$nick }}
proc scstream { target } {
global streamip streamport streamtext
putlog "shoutcast: streaminfo requested by $dolar$target"
putserv "privmsg #radyo $dolar$streamtext"
}
proc msg_stream { nick uhost hand arg } { global radiochans; scstream $dolar$nick }
proc pub_stream { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { scstream $dolar$nick }}
proc scgreet { nick arg } {
if {$dolar$arg == ""} { putserv "privmsg #radyo 4#Radyo Kanalina Hosgeldiniz"; return 0}
global dj streamip streamport streampass
putlog "shoutcast: $dolar$nick greets fly out to: $dolar$arg"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
}}
if { $dolar$streamstatus == "1" } {
set temp [open "djnick" r]
set djnick [gets $dolar$temp]
close $dolar$temp
putserv "privmsg $dolar$djnick :(GREET) - $dolar$nick - $dolar$arg"
} else {
putserv "privmsg #radyo Uzgunuz Suan Yayın Yapılmıyor" }
}}
proc msg_greet { nick uhost hand arg } { global radiochans; scgreet $dolar$nick $dolar$arg }
proc pub_greet { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { scgreet $dolar$nick $dolar$arg }}
proc msg_setdj { nick uhost hand arg } { global radiochans; setdj $dolar$nick $dolar$arg }
proc pub_setdj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { setdj $dolar$nick $dolar$arg }}
proc djnickchange { oldnick uhost hand chan newnick } {
set temp [open "djnick" r]
set djnick [gets $dolar$temp]
close $dolar$temp
if {$dolar$oldnick == $dolar$djnick} {
putlog "shoutcast: dj nickchange $dolar$oldnick -> $dolar$newnick"
set temp [open "djnick" w+]
puts $dolar$temp $dolar$newnick
close $dolar$temp
}}
proc dj { target } {
global streamip streamport streampass
putlog "shoutcast: $dolar$target asked for dj info"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
}}
if {$dolar$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $dolar$temp]
close $dolar$temp
putserv "privmsg #radyo $dolar$dj is at the turntables!"
} else { putserv "privmsg #radyo Uzgunuz Suan Dj Bulunmamaktadır" }
} else {
putserv "privmsg #radyo Radyo Yayini Suan Yapilmamaktadir"
}
close $dolar$sock
}}
proc msg_dj { nick uhost hand arg } { global radiochans; dj $dolar$nick"}
proc pub_dj { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { dj $dolar$nick }}
proc scstat {target} {
global streamip streamport streampass
putlog "shoutcast: $dolar$target asked for serverstats"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
set repl [string range $dolar$bl [shrink + 19 "<REPORTEDLISTENERS>" 0 $dolar$bl] [shrink - 1 "</REPORTEDLISTENERS>" 0 $dolar$bl]]
set curhigh [string range $dolar$bl [shrink + 15 "<PEAKLISTENERS>" 0 $dolar$bl] [shrink - 1 "</PEAKLISTENERS>" 0 $dolar$bl]]
set currentl [string range $dolar$bl [shrink + 18 "<CURRENTLISTENERS>" 0 $dolar$bl] [shrink - 1 "</CURRENTLISTENERS>" 0 $dolar$bl]]
set surl [string range $dolar$bl [shrink + 11 "<SERVERURL>" 0 $dolar$bl] [shrink - 1 "</SERVERURL>" 0 $dolar$bl]]
set maxl [string range $dolar$bl [shrink + 14 "<MAXLISTENERS>" 0 $dolar$bl] [shrink - 1 "</MAXLISTENERS>" 0 $dolar$bl]]
set bitrate [string range $dolar$bl [shrink + 9 "<BITRATE>" 0 $dolar$bl] [shrink - 1 "</BITRATE>" 0 $dolar$bl]]
set stitle [string range $dolar$bl [shrink + 13 "<SERVERTITLE>" 0 $dolar$bl] [shrink - 1 "</SERVERTITLE>" 0 $dolar$bl]]
set sgenre [string range $dolar$bl [shrink + 13 "<SERVERGENRE>" 0 $dolar$bl] [shrink - 1 "</SERVERGENRE>" 0 $dolar$bl]]
if {$dolar$sgenre != ""} {set sgenre " ($dolar$sgenre)"}
set avgtime [string range $dolar$bl [shrink + 13 "<AVERAGETIME>" 0 $dolar$bl] [shrink - 1 "</AVERAGETIME>" 0 $dolar$bl]]
set irc [string range $dolar$bl [shrink + 5 "<IRC>" 0 $dolar$bl] [shrink - 1 "</IRC>" 0 $dolar$bl]]
set icq [string range $dolar$bl [shrink + 5 "<ICQ>" 0 $dolar$bl] [shrink - 1 "</ICQ>" 0 $dolar$bl]]
if {$dolar$icq == 0} { set icq "N/A" }
set aim [string range $dolar$bl [shrink + 5 "<AIM>" 0 $dolar$bl] [shrink - 1 "</AIM>" 0 $dolar$bl]]
set webhits [string range $dolar$bl [shrink + 9 "<WEBHITS>" 0 $dolar$bl] [shrink - 1 "</WEBHITS>" 0 $dolar$bl]]
set streamhits [string range $dolar$bl [shrink + 12 "<STREAMHITS>" 0 $dolar$bl] [shrink - 1 "</STREAMHITS>" 0 $dolar$bl]]
set version [string range $dolar$bl [shrink + 9 "<VERSION>" 0 $dolar$bl] [shrink - 1 "</VERSION>" 0 $dolar$bl]]
if {$dolar$streamstatus == 1} {
if {[file exists dj]} {
set temp [open "dj" r]
set dj [gets $dolar$temp]
close $dolar$temp
} else { set dj "none" }
putserv "privmsg #radyo 0,1 $dolar$stitle 0,5 Turkiye'nin en kaliteli online radyosu ve DJ'leri 0,7 Radyo $SUNUCU-Fm Resmi Sitesi: www.$DKUCUK "
putserv "privmsg #radyo 0,4 $dolar$stitle Suanda OnLine 0,6Suanda 1 $dolar$repl 0,6 Kisi Dinliyor."
putserv "privmsg #radyo 0,4 ** 9,1 Radyomuzu Winamp'ten dinlemek icin tiklayin 0,4 >>> 12http://$RADYOIP:$PORT/listen.pls"
putserv "privmsg #radyo 0,4Radyo ile ilgili sorulariniz, sorunlariniz icin 1#Help 0,4kanalini kullanabilir, DJ'lerimizden yardim alabilirsiniz."
} else {
putserv "privmsg #radyo 0,1 Suan Yayında Dj buLunmamaktardır." }
}}
close $dolar$sock
}}
proc msg_scstat { nick uhost hand arg } { global radiochans; scstat $dolar$nick}
proc pub_scstat { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { scstat $dolar$nick }}
proc playing {target} {
global streamip streamport streampass
putlog "shoutcast: $dolar$target asked for current song"
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} {
putlog "error: $dolar$sockerror"
return 0 } else {
puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0"
puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)"
puts $dolar$sock "Host: $dolar$streamip"
puts $dolar$sock "Connection: close"
puts $dolar$sock ""
flush $dolar$sock
while {[eof $dolar$sock] != 1} {
set bl [gets $dolar$sock]
if { [string first "standalone" $dolar$bl] != -1 } {
set streamstatus [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]
set songtitle [string range $dolar$bl [shrink + 11 "<SONGTITLE" 0 $dolar$bl] [shrink - 1 "</SONGTITLE>" 0 $dolar$bl]]
set songurl [string range $dolar$bl [shrink + 9 "<SONGURL>" 0 $dolar$bl] [shrink - 1 "</SONGURL>" 0 $dolar$bl]]
if {$dolar$songurl != ""} { set songurl " ($dolar$songurl)"}
regsub -all "<" $dolar$songtitle "<" songtitle
regsub -all ">" $dolar$songtitle ">" songtitle
regsub -all "&" $dolar$songtitle "+" songtitle
regsub -all """ $dolar$songtitle "\"" songtitle
regsub -all "'" $dolar$songtitle "'" songtitle
regsub -all "ÿ" $dolar$songtitle "" songtitle
if {$dolar$streamstatus == 1} {
putserv "privmsg #radyo 0,4 Calan parca 0,7 $dolar$songtitle$dolar$songurl "
} else {
putserv "privmsg #radyo Yayın Şuan Yoktur"
}}}
close $dolar$sock
}}
proc msg_playing { nick uhost hand arg } { global radiochans; playing $dolar$nick}
proc pub_playing { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $dolar$radiochans] [string tolower $dolar$chan]] != -1) || ($dolar$radiochans == "")} { playing $dolar$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 {$dolar$announce == 1 || $dolar$tellsongs == 1 || $dolar$tellusers == 1 || $dolar$tellbitrate == 1} {
set isonlinefile "isonline"
set oldisonline "isonline: 0"
set oldcurlist "4,1 : 15,1 0"
set oldcurhigh "curhigh: 0"
set oldsong "cursong: 0"
set oldbitrate "bitrate: 0"
if {[file exists $dolar$isonlinefile]} {
putlog "shoutcast: checking if stream is online"
set temp [open "isonline" r]
while {[eof $dolar$temp] != 1} {
set zeile [gets $dolar$temp]
if {[string first "isonline:" $dolar$zeile] != -1 } { set oldisonline $dolar$zeile }
if {[string first "curlist:" $dolar$zeile] != -1 } { set oldcurlist $dolar$zeile }
if {[string first "curhigh:" $dolar$zeile] != -1 } { set oldcurhigh $dolar$zeile }
if {[string first "cursong:" $dolar$zeile] != -1 } { set oldsong $dolar$zeile }
if {[string first "bitrate:" $dolar$zeile] != -1 } { set oldbitrate $dolar$zeile }
}
close $dolar$temp
} Oto Radyo Kurulum Kodları
1
●1.014
- 20-04-2014, 21:29:20
- 20-04-2014, 21:30:37İçerik fazla büyük olduğu için sığmadı devamını buraya ekliyorum altına eklersiniz
if {[catch {set sock [socket $dolar$streamip $dolar$streamport] } sockerror]} { putlog "error: $dolar$sockerror" return 0} else { puts $dolar$sock "GET /admin.cgi?pass=$dolar$streampass&mode=viewxml&page=0 HTTP/1.0" puts $dolar$sock "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)" puts $dolar$sock "Host: $dolar$streamip" puts $dolar$sock "Connection: close" puts $dolar$sock "" flush $dolar$sock while {[eof $dolar$sock] != 1} { set bl [gets $dolar$sock] if { [string first "standalone" $dolar$bl] != -1 } { set streamstatus "isonline: [string range $dolar$bl [shrink + 14 "<STREAMSTATUS>" 0 $dolar$bl] [shrink - 1 "</STREAMSTATUS>" 0 $dolar$bl]]" set repl "curlist: [string range $dolar$bl [shrink + 19 "<REPORTEDLISTENERS>" 0 $dolar$bl] [shrink - 1 "</REPORTEDLISTENERS>" 0 $dolar$bl]]" set curhigh "curhigh: [string range $dolar$bl [shrink + 15 "<PEAKLISTENERS>" 0 $dolar$bl] [shrink - 1 "</PEAKLISTENERS>" 0 $dolar$bl]]" set currentl [string range $dolar$bl [shrink + 18 "<CURRENTLISTENERS>" 0 $dolar$bl] [shrink - 1 "</CURRENTLISTENERS>" 0 $dolar$bl]] set surl "serverurl: [string range $dolar$bl [shrink + 11 "<SERVERURL>" 0 $dolar$bl] [shrink - 1 "</SERVERURL>" 0 $dolar$bl]]" set cursong "cursong: [string range $dolar$bl [shrink + 11 "<SONGTITLE" 0 $dolar$bl] [shrink - 1 "</SONGTITLE>" 0 $dolar$bl]]" set songurl [string range $dolar$bl [shrink + 9 "<SONGURL>" 0 $dolar$bl] [shrink - 1 "</SONGURL>" 0 $dolar$bl]] set bitrate "bitrate: [string range $dolar$bl [shrink + 9 "<BITRATE>" 0 $dolar$bl] [shrink - 1 "</BITRATE>" 0 $dolar$bl]]" set stitle [string range $dolar$bl [shrink + 13 "<SERVERTITLE>" 0 $dolar$bl] [shrink - 1 "</SERVERTITLE>" 0 $dolar$bl]] set sgenre [string range $dolar$bl [shrink + 13 "<SERVERGENRE>" 0 $dolar$bl] [shrink - 1 "</SERVERGENRE>" 0 $dolar$bl]] }} close $dolar$sock } set temp [open "isonline" w+] puts $dolar$temp "$dolar$streamstatus\n$dolar$repl\n$dolar$curhigh\n$dolar$cursong\n$dolar$bitrate" close $dolar$temp if {$dolar$announce == 1 } { if {$dolar$streamstatus == "isonline: 0" && $dolar$oldisonline == "isonline: 1"} { poststuff privmsg $dolar$offlinetext if {$dolar$urltopic == 1} { poststuff topic $dolar$offlinetopic } } if {$dolar$streamstatus == "isonline: 1" && $dolar$oldisonline == "isonline: 0" } { if {$dolar$sgenre != ""} { set sgenre " ($dolar$sgenre)" } poststuff privmsg "15,1 Radyomuz suanda 4,1ACIK.. 0,4 ** 9,1 Radyomuzu Winamp'ten dinlemek icin tiklayin 0,4 >>> 12http://$RADYOIP:$PORT/listen.pls" if {$dolar$urltopic == 100} { poststuff topic "Yayında Suan <<<$dolar$stitle>>> bulunmakta.Yayin turu: $dolar$sgenre Calan parca: >>>>> [lrange $dolar$cursong 1 [llength $dolar$cursong]]$dolar$songurl <<<< " } }} if {($dolar$tellusers == 1) && ($dolar$streamstatus == "isonline: 1") && ($dolar$oldcurhigh != "curhigh: 0") } { if {$dolar$oldcurhigh != $dolar$curhigh} { poststuff privmsg "15,1 Yayinimizi dinleyen kisi sayisi : [lindex $dolar$curhigh 1]" } if {$dolar$oldcurlist != $dolar$repl} { poststuff privmsg "7,1Suan yayinimizi dinleyen kisi sayisi 15,1 $dolar$repl " }} if {($dolar$tellsongs == 1) && ($dolar$oldsong != $dolar$cursong) && ($dolar$streamstatus == "isonline: 1") } { if {$dolar$songurl != ""} { set songurl " ($dolar$songurl)"} regsub -all "<" $dolar$cursong "<" cursong regsub -all ">" $dolar$cursong ">" cursong regsub -all "&" $dolar$cursong "+" cursong regsub -all """ $dolar$cursong "\"" cursong regsub -all "'" $dolar$cursong "'" cursong regsub -all "ÿ" $dolar$cursong "" cursong poststuff privmsg "0,7Dj $dolar$stitle 0,4 Calan parca : 9,1 [lrange $dolar$cursong 1 [llength $dolar$cursong]]$dolar$songurl 0,4 Yayın türü <<<< 0,1 $dolar$sgenre 0,7 >>>> " } if {($dolar$tellbitrate == 1) && ($dolar$oldbitrate != $dolar$bitrate) && ($dolar$streamstatus == "isonline: 1") && ($dolar$oldbitrate != "bitrate: 0")} { poststuff privmsg "bitrate switched to [lindex $dolar$bitrate 1]kbps" }}} bind pub - !istek istek proc istek {n u h c a} { global gnick set gnick $dolar$n set kanal [lindex $dolar$a ] putserv "PRIVMSG #DJ 4İstek İsteyen 2$dolar$gnick4 İsteği:2 $dolar$kanal" putserv "PRIVMSG #Radyo : 4Isteginiz DJ'lerimize iletilmistir 2$dolar$gnick 5( $dolar$kanal ) " } proc join_greet {nick uhost handle channel} { putserv "NOTICE $dolar$nick : 0,12 Radyo $SUNUCU-Fm'e hos geldiniz $dolar$nick! 9,1 Isteklerinizi Radyo kanalina 1,8 !istek <istediginiz sarki ve mesajiniz> 0,3 seklinde yazabilirsiniz. 0,5 Ornek: !istek Rafet El Roman - Seni Seviyorum - Tum Sevenlere gelsin.. " putserv "NOTICE $dolar$nick : 10Radyomuzu dinlemek icin tiklayin: 12http://$RADYOIP:$PORT/listen.pls" } bind join - * join_greet __EOF__ cd cd eggdrop ./eggdrop -m radyo.conf cd