View previous topic :: View next topic |
Author |
Message |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Fri Aug 13, 2021 8:32 am Post subject: someone correct my mistake |
|
|
flink wrote: | hello i got this tcl icecast and i converted it to my room and radio but it doesn't write the songs in the room when the broadcast is live.
it only sends:
bot ¦ is currently broadcasting live @ https://unawebcualquiera.com
bot¦ Current Song: 1 | Listeners: 1
bot ¦ The DJ is RadioAuto
and in the bot's party line I get this error:
party-line:Tcl error [status]: can't read "contenttype": no such variable
if someone could help me I would be immensely grateful.
I'm sorry for my English but I'm Spanish and the translator may not express itself in the same way.
by the way my radio server is zeno.fm
Code: | #-- Nombre de la emisora ??de radio - - nombre de la radio
set streamname "nombre de la radio"
set streamip "un.servidor.fm"
set streamport "13710"
set streamadmin "source"
set streampass "emitir"
set radiochan "#sala"
set djchan "#sala"
set otherchan "#sala"
set admin "administrador"
set streamurl "https://unawebcualquiera.com"
#How often the bot checks the stream when it knows it is down in minutes. Recommend 1 minute.
set offlinetimer "70"
#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 "55"
#Enables advertising set to the above frequency. 1 for ON and 0 for OFF. This reminds people that the stream
# is online.
set enableadvertise "1"
#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 "1"
#Special Announcement Message
set announcemsg "¡Anuncio especial! Gracias por visitarnos a nuestra humilde salita de radio de Chatzona, les presento nuestra radio $streamurl."
################################################################
# Don't edit past this stuff unless you're Tido or Henkes :P #
################################################################
# Binds
bind pub - "!ichoon" choon
bind pub - "!icheese" cheese
bind pub - "!comandos" showcommands
bind pub - "!ihelp" showcommands
bind pub - "!radio" status
bind pub - "!ilisteners" listenercheck
bind pub - "!emito" dj_on
bind pub - "!auto" dj_off
bind pub - "!advertise" toggle_advertise
bind pub D "!publicidad" 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
bind pub - "!stream" stream
bind pub - "!peticion" request
bind msg - "!dedicatoria" msg_request
bind pub - "!iversion" iceversion
bind pub - "!inewdj" newdj
# Varible Resets
set ice2version "1.0 29.02.2021"
set streamstatus "1"
set djnickname "RadioAuto"
set dj "RadioAuto"
set oldsong "1"
set newsong "1"
set newlistener "1"
set oldlistener "1"
set forceadsent "1"
set sessionpeak "1"
# 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
}
}
proc stream {nick uhost hand chan arg} {
global radiochan djchan
putserv "privmsg $chan : IceCast Stream: https://unawebcualquiera.com"
}
# Output for !help or !showcommands
proc showcommands {nick uhost hand chan arg} {
global ice2version streamname botnick
global radiochan djchan
if { $chan == $radiochan } {
putserv "notice $nick :>>> $botnick Commands - Script: $ice2version<<<"
# putserv "notice $nick :!istatus >>> Displays the stream's extended stats."
putserv "notice $nick :!idj >>> Shows current DJ."
putserv "notice $nick :!ilisteners >>> Shows the current number of listeners tuned into $streamname."
putserv "notice $nick :!irequest (artist+track) >>> Sends a request to the DJ's queue. Example: !request Oasis - Wonderwall"
putserv "notice $nick :!ichoon >>> Message to the $radiochan channel if you like the current tune played"
putserv "notice $nick :!icheese >>> Message to the $radiochan channel if you dislike the current tune played"
putserv "notice $nick :!iversion >>> Diplays the version of the tcl script loaded."
putserv "notice $nick :/msg $botnick request (artist+track) >>> Another way to send a request that isn't visable to everyone in the channel."
} elseif { $chan == $djchan } {
putserv "notice $nick :>>> $botnick Commands - Script: $ice2version <<<"
putserv "notice $nick :----------------------------------------------------------------------------"
putserv "notice $nick :>>> Some commands will only work in $djchan and some are only for admins <<<"
putserv "notice $nick :----------------------------------------------------------------------------"
putserv "notice $nick :!istatus >>> Displays the stream's extended stats."
putserv "notice $nick :!idj >>> Shows current DJ."
putserv "notice $nick :!ilisteners >>> Shows the current number of listeners tuned into $streamname."
putserv "notice $nick :!irequest (artist+track) >>> Sends a request to the DJ's queue. Example: !request Oasis - Wonderwall"
putserv "notice $nick :!ichoon >>> Message to the $radiochan channel if you like the current tune played"
putserv "notice $nick :!icheese >>> Message to the $radiochan channel if you dislike the current tune played"
putserv "notice $nick :!iversion >>> Diplays the version of the tcl script loaded."
putserv "notice $nick :/msg $botnick request (artist+track) >>> Another way to send a request that isn't visable to everyone in the channel."
putserv "notice $nick :!idjon >>> !djon (nick) - enables DJ status for someone with bot D tag"
putserv "notice $nick :!idjoff >>> Disables DJ status"
putserv "notice $nick :!iadvertise mins >>> Turns on and off Advertising. Also lets you set the interval: !advertise X"
putserv "notice $nick :!iforceadvertise >>> Forces the advertising messages to appear"
putserv "notice $nick :!idjforceoff >>> \/msg $botnick djforceoff \[nick\] - Forces off a DJ from having DJ status"
putserv "notice $nick :!inewdj >>> !inewdj \[nick\] \[handle\] \[host\] - Adds a new user to the bot and gives them the DJ flag (D)"
}
}
# Activa y desactiva la publicidad. También le permite establecer el intervalo:!Publicidad X
proc toggle_advertise {nick uhost hand chan arg} {
global radiochan enableadvertise adtimer djchan admin
putlog "toggle_advertise proc triggered"
if { $nick != $admin && $chan == $djchan } {
putserv "privmsg $chan : No, no eres un administrador"
return 0
} else {
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]
}
}
}
}
# Función que averigua el ID del temporizador publicitario.
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
}
# Mensajes que se muestran cuando la publicidad está habilitada.
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
}
# Obliga a que aparezcan los mensajes publicitarios
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!"
}
}
}
}
# Mensaje de anuncio especial.
proc specialmessage {} {
global radiochan specialannounce announcemsg
putserv "PRIVMSG $radiochan : $announcemsg"
timer 720 [list specialmessage]
return 0
}
# Comprobación del estado
# Función que toma la información de Icecast_Online y crea las respuestas adecuadas.
proc statuscheck {} {
global radiochan streamstatus newsong oldsong newlistener oldlistener sessionpeak dj enableadvertise otherchan onlinetimer offlinetimer streamurl streamname
global contenttype streamtitle streamdescription mountstarted peaklisteners
global streamgenre streamurl mountpoint bitrate
putlog "statuscheck proc triggered"
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} {
if { $newlistener == 0 } {
putserv "PRIVMSG $radiochan :$streamname currently has no listeners"
} elseif { $newlistener == 1 } {
putserv "PRIVMSG $radiochan :$streamname currently has $newlistener listener"
} else {
putserv "PRIVMSG $radiochan :$streamname currently has $newlistener listeners"
}
set sessionpeak $newlistener
# }
set oldlistener "$newlistener"
}
if {$newsong != $oldsong} {
putserv "PRIVMSG $radiochan : IceCast - New song: \002 \0038 $newsong"
set oldsong "$newsong"
}
}
}
# Icecast_Online
# Este es el analizador HTTP que recopila los diversos datos del archivo status.xsl.
proc icecast_online { } {
global streamip streamport streamstatus newsong newlistener streamadmin streampass
global contenttype streamtitle streamdescription mountstarted peaklisteners
global streamgenre streamurl mountpoint bitrate
set pagedata ""
set chan "#intimisimos"
if {[catch {set sock [socket $streamip $streamport] } sockerror]} {
putlog "error: $sockerror"
return 0
} else {
puts $sock "GET /status.xsl?mount=/listen.mp3 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 42 9999]
set location3 [string first " - </td>" $songdata3]
set location3 [expr $location3 - 1]
set newsong [string range $songdata3 0 $location3]
set llocation [string first "Current 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 47 9999]
set llocation3 [string first "</td>" $countdata3]
set llocation3 [expr $llocation3 - 1]
set newlistener [string range $countdata3 0 $llocation3]
set ctypeloc [string first "Content Type:" $pagedata]
set ctypedat [string range $pagedata $ctypeloc 99999]
set ctypeloc2 [string first "</tr>" $ctypedat]
set ctypedat2 [string range $ctypedat 0 $ctypeloc2]
set ctypedat3 [string range $ctypedat2 42 9999]
set ctypeloc3 [string first "</td>" $ctypedat3]
set ctypeloc3 [expr $ctypeloc3 - 1]
set contenttype [string range $ctypedat3 0 $ctypeloc3]
set stloc [string first "Stream Title:" $pagedata]
set stdat [string range $pagedata $stloc 99999]
set stloc2 [string first "</tr>" $stdat]
set stdat2 [string range $stdat 0 $stloc2]
set stdat3 [string range $stdat2 42 9999]
set stloc3 [string first "</td>" $stdat3]
set stloc3 [expr $stloc3 - 1]
set streamtitle [string range $stdat3 0 $stloc3]
set sdloc [string first "Stream Description:" $pagedata]
set sddat [string range $pagedata $sdloc 99999]
set sdloc2 [string first "</tr>" $sddat]
set sddat2 [string range $sddat 0 $sdloc2]
set sddat3 [string range $sddat2 48 9999]
set sdloc3 [string first "</td>" $sddat3]
set sdloc3 [expr $sdloc3 - 1]
set streamdescription [ string range $sddat3 0 $sdloc3]
set msloc [string first "Mount started:" $pagedata]
set msdat [string range $pagedata $msloc 99999]
set msloc2 [string first "</tr>" $msdat]
set msdat2 [string range $msdat 0 $msloc2]
set msdat3 [string range $msdat2 48 9999]
set msloc3 [string first "</td>" $msdat3]
set msloc3 [expr $msloc3 - 1 ]
set mountstarted [string range $msdat3 0 $msloc3 ]
set plloc [string first "Peak Listeners:" $pagedata]
set pldat [string range $pagedata $plloc 99999]
set plloc2 [string first "</tr>" $pldat]
set pldat2 [string range $pldat 0 $plloc2]
set pldat3 [string range $pldat2 44 9999]
set plloc3 [string first "</td>" $pldat3]
set plloc3 [expr $plloc3 - 1]
set peaklisteners [string range $pldat3 0 $plloc3]
set sgloc [string first "Stream Genre:" $pagedata]
set sgdat [string range $pagedata $sgloc 99999]
set sgloc2 [string first "</tr>" $sgdat]
set sgdat2 [string range $sgdat 0 $sgloc2]
set sgdat3 [string range $sgdat2 42 9999]
set sgloc3 [string first "</td>" $sgdat3]
set sgloc3 [expr $sgloc3 - 1 ]
set streamgenre [string range $sgdat3 0 $sgloc3]
set suloc [string first "Stream URL:" $pagedata]
set sudat [string range $pagedata $suloc 99999]
set suloc2 [string first "</tr>" $sudat]
set sudat2 [string range $sudat 0 $suloc2]
set sudat3 [string range $sudat2 100 9999]
set suloc3 [string first "</a>" $sudat3]
set suloc3 [expr $suloc3 - 1]
set streamurl [string range $sudat3 0 $suloc3]
set mploc [string first "Mount Point" $pagedata]
set mpdat [string range $pagedata $mploc 99999]
set mploc2 [string first "</tr>" $mpdat]
set mpdat2 [string range $mpdat 0 $mploc2]
set mpdat3 [string range $mpdat2 62 9999]
set mploc3 [string first "\.m3u" $mpdat3]
set mploc3 [expr $mploc3 - 1]
set mountpoint [string range $mpdat3 0 $mploc3]
set brloc [string first "Bitrate:" $pagedata]
set brdat [string range $pagedata $brloc 99999]
set brloc2 [string first "</tr>" $brdat]
set brdat2 [string range $brdat 0 $brloc2]
set brdat3 [string range $brdat2 37 9999]
set brloc3 [string first "</td>" $brdat3]
set brloc3 [expr $brloc3 - 1]
set bitrate [string range $brdat3 0 $brloc3]
#putlog "$newsong"
#putlog "$newlistener"
#putlog "$contenttype"
#putlog "$streamtitle"
#putlog "$streamdescription"
#putlog "$mountstarted"
#putlog "$peaklisteners"
#putlog "$streamgenre"
#putlog "$streamurl"
#putlog "$mountpoint"
#putlog "$bitrate"
close $sock
return 1
} else {
set streamstatus "0"
close $sock
return 0
}
}
# !radio función. Muestra el estado actual de la transmisión.
proc status {nick uhost hand chan arg} {
global dj radiochan newsong newlistener streamstatus streamurl streamname
global contenttype streamtitle streamdescription mountstarted peaklisteners
global streamgenre streamurl mountpoint bitrate djchan
putlog "status proc triggered"
if {$streamstatus == 1} {
putserv "PRIVMSG $chan :$streamname is currently broadcasting live @ $streamurl"
if {$newsong != "" && $chan == $djchan} {
if {$newlistener == 0 } {
putserv "PRIVMSG $chan :The current song is \0038 $newsong \0030 with no listeners."
} elseif { $newlistener == 1 } {
putserv "PRIVMSG $chan :Current Song: \0038 $newsong \0030 \| Listeners: \0038 $newlistener"
putserv "PRIVMSG $chan :Content Type: \0038 $contenttype \0030 \| Stream Title: \0038 $streamtitle"
putserv "PRIVMSG $chan :Stream Description: \0038 $streamdescription \0030 \| Mount Started: \0038 $mountstarted"
putserv "PRIVMSG $chan :Peak Listeners: \0038 $peaklisteners \0030 \| Stream Genre: \0038 $streamgenre"
putserv "PRIVMSG $chan :Stream URL: \0038 $streamurl$mountpoint \0030 \| Bitrate: \0038 $bitrate"
putserv "PRIVMSG $chan :Server: \0038 icecast v2.3.3 \0030 \| Client: \0038 ices v2.0.2 \0030 \| DJ: \0038 AutoDJ"
} else {
putserv "PRIVMSG $chan :Current Song: \0038 $newsong \0030 \| Listeners: \0038 $newlistener"
putserv "PRIVMSG $chan :Content Type: \0038 $contenttype \0030 \| Stream Title: \0038 $streamtitle"
putserv "PRIVMSG $chan :Stream Description: \0038 $streamdescription \0030 \| Mount Started: \0038 $mountstarted"
putserv "PRIVMSG $chan :Peak Listeners: \0038 $peaklisteners \0030 \| Stream Genre: \0038 $streamgenre"
putserv "PRIVMSG $chan :Stream URL: \0038 $streamurl$mountpoint \0030 \| Bitrate: \0038 $bitrate"
putserv "PRIVMSG $chan :Server: \0038 icecast v2.3.3 \0030 \| Client: \0038 ices v2.0.2 \0030 \| DJ: \0038 AutoDJ"
}
}
if {$dj != ""} {putserv "PRIVMSG $chan :The DJ is $dj"}
} else {
putserv "PRIVMSG $chan :$streamname is currently offline."
}
}
# !peticion: envía un mensaje a dj sobre la solicitud que se realizó..
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: envía un mensaje a dj sobre la solicitud que se realizó.
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 :)"
}
}
}
# !emito (name): habilita el estado de DJ para alguien con la etiqueta D
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 || https://unawebcualquiera.com || Current DJ: $djnickname"
putserv "PRIVMSG $radiochan :$djnickname is now rocking the turntables, enjoy."
set dj "$nick"
putlog "(RADIO) DJ-ON: [nick2hand $nick $chan]"
}
# !auto: Apaga DJ para el usuario
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 || https://unawebcualquiera.com || 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 || https://unawebcualquiera.com|| 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: Muestra quién es la DJ actual.
proc dj {nick uhost hand chan arg} {
global djnickname radiochan streamname
if {$djnickname == ""} {
putserv "PRIVMSG $chan :There currently are no live DJs logged in at the moment. Auto DJ is on."
} else {
putserv "PRIVMSG $chan :$djnickname is the current $streamname DJ!"
}
}
# !listeners: muestra cuántos oyentes actuales hay.
proc listenercheck {nick uhost hand chan arg} {
global newlistener radiochan streamstatus streamname
global contenttype streamtitle streamdescription mountstarted peaklisteners
global streamgenre streamurl mountpoint bitrate
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 ] : agrega un nuevo usuario al bot y le da la bandera de DJ (D).
proc newdj {nick host hand chan arg} {
putlog "newdj proc triggered"
global radiochan streamname
putlog "$nick"
if { $nick != "administrador" } {
putserv "privmsg $nick :You can not do that!"
return 0
}
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 :Estoy $botnick ejecutando Ice2.tcl Versión $ice2version de mia."
}
}
# !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 gets down with $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 tune is a load of cheese and a waiste!"
}
}
putlog "*** nuevaIcecast esta cargado! :)" |
|
|
|
Back to top |
|
 |
