egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

help me request list songs

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
kn1ghtt
Voice


Joined: 01 Aug 2022
Posts: 10

PostPosted: Sun Sep 25, 2022 10:37 am    Post subject: help me request list songs Reply with quote

hello greetings .. I would like you to help me with this code it is to see the list of requests .. but I manage to show them .. delete them .. but I need that when they put the command !pedido request the songs that they request are saved in the text requestlist.txt
please help.




Code:
######################################################################################################################
######################################################################################################################

proc pub_wish { nick uhost handle chan arg } {
global CanalesRadio CanalAdmins CanalDjs limit

set temp [open "peticiones" r]
             set peticiones [gets $temp]
     close $temp
     if {$peticiones == "Abiertas"} {
   
if {$arg == ""} { putquick  [encoding convertfrom utf-8 "privmsg $chan :6 $nick 14Por Favor 13Especifica 14El Tema Que 13Deseas Pedir.6 !pedido Artista - Tema  14Gracias Por 13Sintonizar: 1 fanaticaextrema(com)   "]; return 0}
set host [lindex [split [getchanhost $nick $chan] @] 1]
     set idents [lindex [split [getchanhost $nick $chan] @] 0]
     if {[onchan $nick]} {set im "*!*@[join [lrange [split $host .] 0 end] .]"} else {set im "$nick"}
 if {[onchan $nick]} {set ident1 "*![join $idents]@*" }
 if {"$idents" == "ircap"} {set ident1 "*![join $idents]@[join $host]"
     } else {
     set ident1 "*![join $idents]@[join $host]" }
#para probarlo SOLO modifique la linea siguiente por if $chan == $CanalesRadio, porque el proceso/archivo status esta en otra parte del codigo y siempre daba q la radio estaba off       
if { [info exist arg] } {
set temp [open "djnick" r]
set djnick [gets $temp]
close $temp

if {![info exist limit]} { set limit 360}
     foreach {_nick time} [array get ::flood] { if {[expr [clock seconds] - $time] > $limit} { unset ::flood($_nick) } }
     foreach {_ident1 time} [array get ::flood] { if {[expr [clock seconds] - $time] > $limit} { unset ::flood($_ident1) } }
# Crear una variable global que guarde el tiempo en segundos que se ejecutó el comando:

# (al final del todo está)

# Comprobar si la variable existe y todavía no ha transcurrido el tiempo límite de 360 segundos

if {([info exists ::flood($nick)]) || ([info exists ::flood($ident1)])} {

# Existe, así que comprobar el tiempo transcurrido

set timeago [expr [clock seconds] - $::flood($nick)]
set timeago [expr [clock seconds] - $::flood($ident1)]
 # ahora $timeago contiene el tiempo que ha pasado entre ahora y cuando lo ejecutó

# si $timeago es menos tiempo que el que pusimos de límite...
if {$timeago < $limit} {

 set rest [expr $limit - $timeago]
     putmsg  $chan [encoding convertfrom utf-8 "6 $nick 14espera 4 [duration $rest] 14para solicitar otra 6canción nuevamente."]
if { $rest > 340 } {
newignore $im $handle "antiflood 2min" "2"
#putquick "PRIVMSG $chan :6 $nick 14espera 4 [duration $rest] 14para solicitar otra 6canción nuevamente.4?"
putlog "Ignore ($nick): $im $handle antiflood 2min"
newignore $ident1 $handle "antiflood2min" "2"
putlog "Ignore ($nick): $ident1 $handle antiflood 2min"
putmsg $CanalAdmins "4AVISO1!!!14 Se ha puesto en \002ignore\002 a \002$nick\002 (Antiflood 2 minutos) "
     } else { return }
}
} else {
# Este usuario es nuevo, le creamos la variable

putquick  [encoding convertfrom utf-8 "privmsg $CanalDjs :1Petición / En 01 $chan  el nick 6 $nick  solicita: 06 $arg "]
putquick  [encoding convertfrom utf-8 "privmsg $CanalAdmins :1Petición / En 01 $chan  el nick 6 $nick  solicita: 06 $arg "]
putquick  [encoding convertfrom utf-8 "privmsg $djnick :1Petición / En 01 $chan  el nick 6 $nick  solicita: 06 $arg "]

putquick  [encoding convertfrom utf-8 "privmsg $chan :6Tema 6aceptado 14con exito 06 $nick  14En un momento más 6la escucharas."]

set ::flood($nick) [clock seconds]
set ::flood($ident1) [clock seconds]
}
} else {
putquick "privmsg $chan :6Lo Siento 14El Comando 13No Se Puede 6Usar La 13Radio 14Está 6Fuera 13De 14Línea." }
} else {
              putquick  [encoding convertfrom utf-8 "privmsg $chan : 4Error1!  01 $nick  1Por ahora las peticiones estan cerradas."]
             return 0
}
}

######################################################################################################################
######################################################################################################################

## Advert the Request List
bind pub -|- !listapedidos requestlist
proc requestlist {nick uhost hand chan arg} {
       global CanalDjs
       if {$chan == $CanalDjs} {
               set reqnumber 0
               set filename "requestlist.txt"
               set in [open $filename r]
               while {1} {
                       set line [gets $in]
                       if {$line == ""} {
                               putnow "PRIVMSG $CanalDjs :There are no requests at the moment."
                               break
                       } else {
                               if {[eof $in]} {
                                       putnow "PRIVMSG $CanalDjs :Fin Listado peticiones"
                                       close $in
                                       break
                               }
                               if {$reqnumber == 0} {
                                       putnow "PRIVMSG $CanalDjs :Inicio Listado peticiones"
                                       incr reqnumber
                               } else {
                                       putnow "PRIVMSG $CanalDjs :$reqnumber: $line"
                                       incr reqnumber
                               }
                       }
               }
       }
}

## Clear the Request List
bind pub -|- !limpiarlista clearlist
proc clearlist {nick uhost hand chan arg} {
       global CanalDjs
       if {$chan == $djchan} {
               if {[isop $nick $chan] == 1 || [ishalfop $nick $chan] == 1} {
                       set filename "requestlist.txt"
                       set out [open $filename w]
                       set line ""
                       puts $out $line
                       putnow "PRIVMSG $CanalDjs :$nick has cleared the request list."
                       close $out
               }
       }
}

## Delete Request Func + Timer
bind pub -|- !borrarpedido requestproc
proc requestproc {reqitem} {
       set filename "requestlist.txt"
       set testin [open $filename r]
       set line [gets $testin]
       close $testin
       if {$line == ""} {
               set out [open $filename [list RDWR APPEND CREAT]]
               set newline $reqitem
               puts -nonewline $out $newline
               close $out
       } else {
               # Create a Timestamp for the file
               set timestamp [clock format [clock seconds] -format {%Y%m%d%H%M%S}]
               # Create a Temp and Backup File
               set temp $filename.new.$timestamp
               # Set In/Out to Open Peak.txt in Read-Only/Write-Only
               set in [open $filename r]
               set out [open $temp [list RDWR APPEND CREAT]]
               set line $reqitem
               puts $out $line
               set file_data [read $in]
               puts -nonewline $out $file_data
               close $in
               close $out
               file rename -force $temp $filename
       }
}

######################################################################################################################
######################################################################################################################
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber