<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/7961" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2006-08-01T09:19:23-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/7961</id>

		<entry>
		<author><name><![CDATA[alisetan]]></name></author>
		<updated>2006-08-01T09:19:23-04:00</updated>

		<published>2006-08-01T09:19:23-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=65070#p65070</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=65070#p65070"/>
		<title type="html"><![CDATA[Adding features]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=65070#p65070"><![CDATA[
<blockquote class="uncited"><div>Someone please help me <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_sad.gif" width="15" height="15" alt=":(" title="Sad"></div></blockquote><br>put the english version on that tcl plss<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7781">alisetan</a> — Tue Aug 01, 2006 9:19 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[bandidu]]></name></author>
		<updated>2004-07-24T00:59:22-04:00</updated>

		<published>2004-07-24T00:59:22-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=39013#p39013</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=39013#p39013"/>
		<title type="html"><![CDATA[Adding features]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=39013#p39013"><![CDATA[
Someone please help me <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_sad.gif" width="15" height="15" alt=":(" title="Sad"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5223">bandidu</a> — Sat Jul 24, 2004 12:59 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[bandidu]]></name></author>
		<updated>2004-07-22T02:10:16-04:00</updated>

		<published>2004-07-22T02:10:16-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=38955#p38955</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=38955#p38955"/>
		<title type="html"><![CDATA[Adding features]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=38955#p38955"><![CDATA[
That was the first thing, I've done. If he could help me, I wouldn't be here <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_cool.gif" width="15" height="15" alt="8)" title="Cool"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5223">bandidu</a> — Thu Jul 22, 2004 2:10 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alchera]]></name></author>
		<updated>2004-07-21T15:47:01-04:00</updated>

		<published>2004-07-21T15:47:01-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=38936#p38936</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=38936#p38936"/>
		<title type="html"><![CDATA[Adding features]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=38936#p38936"><![CDATA[
I'd suggest contacting the author of the script with your suggestions so that they may add them in a future (updated) release. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3646">Alchera</a> — Wed Jul 21, 2004 3:47 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[bandidu]]></name></author>
		<updated>2004-07-21T15:05:37-04:00</updated>

		<published>2004-07-21T15:05:37-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=38931#p38931</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=38931#p38931"/>
		<title type="html"><![CDATA[Adding features]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=38931#p38931"><![CDATA[
This tcl was made for radios. It collects requests from users (listeners) in channel, send to announcer through private message. <br><br>Here is the code:<br><div class="codebox"><p>Code: </p><pre><code>set canal "#Locutores"set comando "!Pedido"set comando1 "!Recado"set djonline "n/a"set djdesc "n/a"set msg "n/a"set pedido "0"set recado "0"if {![info exists timezone]} {    set timezone "GMT+3"}#TOPICOset topicos {    "8,2[4Radio IRCBrasil0,2 ON8] 8Escute a Radio IRCBrasil em 0,7 http://play.ircbrasil.com.br 9,2 Locutor(a)0,2 $djonline 8,2* 9,2Programa0 $djdesc 8* SITE: 0www.ircbrasil.com.br * 11A Rádio Web Mais IrAdA do Brasil"}set ntopicos [llength $topicos]set topico_num 0#FIMbind pub - !DJ pub_djproc pub_dj {nick uhost hand channel rest} {    global canal botnick topicos ntopicos topico_num djonline djdesc    set topico [lindex $topicos $topico_num]    if {[incr topico_num] &gt;= ${ntopicos}} { set topico_num 0 }    if {[botisop $canal]==1} {        if {[isop $nick $canal]} {            set djonline [lindex $rest 0]            set djdesc [lrange $rest 1 end]            if {$djdesc != ""} {                if {$djonline != ""} {                    if {$djdesc != ""} {                        if {$nick == $djonline} {                            putserv "TOPIC $canal : [subst -nocommands $topico]"                            putlog "$nick setou topico no canal."                            putlog "O Dj foi mudado por $djonline para $nick"                            putlog "O topico setado foi: [subst -nocommands $topico]"                        }                        if {$nick != $djonline} {                            putserv "TOPIC $canal : [subst -nocommands $topico]"                            putlog "$nick setou topico no canal."                            putlog "O Dj foi mudado por $nick para $djonline"                            putlog "O topico setado foi: [subst -nocommands $topico]"                        }                    }                 }            }        }    }    if {$djonline != ""} {        if {$djdesc == ""}  {            if {[botisop $canal]} {                if {[isop $nick $canal]} {                    set djdesc n/a                    putserv "TOPIC $canal :[subst -nocommands $topico]"                    putlog "$nick setou topico no canal sem o estilo."                    putlog "O topico setado foi: [subst -nocommands $topico]"                }            }        }    }    if {[isop $nick $canal]} {        if {$djonline == ""} {            if {$djdesc == ""}  {                if {![botisop $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick o comando deve ser assim: !DJ SEU NICK ESTILO."                    puthelp "NOTICE $nick :5EX: !DJ $nick Rock."                    puthelp "NOTICE $nick :5EX: Eu não sou um operador do $canal."                    putlog "$nick usou !Dj mas nao sou op do $canal."                    putlog "$nick sou !Dj sem informar Nick e estilo"                    return 0                }            }        }    }    if {[isop $nick $canal]} {        if {$djonline != ""} {            if {![botisop $canal]} {                puthelp "NOTICE $nick :5EX: Eu não sou um operador do $canal."                putlog "$nick tentou usar o comando !Dj mas não sou op do $canal."            }        }    }    if {$djonline == ""} {        if {$djdesc == ""}  {            if {[botisop $canal]} {                if {[isop $nick $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick o comando deve ser assim: !DJ SEU NICK ESTILO."                    puthelp "NOTICE $nick :5EX: !DJ $nick Rock."                    putlog "$nick tentou usar o comando !Dj sem informar o nick e o estilo."                }            }        }    }    if {$djonline == ""} {        if {$djdesc == ""}  {            if {[botisop $canal]} {                if {![isop $nick $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick Este comando só pode ser utilizado por operadores do $canal."                    putlog "$nick tentou usar o comando !Dj sem ser op do $canal."                }            }        }    }    if {$djonline != ""} {        if {$djdesc != ""}  {            if {[botisop $canal]} {                if {![isop $nick $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick Este comando só pode ser utilizado por operadores do $canal."                    putlog "$nick tentou usar o comando !Dj sem ser op do $canal."                }            }        }    }    if {$djonline != ""} {        if {$djdesc == ""}  {            if {![isop $nick $canal]} {                if {[botisop $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick Este comando só pode ser utilizado por operadores do $canal"                    putlog "$nick tentou usar o comando !Dj sem ser op do $canal."                }            }        }    }    if {$djonline != ""} {        if {$djdesc == ""}  {            if {![isop $nick $canal]} {                if {![botisop $canal]} {                    puthelp "NOTICE $nick :5ERRO: $nick você não é um op do $canal."                    puthelp "NOTICE $nick :Eu não sou um operador do $canal."                    putlog "$nick tentou usar o comando !Dj sem ser op do $canal."                 }            }        }    }}bind pub - !On pub_onbind pub - !Off pub_offproc pub_on {nick uhost hand channel rest} {    global canal botnick djonline djdesc    if {[botisop $canal]==1} {        if {[isop $nick $canal]} {            putserv "TOPIC $canal :8,2[4Radio IRCBrasil0,2 OFF8] 8Escute a Radio IRCBrasil em 0,7 http://play.ircbrasil.com.br 9,2 Locutor(a)0,2 N/A 8,2* 9,2Programa0 N/A 0,20,28* SITE: 0www.ircbrasil.com.br * 11A Rádio Web Mais IrAdA do Brasil"            putlog "$nick setou topico no canal"        }    }    if {![botisop $canal]==1} {        if {[isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO: $nick Eu não sou um op do $canal."             putlog "$nick usou o comando mas nao sou op."        }    }    if {[botisop $canal]==1} {        if {![isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO: Você não tem acesso para usar esse comando."         }    }    if {![botisop $canal]==1} {        if {![isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO:Não sou um op do $canal. E você também não é um operador do $canal."         }    }}proc pub_off {nick uhost hand channel rest} {    global canal botnick djonline djdesc    if {[botisop $canal]==1} {        if {[isop $nick $canal]} {            putserv "TOPIC $canal :8,2[4Radio IRCBrasil0,2 OFF8] 8Escute a Radio IRCBrasil em 0,7 http://play.ircbrasil.com.br 9,2 Locutor(a)0,2 N/A 8,2* 9,2Programa0 N/A 0,20,28* SITE: 0www.ircbrasil.com.br * 11A Rádio Web Mais IrAdA do Brasil"        }    }    if {![botisop $canal]==1} {        if {[isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO: $nick Eu não sou um op do $canal."             putlog "$nick usou o comando, mas não sou Op do $canal."        }    }    if {[botisop $canal]==1} {        if {![isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO: Você não tem acesso para usar esse comando."             putlog "$nick tentou usar o comando !Dj sem ser op do $canal."        }    }    if {![botisop $canal]==1} {        if {![isop $nick $canal]} {            puthelp "NOTICE $nick :5ERRO:Não sou um op do $canal."            puthelp "NOTICE $nick :Você não é um operador do $canal."             putlog "$nick tentou usar o comando !Dj sem ser op do $canal."        }    }}bind msg - "!Pedido" msg_pedidobind msg - "!Recado" msg_recadobind msg - "!DJ" msg_dj2bind msg - "!info" msg_infobind msg - "!Zerar" msg_zerarproc msg_info {nick uhost hand rest} {    global canal djonline djdesc pedido recado    putserv "PRIVMSG $nick :O canal ativo é o $canal"    putserv "PRIVMSG $nick :Dj online $djonline"    putserv "PRIVMSG $nick :Estilo do Dj $djdesc"    putserv "PRIVMSG $nick :Já foram enviado(s) $recado recado(s)"    putserv "PRIVMSG $nick :Já foram enviado(s) $pedido pedido(s)"}proc msg_zerar {nick uhost hand rest} {    global canal djonline djdesc pedido recado    putserv "PRIVMSG $nick :Zerando . . ."    set pedido "0"    set recado "0"    putserv "PRIVMSG $nick :Zerando recado(s)"    putserv "PRIVMSG $nick :Zerando pedido(s)"}proc msg_pedido {nick uhost hand rest} {    global botnick comando djonline djdesc msg pedido fpedido    set msg [lrange $rest 0 end]    set data "[strftime %d/%m/%Y]"    set hora "[strftime %H:%M:%S]"    if {$djonline != ""} {        if {$nick != $djonline} {            incr pedido              putserv "PRIVMSG $djonline :» $pedido « Pedido do{a} $nick ø O pedido é: $msg"              putlog "Enviando Pedido para $djonline de $nick com o seguinte pedido $msg"            putserv "PRIVMSG $nick :Às $hora Seu Pedido Enviado com sucesso para $djonline."        }    }}proc msg_recado {nick uhost hand rest} {    global botnick comando1 djonline djdesc msg recado frecado    set msg [lrange $rest 0 end]    set data "[strftime %d/%m/%Y]"    set hora "[strftime %H:%M:%S]"    if {$djonline != ""} {        if {$nick != $djonline} {            incr recado            putserv "PRIVMSG $djonline :» $recado « ø Recado do{a} $nick ø O recado é: $msg"              putlog "Enviando Recado para $djonline de $nick com o seguinte recado $msg"            putserv "PRIVMSG $nick :Às $hora Recado Enviado com sucesso para $djonline."        }    }}bind dcc m restart darrestartproc darrestart {handle idx rest} {     global botnick     dccbroadcast "12#2#12# 2Dando rehash no12 $botnick2. Autorizado por12 $handle2."    restart}# Inetrvalo maximo (EM MINUTOS) entre as mensagens:set mF(msgintervalo) 8# Messagens para serem enviadas ao canal(is):set msgs(sexo) {    "7,2[ 0,2Peça Músicas: 11/msg vitrola !pedido 11musica 10,2 Mande Recados: 11/msg vitrola !recado recado 7]"}# enviar mensagens para que canal?set mF(canal) "#Locutores"proc sendmsg {} {    global botnick mF msgs www    timer $mF(msgintervalo) sendmsg    if {![info exists www]} { set www [expr [llength $msgs(sexo)]-1] }    if {$www &lt;= -1} {        set www [expr [llength $msgs(sexo)]-1]         set sendmsg1 "[lindex $msgs(sexo) $www]"        set www [expr $www-1]    } {        set sendmsg1 "[lindex $msgs(sexo) $www]"        set www [expr $www-1]    }    if {$sendmsg1 == ""} {         set www [expr [llength $msgs(sexo)]-1]         set www [expr $www-1]        set sendmsg1 "[lindex $msgs(sexo) $www]"    }    putserv "PRIVMSG $mF(canal) :$sendmsg1"}if {![info exists loadsendmsg]} { sendmsg }set loadsendmsg 1set streamip "***.***.***.***"set streamport "8000"set streampass "****"set sclistenertrigger ".pico"set sclastsongstrigger ".musicapassada"set scplayingtrigger ".musica"set radiochans "#Locutores"bind pub - $sclistenertrigger pub_listenerbind msg - $sclistenertrigger msg_listenerbind pub - $sclastsongstrigger pub_lastsongsbind msg - $sclastsongstrigger msg_lastsongsbind pub - $scplayingtrigger  pub_playingbind msg - $scplayingtrigger  msg_playingproc shrink { calc number string start bl} { return [expr [string first "$string" $bl $start] $calc $number] }#COMEÇO !PICOproc listener { target } {global streamip streamport streampassputlog "shoutcast: $target pediu o número de usuários ouvindo a IRCBrasil"if {[catch {set sock [socket $streamip $streamport] } sockerror]} {putlog "error: $sockerror"return 0 } else {puts $sock "GET /admin.cgi?pass=$streampass&amp;mode=viewxml&amp;page=0 HTTP/1.0"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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set repl [string range $bl [shrink + 19 "&lt;REPORTEDLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/REPORTEDLISTENERS&gt;" 0 $bl]]set curhigh [string range $bl [shrink + 15 "&lt;PEAKLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/PEAKLISTENERS&gt;" 0 $bl]]set maxl [string range $bl [shrink + 14 "&lt;MAXLISTENERS&gt;" 0 $bl] [shrink - 1 "&lt;/MAXLISTENERS&gt;" 0 $bl]]set avgtime [string range $bl [shrink + 13 "&lt;AVERAGETIME&gt;" 0 $bl] [shrink - 1 "&lt;/AVERAGETIME&gt;" 0 $bl]]}}close $sockputserv "notice $target :Há atualmente $repl pessoas ouvindo a rádio e o nosso pico de usuários é $curhigh ouvintes"}}proc msg_listener { nick uhost hand arg } { global radiochans; listener $nick }proc pub_listener { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { listener $nick  }}#FIM !PICO#COMEÇO MUSICAS PASSADASproc sclastsongs { target } {global streamip streamport streampassputlog "shoutcast: $target pediu as músicas passadas"if {[catch {set sock [socket $streamip $streamport] } sockerror]} {putlog "error: $sockerror"return 0 } else {puts $sock "GET /admin.cgi?pass=$streampass&amp;mode=viewxml&amp;page=0 HTTP/1.0"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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set songs [string range $bl [string first "&lt;TITLE&gt;" $bl] [expr [string last "&lt;/TITLE&gt;" $bl] + 7]]regsub -all "&lt;" $songs "&lt;" songsregsub -all "&gt;" $songs "&gt;" songsregsub -all "&amp;" $songs "+" songsregsub -all """ $songs "\"" songsregsub -all "'" $songs "'" songsregsub -all "ÿ" $songs "" songsregsub -all "&lt;TITLE&gt;" $songs "(" songsregsub -all "&lt;/TITLE&gt;" $songs ")" songsregsub -all "&lt;SONG&gt;" $songs "" songsregsub -all "&lt;/SONG&gt;" $songs " - " songsregsub -all "&lt;PLAYEDAT&gt;" $songs "" songsregsub -all "&lt;/PLAYEDAT&gt;" $songs "" songsregsub -all {\d} $songs "" songs}}putserv "notice $target :$songs"}}proc msg_lastsongs { nick uhost hand arg } { global radiochans; sclastsongs $nick }proc pub_lastsongs { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { sclastsongs $nick }}#FIM MUSICAS PASSADAS#COMEÇO MUSICA ATUALproc playing {target} {global streamip streamport streampassputlog "shoutcast: $target asked for current song"if {[catch {set sock [socket $streamip $streamport] } sockerror]} {putlog "error: $sockerror"return 0 } else {puts $sock "GET /admin.cgi?pass=$streampass&amp;mode=viewxml&amp;page=0 HTTP/1.0"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 $sockwhile {[eof $sock] != 1} {set bl [gets $sock]if { [string first "standalone" $bl] != -1 } {set streamstatus [string range $bl [shrink + 14 "&lt;STREAMSTATUS&gt;" 0 $bl] [shrink - 1 "&lt;/STREAMSTATUS&gt;" 0 $bl]]set songtitle [string range $bl [shrink + 11 "&lt;SONGTITLE" 0 $bl] [shrink - 1 "&lt;/SONGTITLE&gt;" 0 $bl]]set songurl [string range $bl [shrink + 9 "&lt;SONGURL&gt;" 0 $bl] [shrink - 1 "&lt;/SONGURL&gt;" 0 $bl]]if {$songurl != ""} { set songurl " ($songurl)"}regsub -all "&lt;" $songtitle "&lt;" songtitleregsub -all "&gt;" $songtitle "&gt;" songtitleregsub -all "&amp;" $songtitle "+" songtitle  regsub -all """ $songtitle "\"" songtitleregsub -all "'" $songtitle "'" songtitleregsub -all "ÿ" $songtitle "" songtitleif {$streamstatus == 1} {putserv "notice $target :IRCBrasil Bombando com $songtitle$songurl"} else {putserv "notice $target :A Rádio parece estar offline"}}}close $sock}}proc msg_playing { nick uhost hand arg } { global radiochans; playing $nick}proc pub_playing { nick uhost hand chan arg } { global radiochans; if {([lsearch -exact [string tolower $radiochans] [string tolower $chan]] != -1) || ($radiochans == "")} { playing $nick  }}#FIM MUSICA ATUALset nicks "IRC"bind join - * proc_entranadobind nick - * proc_nickproc proc_entranado {nick uhost handle channel args} {    global canal nicks    if {[string tolower $channel] == [string tolower $canal]} {        foreach var $nicks {            if {[string match "*[string tolower $nick]*" "[string tolower $var]"]} {                if {[botisop $canal]} {                    pushmode $canal +v $nick                }            }        }    }}proc proc_nick {nick uhost handle channel newnick} {    global nicks canal    if {[string tolower $channel] == [string tolower $canal]} {        foreach var $nicks {            if {[string match "*[string tolower $newnick]*" "[string tolower $var]"]} {                if {[botisop $canal]} {                    pushmode $canal +v $newnick                }            }        }    }}</code></pre></div> <br>I'd like to add some features, but I don't know how to do that. The features are:<br> <br><strong class="text-strong">Protection</strong><br> <br>Block repeated requests<br>Block sent requests in few seconds<br> <br><strong class="text-strong">Changes</strong><br> <br>Send the requests to announcher through chat (Preventing lag and disconnection by flood)<br>Add a command to turn the advertisements off.<br> <br>If  no one cannot help me, suggest me another person. <br> <br>PS: Don't mind about the text written in portuguese, because I'm brazilian. Sorry my bad english.. hehe <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_wink.gif" width="15" height="15" alt=";)" title="Wink"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=5223">bandidu</a> — Wed Jul 21, 2004 3:05 pm</p><hr />
]]></content>
	</entry>
	</feed>