CrazyCat Revered One

Joined: 13 Jan 2002 Posts: 1108 Location: France
|
|
Back to top |
|
 |
mabrook Halfop

Joined: 14 Jun 2021 Posts: 60
|
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Sat Aug 14, 2021 9:30 am Post subject: |
|
|
CrazyCat wrote: | Check your streamip and streamport, I don't think you put the good values. |
CrazyCat ,thanks for replying, I put some random ones in this post, but I tried the ones from my radio server and it doesn't give the information it was supposed to give. |
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Sat Aug 14, 2021 9:32 am Post subject: |
|
|
mabrook, thanks for answering, I remember to try them and they don't give the title and artist data either. |
|
Back to top |
|
 |
mabrook Halfop

Joined: 14 Jun 2021 Posts: 60
|
Posted: Sat Aug 14, 2021 9:57 am Post subject: |
|
|
post your email, i will send to you what im using now.. |
|
Back to top |
|
 |
CrazyCat Revered One

Joined: 13 Jan 2002 Posts: 1108 Location: France
|
Posted: Sat Aug 14, 2021 12:01 pm Post subject: |
|
|
flink wrote: | CrazyCat wrote: | Check your streamip and streamport, I don't think you put the good values. |
CrazyCat ,thanks for replying, I put some random ones in this post, but I tried the ones from my radio server and it doesn't give the information it was supposed to give. |
Give me via MP the real infos then I'll check what's wrong with it _________________ https://www.eggdrop.fr - French IRC network
Offer me a coffee - Do not ask me help in PM, we are a community. |
|
Back to top |
|
 |
