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



Instagram takipçi satın al
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 27 Ağustos 2014, 09:16   #1
Çevrimdışı
Icecast2 için Radyo Botu




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#Tido's Icecast2 Script #Version 1.0RC1 #February 26th, 2006 ###################################################################### #Credits: #Influenced by Domsen's shoutcast1.03.tcl #Special thanks to the TCL MAN files :D ###################################################################### #What is this: #Ice2.tcl is a parser/reporter script for Icecast2 internet radio stations. It's slightly similar to Domsen's # shoutcast1.03.tcl script except this is for Icecast2 servers and not Shoutcast servers. It tells members of # a room if the stream is online, what artist-song it is playing, how many listeners there are, what the # stream url is, who the DJ is, and various other tidbits. #Ice2.tcl was origionally created by Tido to work with The Jedi Academy's (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Icecast2 # server. It was hosted by Henkes on JARadiobot in #ja-radio on Quakenet. I made this script work for the JA's # situation and haven't been able to test it on any other Icecast2 server! It worked for me for a long time but # it might not work for you! As far as I know, this is the only Eggdrop TCL script for Icecast2 in existance. # #Ice2.tcl has only been tested on icecast2 version 2.3.1 (linux/freebsd) with Ogg Vorbis and MP3 encoding. It is # completely dependent on the output of Icecast2's status.xsl, so if that is changed the script will not work. # One of the nice things about Ice2.tcl is it doesn't require the server's admin password to work unlike other # internet radio scripts! # #E-mail Tido @ tidokenobi@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].com for questions/comments/suggestions ###################################################################### #Changelog: #v1.0RC1 - First public release candidate ###################################################################### #Change these varibles to the one for your stream/bot/channel #Name of Radio Station set streamname "Ashladan Radio" #IP of the Icecast server. set streamip "ashladan.servemp3.com" #Port that Icecast is using, default is 8000. set streamport "8000" #Main channel for the radio bot. set radiochan "#blazer.be" #Other channel that the bot can advertise to. Bot must be in this channel for this to work. Ice2.tcl only # sends stream advertisements to this channel and does not send song info. set otherchan "#zwaarstelijst" #URL/Link to the stream for listening. This is what listeners need to click to tune in. set streamurl "http://ashladan.servemp3.com:8000/stream.mp3.m3u" #How often the bot checks the stream when it knows it is down in minutes. Recommend 1 minute. set offlinetimer "1" #How often the bot checks the stream when it knows it is online in seconds. Recommend 15 seconds. set onlinetimer "15" #Default interval for how often the bot advertises (in minutes). You want to set it to something that isn't # pure spammage. set adtimer "15" #Enables advertising set to the above frequency. 1 for ON and 0 for OFF. This reminds people that the stream # is online. set enableadvertise "0" #Enables Special Announcement, 1 for ON and 0 for OFF. Special announcements are displayed every 720 minutes. # This feature of the script is very undeveloped and I don't recommend using it. set specialannounce "0" #Special Announcement Message set announcemsg "SPECIAL ANNOUNCEMENT! On Novemeber 26th @ Midnight GMT, JA Radio will be ON-AIR with a show featuring some exclusive live tracks from some of our favorite bands! Click here for more info:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Don't edit past this stuff unless you're Tido or Henkes :P # ################################################################ # Binds bind pub - "!choon" choon # If u like the song alot! bind pub - "!cheese" cheese # if u hate the song bind pub - "!commands" showcommands #Shows a list of all commands bind pub - "!help" showcommands #Same as !commands bind pub - "!status" status #Displays the status of the stream bind pub D "!djon" dj_on #If the user has the D flag, this sets them as the DJ bind pub D "!djoff" dj_off #Removes the user as the DJ bind pub - "!listeners" listenercheck #Reports how many listeners there are bind pub D "!advertise" toggle_advertise #Turns on/off advertising bind pub D "!forceadvertise" forceadvertise #Forces an advertising message to be sent bind msg D "djforceoff" dj_force_off #Force-remove a DJ with !djforceoff <nick>, must have D flag bind pub - "!dj" dj #Reports the current DJ bind pub - "!request" request #Sends a request to the current DJ. !request <artist/song> bind msg - "request" msg_request #/msg version of request bind pub - "!version" iceversion #Displays the Ice2.tcl version bind pub m "!newdj" newdj #Creates a new DJ by adding the D flag # Varible Resets set ice2version "1.0RC1 - 02.26.06" set streamstatus "0" set djnickname "" set dj "" set oldsong "" set newsong "" set newlistener "" set oldlistener "0" set forceadsent "0" set sessionpeak "0" # Check to make sure StatusCheck timer isn't running when bot rehashes. if {![info exists statuscheck_running]} { timer $offlinetimer[list statuscheck] set statuscheck_running 1 } # Check to make sure Special Announce timer isn't running when bot rehashes. if {![info exists specialannounce_running]} { if {$specialannounce == "1"} { timer 720[list specialmessage] set specialannounce_running 1 } } # Check to make sure Advertise timer isn't running when bot rehashes. if {![info exists adtimer_running]} { if {$enableadvertise == "1"} { timer $adtimer[list advertise] set adtimer_running 1 } } # Output for !help or !showcommands proc showcommands {nick uhost hand chan arg} { global ice2version streamname botnick putserv "notice $nick :>>> $botnick Commands - $ice2version<<<" putserv "notice $nick :!status >>> Displays the stream's status. If online it shows the song, # of listeners, and the current DJ." putserv "notice $nick :!dj >>> Shows current DJ." putserv "notice $nick :!listeners >>> Shows the current number of listeners tuned into $streamname." putserv "notice $nick :!request (artist+track) >>> Sends a request to the DJ's queue. Example: !request Oasis - Wonderwall" putserv "notice $nick :/msg $botnick request (artist+track) >>> Another way to send a request that isn't visable to everyone in the channel." } # Turns on and off Advertising. Also lets you set the interval: !advertise X proc toggle_advertise {nick uhost hand chan arg} { global radiochan enableadvertise adtimer if {$enableadvertise == "1"} { set enableadvertise "0" set timerinfo [gettimerid] killtimer $timerinfo putserv "PRIVMSG $chan :Advertising OFF" } else { set enableadvertise "1" if {$arg == ""} { putserv "PRIVMSG $chan :Advertising ON. Frequency set to $adtimer minutes." } else { set adtimer $arg putserv "privmsg $chan :Advertising ON. Frequency changed to $adtimer minutes." timer $adtimer[list advertise] } } } # Function that finds out the ID of the advertising timer. proc gettimerid {} { set adtimerinfo [timers] set loc1 [string first "advertise" $adtimerinfo] set loc1 [expr $loc1 + 10] set str1 [string range $adtimerinfo $loc1 999] set endloc [string first "\}" $str1] set endloc [expr $endloc -1] set timerinfo [string range $str1 0 $endloc] return $timerinfo } # Messages that are displayed when Advertising is enabled. proc advertise {} { global radiochan streamstatus otherchan enableadvertise adtimer forceadsent streamurl streamname if {$streamstatus != "0" && $enableadvertise == "1"} { putserv "PRIVMSG $radiochan :$streamname is currently broadcasting live! Listen in @ $streamurl" putserv "PRIVMSG $otherchan :$streamname is currently broadcasting live! Listen in @ $streamurl" if {$forceadsent == "0"} {timer $adtimer[list advertise]} else {set forceadsent "0"} return 1 } return 0 } # Forces the advertising messages to appear proc forceadvertise {nick uhost hand chan arg} { global streamstatus enableadvertise forceadsent if {$streamstatus == "0"} { putserv "notice $nick :The stream isn't on-air. Unable to advertise." return 0 } else { if {$enableadvertise == "0"} { putserv "notice $nick :Advertising isn't enabled." return 0 } else { set forceadsent "1" set forceadvertised [advertise] if {$forceadvertised == "1"} { putserv "notice $nick :Done!" } else { putserv "notice $nick :Advertising message was not sent!" } } } } # Special Announcement Message. proc specialmessage {} { global radiochan specialannounce announcemsg putserv "PRIVMSG $radiochan : $announcemsg" timer 720[list specialmessage] return 0 } # StatusCheck # Function that takes the information from Icecast_Online and creates the proper responses. proc statuscheck {} { global radiochan streamstatus newsong oldsong newlistener oldlistener sessionpeak dj enableadvertise otherchan onlinetimer offlinetimer streamurl streamname if {$streamstatus == "0"} { set oldstatus "0" } else { set oldstatus "1" } set newstatus "[icecast_online]" if {$newstatus =="0" && $oldstatus == "0"} { timer $offlinetimer[list statuscheck] } if {$newstatus == "1" && $oldstatus == "0"} { putserv "PRIVMSG $radiochan :$streamname is now ON-AIR!! Click to listen: $streamurl" putlog "(RADIO) On-Air detected." utimer $onlinetimer[list statuscheck] if {$enableadvertise == "1"} { putserv "PRIVMSG $otherchan :$streamname is now ON-AIR!! Click to listen: $streamurl" } } if {$newstatus == "0" && $oldstatus == "1"} { putserv "PRIVMSG $radiochan :$streamname is now off-air." set oldlistener "0" set sessionpeak "0" if {$enableadvertise == "1"} { putserv "PRIVMSG $otherchan :$streamname is now off-air." } putlog "(RADIO) Off-Air detected." timer $offlinetimer[list statuscheck] } if {$newstatus == "1" && $oldstatus == "1"} { utimer $onlinetimer[list statuscheck] if {$newlistener != $oldlistener} { putserv "notice $dj :$newlistener listeners." if {$newlistener > $sessionpeak} { putserv "PRIVMSG $radiochan :$streamname currently has $newlistener listeners!" set sessionpeak $newlistener } set oldlistener "$newlistener" } if {$newsong != $oldsong} { putserv "PRIVMSG $radiochan :Now playing on $streamname: $newsong" set oldsong "$newsong" } } } # Icecast_Online # This is the HTTP Parser that gathers the various data from the status.xsl file. proc icecast_online { } { global streamip streamport streamstatus newsong newlistener set pagedata "" if {[catch {set sock [socket $streamip $streamport] } sockerror]} { putlog "error: $sockerror" return 0 } else { puts $sock "GET /status.xsl HTTP/1.1" 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]} { append pagedata "[read $sock]" } } if {[string match *streamdata* $pagedata] == 1} { set streamstatus "1" set songlocation [string first "Current Song:" $pagedata] set songdata1 [string range $pagedata $songlocation 99999] set location2 [string first "</tr>" $songdata1] set songdata2 [string range $songdata1 0 $location2] set songdata3 [string range $songdata2 41 9999] set location3 [string first "</td>" $songdata3] set location3 [expr $location3 - 1] set newsong [string range $songdata3 0 $location3] set llocation [string first "Listeners:" $pagedata] set countdata1 [string range $pagedata $llocation 99999] set llocation2 [string first "</tr>" $countdata1] set countdata2 [string range $countdata1 0 $llocation2] set countdata3 [string range $countdata2 38 9999] set llocation3 [string first "</td>" $countdata3] set llocation3 [expr $llocation3 - 1] set newlistener [string range $countdata3 0 $llocation3] close $sock return 1 } else { set streamstatus "0" close $sock return 0 } } # !status function. Diplays the current status of the stream. proc status {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$streamname is currently broadcasting live @ $streamurl" if {$newsong != ""} {putserv "PRIVMSG $chan :The current song is |$newsong| with $newlistener listeners."} if {$dj != ""} {putserv "PRIVMSG $chan :The DJ is $dj"} } else { putserv "PRIVMSG $chan :$streamname is currently offline." } } # !request X: sends requests to the DJ. proc request {nick uhost hand chan arg} { global dj radiochan if {$dj == ""} { putserv "notice $nick :There isn't a DJ logged in at the moment to take requests." } else { if {$arg == ""} { putserv "notice $nick :You didn't request anything!" } else { putserv "privmsg $dj :REQUEST($nick)=> $arg" putserv "notice $nick :Request sent to $dj :)" } } } # /msg $botnick request X: sends the request to the DJ privately. proc msg_request {nick uhost hand arg} { global dj radiochan if {$dj == ""} { putserv "notice $nick :There isn't a DJ logged in at the moment to take requests." } else { if {$arg == ""} { putserv "notice $nick :You didn't request anything!" } else { putserv "privmsg $dj :REQUEST($nick)=> $arg" putserv "notice $nick :Request sent to $dj :)" } } } # !djon (name): enables DJ status for someone with the D tag proc dj_on {nick uhost hand chan arg} { global dj radiochan djnickname streamurl streamname if {$dj != "" && $dj != "$nick" && [onchan $djnickname $radiochan] != "0"} { putserv "notice $nick :There is already a DJ active!" return 0 } if {$arg == "" } { set djnickname $nick} else {set djnickname $arg} pushmode $radiochan +o $nick putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: $djnickname" putserv "PRIVMSG $radiochan :$djnickname is now rocking the turntables, enjoy." set dj "$nick" putlog "(RADIO) DJ-ON: [nick2hand $nick $chan]" } # !djoff: Disables DJ status. proc dj_off {nick uhost hand chan arg} { global dj radiochan djnickname streamurl streamname if {$dj != $nick} { putserv "notice $nick :You are not the current DJ or you changed your nickname since becoming one." } else { set dj "" set djnickname "" pushmode $radiochan -o $nick putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: none" putserv "notice $nick :Your DJ'ness has been deactivated" putlog "(RADIO) DJ-OFF: [nick2hand $nick $chan]" } } # /msg $botnick djforceoff [nick]: Forces off a DJ from having DJ status. proc dj_force_off {nick uhost hand arg} { global djnickname dj radiochan streamurl streamname if {$dj == ""} { putserv "notice $nick :No DJ currently set to boot off." return 0 } else { if {$arg == ""} { putserv "notice $nick :You didn't specify a DJ to boot off." return 0 } else { set dj "" set djnickname "" pushmode $radiochan -o $arg putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: none" putserv "notice $nick :DJ status removed for $arg." putserv "notice $arg :Your DJ'ness was removed by $nick." putlog "(RADIO) DJ-FORCEOFF: $arg booted by [nick2hand $nick $chan]" } } } # !dj: displays who the current DJ is. proc dj {nick uhost hand chan arg} { global djnickname radiochan streamname if {$djnickname == ""} { putserv "PRIVMSG $chan :There currently are no DJs logged in at the moment." } else { putserv "PRIVMSG $chan :$djnickname is the current $streamname DJ!" } } # !listeners: displays how many current listeners there are. proc listenercheck {nick uhost hand chan arg} { global newlistener radiochan streamstatus streamname if {$streamstatus == "1"} { if {$newlistener == "0"} { putserv "PRIVMSG $chan :There aren't any listeners tuned into $streamname :(." } elseif {$newlistener =="1"} { putserv "PRIVMSG $chan :There is 1 listener tuned into $streamname." } else { putserv "PRIVMSG $chan :There are $newlistener listeners tuned into $streamname." } } else { putserv "PRIVMSG $chan :$streamname isn't on-air." } } # !newdj [nick] [handle] [host]: Adds a new user to the bot and gives them the DJ flag (D). proc newdj {nick host hand chan arg} { global radiochan streamname set nickname [lindex $arg 0] set newhand [lindex $arg 1] set newhost [lindex $arg 2] if {[validuser $nickname]} { putserv "privmsg $nick :There is already a user existing by that handle!" return 0 } if {$nickname == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {$newhand == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {$newhost == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {([onchan $nickname $chan])} { adduser $newhand $newhost chattr $newhand +D putserv "privmsg $radiochan :Added $nickname ($newhand) as a $streamname DJ!" } } # !version: displays the current version of the Ice2.tcl script. proc iceversion {nick host hand chan arg} { global ice2version radiochan botnick if {$chan == $radiochan} { putserv "PRIVMSG $radiochan :I am $botnick running Ice2.tcl Version $ice2version by Tido and Henkes." } } # !choon function. Diplays if u like the song. proc choon {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$nick really likes $newsong!" } } # !cheese function. Diplays if u hate the song. proc cheese {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$nick thinks this song is a load of cheese!" } } putlog "Ice2 Version $ice2version by Tido and Henkes is loaded! :)"

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#Tido's Icecast2 Script #Version 1.0RC1 #February 26th, 2006 ###################################################################### #Credits: #Influenced by Domsen's shoutcast1.03.tcl #Special thanks to the TCL MAN files :D ###################################################################### #What is this: #Ice2.tcl is a parser/reporter script for Icecast2 internet radio stations. It's slightly similar to Domsen's # shoutcast1.03.tcl script except this is for Icecast2 servers and not Shoutcast servers. It tells members of # a room if the stream is online, what artist-song it is playing, how many listeners there are, what the # stream url is, who the DJ is, and various other tidbits. #Ice2.tcl was origionally created by Tido to work with The Jedi Academy's (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Icecast2 # server. It was hosted by Henkes on JARadiobot in #ja-radio on Quakenet. I made this script work for the JA's # situation and haven't been able to test it on any other Icecast2 server! It worked for me for a long time but # it might not work for you! As far as I know, this is the only Eggdrop TCL script for Icecast2 in existance. # #Ice2.tcl has only been tested on icecast2 version 2.3.1 (linux/freebsd) with Ogg Vorbis and MP3 encoding. It is # completely dependent on the output of Icecast2's status.xsl, so if that is changed the script will not work. # One of the nice things about Ice2.tcl is it doesn't require the server's admin password to work unlike other # internet radio scripts! # #E-mail Tido @ tidokenobi@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...].com for questions/comments/suggestions ###################################################################### #Changelog: #v1.0RC1 - First public release candidate ###################################################################### #Change these varibles to the one for your stream/bot/channel #Name of Radio Station set streamname "Ashladan Radio" #IP of the Icecast server. set streamip "ashladan.servemp3.com" #Port that Icecast is using, default is 8000. set streamport "8000" #Main channel for the radio bot. set radiochan "#blazer.be" #Other channel that the bot can advertise to. Bot must be in this channel for this to work. Ice2.tcl only # sends stream advertisements to this channel and does not send song info. set otherchan "#zwaarstelijst" #URL/Link to the stream for listening. This is what listeners need to click to tune in. set streamurl "http://ashladan.servemp3.com:8000/stream.mp3.m3u" #How often the bot checks the stream when it knows it is down in minutes. Recommend 1 minute. set offlinetimer "1" #How often the bot checks the stream when it knows it is online in seconds. Recommend 15 seconds. set onlinetimer "15" #Default interval for how often the bot advertises (in minutes). You want to set it to something that isn't # pure spammage. set adtimer "15" #Enables advertising set to the above frequency. 1 for ON and 0 for OFF. This reminds people that the stream # is online. set enableadvertise "0" #Enables Special Announcement, 1 for ON and 0 for OFF. Special announcements are displayed every 720 minutes. # This feature of the script is very undeveloped and I don't recommend using it. set specialannounce "0" #Special Announcement Message set announcemsg "SPECIAL ANNOUNCEMENT! On Novemeber 26th @ Midnight GMT, JA Radio will be ON-AIR with a show featuring some exclusive live tracks from some of our favorite bands! Click here for more info:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Don't edit past this stuff unless you're Tido or Henkes :P # ################################################################ # Binds bind pub - "!choon" choon # If u like the song alot! bind pub - "!cheese" cheese # if u hate the song bind pub - "!commands" showcommands #Shows a list of all commands bind pub - "!help" showcommands #Same as !commands bind pub - "!status" status #Displays the status of the stream bind pub D "!djon" dj_on #If the user has the D flag, this sets them as the DJ bind pub D "!djoff" dj_off #Removes the user as the DJ bind pub - "!listeners" listenercheck #Reports how many listeners there are bind pub D "!advertise" toggle_advertise #Turns on/off advertising bind pub D "!forceadvertise" forceadvertise #Forces an advertising message to be sent bind msg D "djforceoff" dj_force_off #Force-remove a DJ with !djforceoff <nick>, must have D flag bind pub - "!dj" dj #Reports the current DJ bind pub - "!request" request #Sends a request to the current DJ. !request <artist/song> bind msg - "request" msg_request #/msg version of request bind pub - "!version" iceversion #Displays the Ice2.tcl version bind pub m "!newdj" newdj #Creates a new DJ by adding the D flag # Varible Resets set ice2version "1.0RC1 - 02.26.06" set streamstatus "0" set djnickname "" set dj "" set oldsong "" set newsong "" set newlistener "" set oldlistener "0" set forceadsent "0" set sessionpeak "0" # Check to make sure StatusCheck timer isn't running when bot rehashes. if {![info exists statuscheck_running]} { timer $offlinetimer[list statuscheck] set statuscheck_running 1 } # Check to make sure Special Announce timer isn't running when bot rehashes. if {![info exists specialannounce_running]} { if {$specialannounce == "1"} { timer 720[list specialmessage] set specialannounce_running 1 } } # Check to make sure Advertise timer isn't running when bot rehashes. if {![info exists adtimer_running]} { if {$enableadvertise == "1"} { timer $adtimer[list advertise] set adtimer_running 1 } } # Output for !help or !showcommands proc showcommands {nick uhost hand chan arg} { global ice2version streamname botnick putserv "notice $nick :>>> $botnick Commands - $ice2version<<<" putserv "notice $nick :!status >>> Displays the stream's status. If online it shows the song, # of listeners, and the current DJ." putserv "notice $nick :!dj >>> Shows current DJ." putserv "notice $nick :!listeners >>> Shows the current number of listeners tuned into $streamname." putserv "notice $nick :!request (artist+track) >>> Sends a request to the DJ's queue. Example: !request Oasis - Wonderwall" putserv "notice $nick :/msg $botnick request (artist+track) >>> Another way to send a request that isn't visable to everyone in the channel." } # Turns on and off Advertising. Also lets you set the interval: !advertise X proc toggle_advertise {nick uhost hand chan arg} { global radiochan enableadvertise adtimer if {$enableadvertise == "1"} { set enableadvertise "0" set timerinfo [gettimerid] killtimer $timerinfo putserv "PRIVMSG $chan :Advertising OFF" } else { set enableadvertise "1" if {$arg == ""} { putserv "PRIVMSG $chan :Advertising ON. Frequency set to $adtimer minutes." } else { set adtimer $arg putserv "privmsg $chan :Advertising ON. Frequency changed to $adtimer minutes." timer $adtimer[list advertise] } } } # Function that finds out the ID of the advertising timer. proc gettimerid {} { set adtimerinfo [timers] set loc1 [string first "advertise" $adtimerinfo] set loc1 [expr $loc1 + 10] set str1 [string range $adtimerinfo $loc1 999] set endloc [string first "\}" $str1] set endloc [expr $endloc -1] set timerinfo [string range $str1 0 $endloc] return $timerinfo } # Messages that are displayed when Advertising is enabled. proc advertise {} { global radiochan streamstatus otherchan enableadvertise adtimer forceadsent streamurl streamname if {$streamstatus != "0" && $enableadvertise == "1"} { putserv "PRIVMSG $radiochan :$streamname is currently broadcasting live! Listen in @ $streamurl" putserv "PRIVMSG $otherchan :$streamname is currently broadcasting live! Listen in @ $streamurl" if {$forceadsent == "0"} {timer $adtimer[list advertise]} else {set forceadsent "0"} return 1 } return 0 } # Forces the advertising messages to appear proc forceadvertise {nick uhost hand chan arg} { global streamstatus enableadvertise forceadsent if {$streamstatus == "0"} { putserv "notice $nick :The stream isn't on-air. Unable to advertise." return 0 } else { if {$enableadvertise == "0"} { putserv "notice $nick :Advertising isn't enabled." return 0 } else { set forceadsent "1" set forceadvertised [advertise] if {$forceadvertised == "1"} { putserv "notice $nick :Done!" } else { putserv "notice $nick :Advertising message was not sent!" } } } } # Special Announcement Message. proc specialmessage {} { global radiochan specialannounce announcemsg putserv "PRIVMSG $radiochan : $announcemsg" timer 720[list specialmessage] return 0 } # StatusCheck # Function that takes the information from Icecast_Online and creates the proper responses. proc statuscheck {} { global radiochan streamstatus newsong oldsong newlistener oldlistener sessionpeak dj enableadvertise otherchan onlinetimer offlinetimer streamurl streamname if {$streamstatus == "0"} { set oldstatus "0" } else { set oldstatus "1" } set newstatus "[icecast_online]" if {$newstatus =="0" && $oldstatus == "0"} { timer $offlinetimer[list statuscheck] } if {$newstatus == "1" && $oldstatus == "0"} { putserv "PRIVMSG $radiochan :$streamname is now ON-AIR!! Click to listen: $streamurl" putlog "(RADIO) On-Air detected." utimer $onlinetimer[list statuscheck] if {$enableadvertise == "1"} { putserv "PRIVMSG $otherchan :$streamname is now ON-AIR!! Click to listen: $streamurl" } } if {$newstatus == "0" && $oldstatus == "1"} { putserv "PRIVMSG $radiochan :$streamname is now off-air." set oldlistener "0" set sessionpeak "0" if {$enableadvertise == "1"} { putserv "PRIVMSG $otherchan :$streamname is now off-air." } putlog "(RADIO) Off-Air detected." timer $offlinetimer[list statuscheck] } if {$newstatus == "1" && $oldstatus == "1"} { utimer $onlinetimer[list statuscheck] if {$newlistener != $oldlistener} { putserv "notice $dj :$newlistener listeners." if {$newlistener > $sessionpeak} { putserv "PRIVMSG $radiochan :$streamname currently has $newlistener listeners!" set sessionpeak $newlistener } set oldlistener "$newlistener" } if {$newsong != $oldsong} { putserv "PRIVMSG $radiochan :Now playing on $streamname: $newsong" set oldsong "$newsong" } } } # Icecast_Online # This is the HTTP Parser that gathers the various data from the status.xsl file. proc icecast_online { } { global streamip streamport streamstatus newsong newlistener set pagedata "" if {[catch {set sock [socket $streamip $streamport] } sockerror]} { putlog "error: $sockerror" return 0 } else { puts $sock "GET /status.xsl HTTP/1.1" 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]} { append pagedata "[read $sock]" } } if {[string match *streamdata* $pagedata] == 1} { set streamstatus "1" set songlocation [string first "Current Song:" $pagedata] set songdata1 [string range $pagedata $songlocation 99999] set location2 [string first "</tr>" $songdata1] set songdata2 [string range $songdata1 0 $location2] set songdata3 [string range $songdata2 41 9999] set location3 [string first "</td>" $songdata3] set location3 [expr $location3 - 1] set newsong [string range $songdata3 0 $location3] set llocation [string first "Listeners:" $pagedata] set countdata1 [string range $pagedata $llocation 99999] set llocation2 [string first "</tr>" $countdata1] set countdata2 [string range $countdata1 0 $llocation2] set countdata3 [string range $countdata2 38 9999] set llocation3 [string first "</td>" $countdata3] set llocation3 [expr $llocation3 - 1] set newlistener [string range $countdata3 0 $llocation3] close $sock return 1 } else { set streamstatus "0" close $sock return 0 } } # !status function. Diplays the current status of the stream. proc status {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$streamname is currently broadcasting live @ $streamurl" if {$newsong != ""} {putserv "PRIVMSG $chan :The current song is |$newsong| with $newlistener listeners."} if {$dj != ""} {putserv "PRIVMSG $chan :The DJ is $dj"} } else { putserv "PRIVMSG $chan :$streamname is currently offline." } } # !request X: sends requests to the DJ. proc request {nick uhost hand chan arg} { global dj radiochan if {$dj == ""} { putserv "notice $nick :There isn't a DJ logged in at the moment to take requests." } else { if {$arg == ""} { putserv "notice $nick :You didn't request anything!" } else { putserv "privmsg $dj :REQUEST($nick)=> $arg" putserv "notice $nick :Request sent to $dj :)" } } } # /msg $botnick request X: sends the request to the DJ privately. proc msg_request {nick uhost hand arg} { global dj radiochan if {$dj == ""} { putserv "notice $nick :There isn't a DJ logged in at the moment to take requests." } else { if {$arg == ""} { putserv "notice $nick :You didn't request anything!" } else { putserv "privmsg $dj :REQUEST($nick)=> $arg" putserv "notice $nick :Request sent to $dj :)" } } } # !djon (name): enables DJ status for someone with the D tag proc dj_on {nick uhost hand chan arg} { global dj radiochan djnickname streamurl streamname if {$dj != "" && $dj != "$nick" && [onchan $djnickname $radiochan] != "0"} { putserv "notice $nick :There is already a DJ active!" return 0 } if {$arg == "" } { set djnickname $nick} else {set djnickname $arg} pushmode $radiochan +o $nick putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: $djnickname" putserv "PRIVMSG $radiochan :$djnickname is now rocking the turntables, enjoy." set dj "$nick" putlog "(RADIO) DJ-ON: [nick2hand $nick $chan]" } # !djoff: Disables DJ status. proc dj_off {nick uhost hand chan arg} { global dj radiochan djnickname streamurl streamname if {$dj != $nick} { putserv "notice $nick :You are not the current DJ or you changed your nickname since becoming one." } else { set dj "" set djnickname "" pushmode $radiochan -o $nick putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: none" putserv "notice $nick :Your DJ'ness has been deactivated" putlog "(RADIO) DJ-OFF: [nick2hand $nick $chan]" } } # /msg $botnick djforceoff [nick]: Forces off a DJ from having DJ status. proc dj_force_off {nick uhost hand arg} { global djnickname dj radiochan streamurl streamname if {$dj == ""} { putserv "notice $nick :No DJ currently set to boot off." return 0 } else { if {$arg == ""} { putserv "notice $nick :You didn't specify a DJ to boot off." return 0 } else { set dj "" set djnickname "" pushmode $radiochan -o $arg putserv "TOPIC $radiochan :$streamname || Click here to Listen: $streamurl || Program Schedule: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] || Current DJ: none" putserv "notice $nick :DJ status removed for $arg." putserv "notice $arg :Your DJ'ness was removed by $nick." putlog "(RADIO) DJ-FORCEOFF: $arg booted by [nick2hand $nick $chan]" } } } # !dj: displays who the current DJ is. proc dj {nick uhost hand chan arg} { global djnickname radiochan streamname if {$djnickname == ""} { putserv "PRIVMSG $chan :There currently are no DJs logged in at the moment." } else { putserv "PRIVMSG $chan :$djnickname is the current $streamname DJ!" } } # !listeners: displays how many current listeners there are. proc listenercheck {nick uhost hand chan arg} { global newlistener radiochan streamstatus streamname if {$streamstatus == "1"} { if {$newlistener == "0"} { putserv "PRIVMSG $chan :There aren't any listeners tuned into $streamname :(." } elseif {$newlistener =="1"} { putserv "PRIVMSG $chan :There is 1 listener tuned into $streamname." } else { putserv "PRIVMSG $chan :There are $newlistener listeners tuned into $streamname." } } else { putserv "PRIVMSG $chan :$streamname isn't on-air." } } # !newdj [nick] [handle] [host]: Adds a new user to the bot and gives them the DJ flag (D). proc newdj {nick host hand chan arg} { global radiochan streamname set nickname [lindex $arg 0] set newhand [lindex $arg 1] set newhost [lindex $arg 2] if {[validuser $nickname]} { putserv "privmsg $nick :There is already a user existing by that handle!" return 0 } if {$nickname == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {$newhand == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {$newhost == ""} { putserv "privmsg $nick :You must enter their nickname handle and host!" return 0 } if {([onchan $nickname $chan])} { adduser $newhand $newhost chattr $newhand +D putserv "privmsg $radiochan :Added $nickname ($newhand) as a $streamname DJ!" } } # !version: displays the current version of the Ice2.tcl script. proc iceversion {nick host hand chan arg} { global ice2version radiochan botnick if {$chan == $radiochan} { putserv "PRIVMSG $radiochan :I am $botnick running Ice2.tcl Version $ice2version by Tido and Henkes." } } # !choon function. Diplays if u like the song. proc choon {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$nick really likes $newsong!" } } # !cheese function. Diplays if u hate the song. proc cheese {nick uhost hand chan arg} { global dj radiochan newsong newlistener streamstatus streamurl streamname if {$streamstatus == 1} { putserv "PRIVMSG $chan :$nick thinks this song is a load of cheese!" } } putlog "Ice2 Version $ice2version by Tido and Henkes is loaded! :)"

  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
