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

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 27 Ağustos 2014, 09:16   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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! :)"


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 27 Ağustos 2014, 20:46   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
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