Autor Tema: scriptando un Whois  (Leído 1304 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado [[_Espartano_]]

  • Novato
  • *
  • Mensajes: 12
  • Karma: +1/-0
  • Sexo: Masculino
scriptando un Whois
« en: Junio 22, 2010, 01:27:37 am »
hola me gustaria que me ayudaran con mi whois personalizado que quiero hacer para cambiar un poco el aspecto que trae el del ircap. quiero saber como poner el ident, el pais, los canales y si esta registrado o no he hecho un poco el codigo pero es bastante "primitivo"


menu nicklist {
  Whois a $2 $1 :{
    echo -a $gettok($time,1-2,58)  _ _[ $2 $1 ]--•
    echo -a $gettok($time,1-2,58) |---› Host       : @ $+ $remove($address($1,2),*!*@)
    echo -a $gettok($time,1-2,58) |---> Pais       :
    echo -a $gettok($time,1-2,58) |---› Ident       :
    echo -a $gettok($time,1-2,58) |---› Fullname  : $fullname 
    echo -a $gettok($time,1-2,58) |---› Canales   :  
    echo -a $gettok($time,1-2,58) |---› Servidor   : $server 
    echo -a $gettok($time,1-2,58) |---› +info?      : $2 $1 es un nick registrado | NO esta registrado (Segun corresponda)
    echo -a $gettok($time,1-2,58) |---› Conectado: $duration($online) 
    echo -a $gettok($time,1-2,58) |---> Inactivo   : $duration($idle)
    echo -a $gettok($time,1-2,58)  ¯°--------------------------------------------------------------------------------•
  }

ojala puedan ayudarme. de ante mano muchas gracias

Desconectado [[_Espartano_]]

  • Novato
  • *
  • Mensajes: 12
  • Karma: +1/-0
  • Sexo: Masculino
Re: scriptando un Whois
« Respuesta #1 en: Junio 27, 2010, 01:45:31 am »
nadie puede ayudarme un poco ???

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 371
  • Karma: +10/-0
  • Sexo: Masculino
Re: scriptando un Whois
« Respuesta #2 en: Junio 27, 2010, 11:06:34 am »
Tienes que hacer uso de raws. Aquí te pongo algunas que te puedan servir y sus respuestas:

Raw 311 -> $2 = nick ; $3 = identd ; $4 = host
Raw 317 -> $3 = idle ; $4 = tiempo de conexión
Raw 319 -> $3 = primer canal ; $4 = segundo canal ; ($3- = todos los canales )
Raw 312 -> $3 = Servidor ; $4 = mas info servidor
Raw 313 -> $1- = si es IRC operator
Raw 318 -> fin del whois


Crea eventos raw para mostrar o asignar info a variables. Así:

raw 311:*: {
echo $3 ...
}

Para ver números raw puedes usar el identificador $numeric.
$idle da Tu tiempo sin mandar paquetes al server.
$online no te sirve. Da tiempo en marcha de los timers.




Desconectado [[_Espartano_]]

  • Novato
  • *
  • Mensajes: 12
  • Karma: +1/-0
  • Sexo: Masculino
Re: scriptando un Whois
« Respuesta #3 en: Julio 05, 2010, 09:45:06 am »
cuando coloco los raw me arroja error de comando desconocido..... cual es la forma correcta de hacerlo segun el script que tengo aca ????? gracias por su ayuda.

Desconectado Lokiyo

  • Administrador
  • Miembro Senior
  • *****
  • Mensajes: 491
  • Karma: +12/-0
  • Sexo: Masculino
    • El revoltijo de Lokiyo
Re: scriptando un Whois
« Respuesta #4 en: Julio 05, 2010, 10:34:22 pm »
Lo tienes que meter en un fichero de remote.

Desconectado mOX

  • Novato
  • *
  • Mensajes: 20
  • Karma: +1/-1
  • Sexo: Masculino
  • Ninguno
    • Trivias y más trivias
Re: scriptando un Whois
« Respuesta #5 en: Agosto 27, 2010, 01:11:55 am »
Acá te dejo los RAWS completos, con eso podrás armar un whois a tu medida.

menu nicklist {
  Whois: whois $1
}
raw *:*:{
  haltdef
  if $istok(301 307 310 311 312 313 317 318 319 431,$event,32) {
    if $event = 301 { echo -a raw 301:*: $2 esta ausente, razon: $3- }
    if $event = 307 { echo -a raw 307:*: $2 es un apodo registrado }
    if $event = 310 { echo -a raw 310:*: $1 Ayudante o operador de IRC. }
    if $event = 311 { echo -a raw 311:*: $2 $+($3,@,$4) * $6- }
    if $event = 312 { echo -a raw 312:*: servidor: $3 info: $4- }
    if $event = 313 { echo -a raw 313:*: $1 es un Operador de IRC }
    if $event = 317 { echo -a raw 317:*: idle: $duration($3) Tiempo conectado: $duration($calc($ctime - $4)) }
    if $event = 318 { echo -a raw 318:*: Fin del /WHOIS list }
    if $event = 319 { echo -a raw 319:*: canales: $3- }
    if $event = 431 { echo -a raw 431:*: No se encontro el apodo }
  }
}

Puedes usar $asctime(HH:nn) en vez de $gettok($time,1-2,58) , trata de no juntar un identificador con un control de color/negrita/subrayado/texto, los identificadores deben estar totalmente liberados, en todo caso puedes usar $+ para juntarlos con texto o lo que fuese, por ejemplo, más arriba tienes $gettok($time,1-2,58) en ese caso tienes que usar  $+ $gettok($time,1-2,58) , espero que te sirva de ayuda, en todo caso no dudes en preguntar, siempre alguien puede ayudar.
-Saludos-