radyo44.com.tr
Alt 27 Ağustos 2014, 20:46   #2
Çevrimdışı
Cevap: Icecast2 için Radyo Botu




keşke bunu Türkçe'ye çevirip paylaşsaydınız, o zaman birilerinin işine yarayabilirdi. yoksa biryerlerden alıp elin adamının yaptığı yabancı dildeki bir scripti buraya copy-paste etmenin kime ,ne faydası olabilir ki?

kaldı ki. bu yukarıdaki script ,"eski" rc sürümü 2006 demiş bakın üstte ,oysa scriptin 2010'da tam ve yeni sürümü yayınlanmış -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] egghelp'in Tcl arşivinde...

bu link adı üstünde eggdrop için Tcl arşividir ..arama yaparak binlerce yayınlanmış/paylaşılmış scriptler arasından ihtiyacınız olanı bulup kullanabilirsiniz ama oradan yada başka yerden alıp olduğu gibi buraya kopyala-yapıştır etmenin ne gibi bir faydası dokunabilir buradaki birine ki... Türkçe olmadıktan sonra ...

  Alıntı ile Cevapla

Cevapla

Etiketler
botu, icecast2, icin, radyo

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Radyo .tcl Botu KuL Eggdrop, NeoStats, BNC 2 04 Şubat 2012 22:41
radyo botu SuperX Eggdrop, NeoStats, BNC 5 30 Ekim 2011 19:52
Radyo Botu için !istek kapalı ve açık tcl isteği Serseri Eggdrop, NeoStats, BNC 2 20 Mart 2011 00:59
Radyo Botu ByQuIeT Eggdrop, NeoStats, BNC 1 03 Temmuz 2010 13:51
Radyo botu yardım hipokrat Eggdrop, NeoStats, BNC 10 30 Ağustos 2007 21:10