Autor Tema: como bloquear mensajes pv  (Leído 1423 veces)

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

Desconectado patorejo

  • Novato
  • *
  • Mensajes: 27
  • Karma: +0/-1
como bloquear mensajes pv
« en: Febrero 02, 2011, 02:09:46 am »
en el ircap,ay una opcion de bloquear los mensajes privados pero siempre poniendo la misma frase,ahora tengo una duda quisiera saber si ay la posibilidad de que en vez de poner una sola frase fija, habria como poner un tipo script por ejemplo se puede poner un script que cuando llega la frase hola se conteste automaticamente hola como estas, la duda q tengo es si se puede es que no salga la ventanita como cuando llega un mensaje privado,si no que salga solo en el status pero que igual responda a los privados que me mandan

por ejemplo en el script seria algo asi

on 1:TEXT:*hola*:?: /msg $nick hola $nick
on 1:TEXT:*como estas*:?: /msg $nick a bien bien,pero mira no estoy ahora en el chat


pero el problema es que al llegar un mensaje privado se abre una ventanita, pero cuando uno pone la opcion de bloquear pv en el ircap no se abre ninguna ventanita solo sale en el status

ay alguna manera de hacer que no se me habran ventanitas cuando me llega un pv,pero igual los responda variando la respuesta segun la pregunta.

No se si me di a entender,espero q si  cualquier ayuda se les agradece =)

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 371
  • Karma: +10/-0
  • Sexo: Masculino
Re: como bloquear mensajes pv
« Respuesta #1 en: Febrero 02, 2011, 08:40:41 pm »
Debes usar un evento ON OPEN que se active al abrir una ventana y prefijar el evento con ^ para detenerla. Algo así:

on ^1:open:?: {
  if  ( hola isin $1- ) { msg $nick hola $nick  } 
  if ( como estas isin $1- ) { msg $nick ah! bien bien, pero mira no estoy ahora en el chat }
  else { echo -s Intento de query de $nick sin respuesta automática }
  halt
}


Saludos

Desconectado patorejo

  • Novato
  • *
  • Mensajes: 27
  • Karma: +0/-1
Re: como bloquear mensajes pv
« Respuesta #2 en: Febrero 03, 2011, 02:41:24 am »
hola antes q nada gracias por responderme, el codigo esta muy bien lo malo es que limita mucho a que la respuesta sea solo si se dice esa frase en concreto, por q segun estuve viendo no  pude usar como en el script el asterisco *hola* asi no necesesariamente tiene q ser la palabra justa para que de la reespuesta

si lo pongo de esta manera no me funciona

on ^1:open:*como estas*:?: /msg $nick ah! bien bien, pero mira no estoy ahora en el chat

si lo pongo de esta forma

on *:OPEN:?: msg $nick No estoy....

lo q hace es q es que cualquier solo salga la reespuesta una vez,pero igual se abre la ventanita del pv

pero quisiera saber si ay como poner en el codigo q me diste,usar los asteriscos 

on ^1:open:?: {
  if  ( hola isin $1- ) { msg $nick hola $nick  }
  if ( como estas isin $1- ) { msg $nick ah! bien bien, pero mira no estoy ahora en el chat }
  else { echo -s Intento de query de $nick sin respuesta automática }
  halt
}



Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 371
  • Karma: +10/-0
  • Sexo: Masculino
Re: como bloquear mensajes pv
« Respuesta #3 en: Febrero 03, 2011, 03:33:54 pm »
No es correcto lo que afirmas. Te explico:

Dentro del if-then-else estamos usando el comparador isin en un formato (C1 isin C2). Este comparador funciona de forma que si la cadena C1 está en (is in) C2 dispara el evento. Lo que tu dices sucedería si usáramos (C1 == C2) que solo funcionaria si C1 es igual a C2.

Ejemplos: (hola isin $1-) se disparará con reholas, hola que tal?, pochola,...

Prueba y me comentas. Saludos.

patore0

  • Visitante
Re: como bloquear mensajes pv
« Respuesta #4 en: Febrero 04, 2011, 06:17:59 am »
si tienes razon , estaba equivocado pero igual es mas limitado usar el isin a usar  los comodines como el * no ay alguna forma de hacerlo pero sin dejar de usar el *, y &

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 371
  • Karma: +10/-0
  • Sexo: Masculino
Re: como bloquear mensajes pv
« Respuesta #5 en: Febrero 04, 2011, 07:32:59 am »
Va a funcionar igual, pero puedes usar el operador iswn así:

 if  ( *hola* iswm $1- ) { msg $nick hola $nick  } 

Saludos.

patorej0

  • Visitante
Re: como bloquear mensajes pv
« Respuesta #6 en: Febrero 04, 2011, 05:57:20 pm »
mm parece que vos sabes mucho del tema, primero q nada gracias por interesate en mi pregunta
lo q vos me dices esta superbien pero ahora como seria para que al poner hola ,solo coja esa palabra y de una respuesta, no que coja todas las palabras que contengan la palabra hola,

por que asi como me decis si pongo pochola  como contiene la palabra hola arrojara la respuesta

ay manera q la respuesta se de solo usando una palabra en concreto


Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 371
  • Karma: +10/-0
  • Sexo: Masculino
Re: como bloquear mensajes pv
« Respuesta #7 en: Febrero 04, 2011, 09:38:11 pm »
Podríamos añadir espacios a los comodines. Así * hola * para que se compare palabras enteras. El problema está cuando la palabra va al principio de la frase, o $1- es una sola palabra. La solución es "trocear" $1- utilizando el espacio como separador de trozos. (Recordamos que el valor ascii del espacio es 32). El script de mIRC dispone de identificadores para detectar trozos llamados tokkens y es lo que vamos a utilizar. Sería algo así:

on ^1:open:?: {
  if  ( $istok($1-,hola,32) ) { msg $nick hola $nick  } 
  elseif ( $istok($1-,adios,32) ) { msg $nick chao $nick vuelve pronto  }
  elseif ( $istok($1-,estas,32) ) { msg $nick bien $nick pero ahora estoy ocupado  }
  else { echo -s Intento de query de $nick sin respuesta automática }
  halt
}



La dificultad está en que no podemos incluir como antes mas de una palabra en en el if pero siempre puedes incluir la palabra mas significativa.

Saludos.

Desconectado Lokiyo

  • Administrador
  • Miembro Senior
  • *****
  • Mensajes: 491
  • Karma: +12/-0
  • Sexo: Masculino
    • El revoltijo de Lokiyo
Re: como bloquear mensajes pv
« Respuesta #8 en: Febrero 07, 2011, 12:34:16 am »
¡¡Menuda clase de scripting!!

Buen curro Red_Erik ;)

 

anything