mabrook Halfop

Joined: 14 Jun 2021 Posts: 60
|
Posted: Sat Aug 14, 2021 12:23 pm Post subject: |
|
|
flink wrote: |
mabrook, thanks for answering, I remember to try them and they don't give the title and artist data either. |
i am thinking, maybe you are using shoutcast script but your radio is icecast or vice versa..
normally as far i explored the scripts made by the coders .. all shoutcast script requires user and password while icecast is not.
you need to try to setup this script on this link;
http://www.tclarchive.org/search.php?str=ice2&cb1=t&cb2=a&cb3=d&sub.x=0&sub.y=0
it's a hunch for me now.. maybe it could help you.. |
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Mon Aug 16, 2021 7:50 am Post subject: |
|
|
mabrook thank you again for answering, but what you recommend me are similar to what I opened this post, I have tried them but it does not send information from the radio server, more than the streamurl that we previously wrote in the tcl, thanks again and the one you sent me by mail more of the same sincerely thanks but it is not the help I ask, I need to send the artist and the title to the rooms where this bot among other things, thank you |
|
Back to top |
|
 |
CrazyCat Revered One

Joined: 13 Jan 2002 Posts: 1108 Location: France
|
Posted: Tue Aug 17, 2021 2:08 am Post subject: |
|
|
The settings you sent me don't seem to be access to an Icecast server, you may contact the solution provider of the radio to have the good informations. _________________ https://www.eggdrop.fr - French IRC network
Offer me a coffee - Do not ask me help in PM, we are a community. |
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Tue Aug 17, 2021 5:38 am Post subject: |
|
|
CrazyCat wrote: | The settings you sent me don't seem to be access to an Icecast server, you may contact the solution provider of the radio to have the good informations. |
CrazyCat thanks for answering,maybe what you comment is because when you are in dj AUTO the songs are in a cloud of the stream provider, because in your widget that below I pass if it gives the data both with autodj, as in dj live of artist and song and when we broadcast live those are the data that we enter in the sambroadcaster to broadcast live
widget : <iframe src="https://zeno.fm/player/angelescaidos" width="575" height="250" frameborder="0" scrolling="no"></iframe><a href="https://zeno.fm/" target="_blank" style="display: block; font-size: 0.9em; line-height: 10px;">A Zeno.FM Station</a> |
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Tue Aug 17, 2021 5:14 pm Post subject: |
|
|
flink wrote: | CrazyCat wrote: | The settings you sent me don't seem to be access to an Icecast server, you may contact the solution provider of the radio to have the good informations. |
CrazyCat thanks for answering,maybe what you comment is because when you are in dj AUTO the songs are in a cloud of the stream provider, because in your widget that below I pass if it gives the data both with autodj, as in dj live of artist and song and when we broadcast live those are the data that we enter in the sambroadcaster to broadcast live
widget : <iframe src="https://zeno.fm/player/angelescaidos" width="575" height="250" frameborder="0" scrolling="no"></iframe><a href="https://zeno.fm/" target="_blank" style="display: block; font-size: 0.9em; line-height: 10px;">A Zeno.FM Station</a> |
someone told me about using the api of the radio server maybe if it would be easier to help me because I am still very new to this and I'm learning and asking too much would it be possible? |
|
Back to top |
|
 |
