on *:text:*:#Channel: {
if $level($nick) = 21 {
if $strip($1) = !turno {
if ( !$2 ) { msg # Sintaxis: $+($chr(2),!turno <dj>) }
else {
msg # $2 fue agregado a la lista.
write -s $2 dj-action.txt $2
}
}
if $strip($1) = !borrar {
if ( !$lines(dj-action.txt) ) { msg # Lista vacía | return }
elseif ( $strip($2) !isnum ) { msg # Sintaxis: $+($chr(2),!borrar <Nº>) }
else { write $+(-dl,$2) dj-action.txt }
}
}
if $strip($1) = !lista {
if ( !$lines(dj-action.txt) ) { msg # Lista vacía | return }
else {
var %x = 1
while ( %x <= $lines(dj-action.txt) ) {
var %djs = $addtok(%djs,$+($chr(2),$base(%x,10,10,2),º,$chr(2)) $read(dj-action.txt,%x) - ,32)
inc %x
}
}
msg # Emitiendo - %djs
}
}Aquí está el código con nivel de usuario, agrega los usuarios /auser 21 Apodo que quieras que puedan usar los comandos !turno y !borrar, también debes cambiar #Channel por tu canal, con respecto al los else if me parece mas rápido así, un ejemplo :
If comando !turno
Elseif comando !borrar
Else comando !lista
Si yo busco !lista espero que pase por las tres comparaciones, si uso if las puedo obviar , no es lo mismo que si tuviera más comparaciones dentro de un comando, por ejemplo en !borrar
if $strip($1) = !borrar {
if ( !$lines(dj-action.txt) ) { msg # Lista vacía | return }
elseif ( $strip($2) !isnum ) { msg # Sintaxis: $+($chr(2),!borrar <Nº>) }
else { write $+(-dl,$2) dj-action.txt }
}
}
Y lo de "hacer el strip() sólo una vez guardando el resultado en una variable" no lo entendí, si me ayudas lo corrijo, o lo corrigen, no me ofendería para nada, es más, me gusta aprender