mabrook Halfop

Joined: 14 Jun 2021 Posts: 60
|
Posted: Wed Aug 18, 2021 1:27 am Post subject: |
|
|
Code: |
CrazyCat thanks for answering,maybe what you comment is because when you are in dj AUTO the songs are in a cloud of the stream provider, because in your widget that below I pass if it gives the data both with autodj, as in dj live of artist and song and when we broadcast live those are the data that we enter in the sambroadcaster to broadcast live
widget : <iframe src="https://zeno.fm/player/angelescaidos" width="575" height="250" frameborder="0" scrolling="no"></iframe><a href="https://zeno.fm/" target="_blank" style="display: block; font-size: 0.9em; line-height: 10px;">A Zeno.FM Station</a>
|
flink, I've already experienced this Sam broadcaster. I've already tried it with my friend's radio and I'm having a hard time for his radio. I think the idea in doing the API is good (if SAM Broadcaster have the API). You can hire a coder for this and let the coder check everything so that he can get the idea on how to do it. And I hope there's a coder/s that can make a script for a SAM BROADCASTER tcl script in the future..
 |
|
Back to top |
|
 |
flink Halfop

Joined: 21 Feb 2021 Posts: 70 Location: Canarias
|
Posted: Wed Aug 18, 2021 10:11 am Post subject: |
|
|
excuse me mabrook, but I don't know if it is the translator or if it is you that is mixing it all up, because nothing of what you have said or exposed has worked, with what I asked for in this post, I thank you for the intention you show but honestly it does not answer the initial question you only talk about other things that you have seen or have someone and links where we look before we get to formulate help by this means nothing to do with the initial question, thank you very much. |
|
Back to top |
|
 |
mabrook Halfop

Joined: 14 Jun 2021 Posts: 60
|
Posted: Sat Aug 21, 2021 11:35 am Post subject: |
|
|
flink,
just saying from my own opinion (from my experienced for that SAMCLOUD/SAM BROADCASTER ) ..
go as what you need to do.. no worries..
hope you find a good resolutions from this matter.
thank you very much. |
|
Back to top |
|
 |
|