Autor Tema: Poner el W segun su ipvirtual  (Leído 1928 veces)

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

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +13/-4
Poner el W segun su ipvirtual
« en: Junio 17, 2020, 09:28:07 pm »
Hola.

Hay un tema parecido pero al no ser igual he querido poner en un nuevo tema.

Tengo a un pesado en el canal, que al parecer repite parte de una ipvirtual pero lo demás es exactamente igual.
Me gustaría que cuando entrara alguien con esa ipvirtual se active el modo W pero en cambio si sale un usuario del canal o desconecta automáticamente quite el W.

Código: [Seleccionar]
on *:JOIN:#vigo:{
   if ((hQSK04 isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    mode $chan +W | ; msg #vigo_ops Se ha puesto el W
  }
}

on *:PART:#vigo:{
   if ((hQSK04 isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    mode $chan -W | ; msg #vigo_ops Se ha quitado el W
}
}

on *:QUIT:#vigo:{
   if ((hQSK04 isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    mode $chan -W | ; msg #vigo_ops Se ha quitado el W
  }
}

Pero cuando lo activo me sale constantemente:

Código: [Seleccionar]
#vigo:{ Unknown command
¡Gracias!

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 154
  • Karma: +219/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Poner el W segun su ipvirtual
« Respuesta #1 en: Junio 17, 2020, 09:46:07 pm »
el problema es el evento de quit
la sintaxis es
ON <nivel>:QUIT:<comandos>

el evento QUIT es uno donde no se puede especificar el canal, así como en el evento de NICK, se tiene que usar forzosamente una comparación si el nick que sale o es cambiado esta en el un canal predefinido con ison $chan

Código: [Seleccionar]
on *:QUIT:{
   if ((hQSK04 isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode) && ($nick ison #vigo)) {
    mode $chan -W | ; msg #vigo_ops Se ha quitado el W
  }
}
« última modificación: Junio 17, 2020, 10:09:45 pm por Quetzalcoatl »

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +13/-4
Re:Poner el W segun su ipvirtual
« Respuesta #2 en: Junio 17, 2020, 10:01:12 pm »
Hola Quetzcoatl

¿Y cómo podría hacerlo?

Es que forzar comparación con el nick o en este caso con la ipvirtual no se hacerlo :(

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +13/-4
Re:Poner el W segun su ipvirtual
« Respuesta #3 en: Junio 22, 2020, 09:43:48 pm »
Hola.

No había visto que editaste el mensaje, disculpame.

¡Muchas gracias!

Voy a probarlo :P

PD: Voto para ti

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +13/-4
Re:Poner el W segun su ipvirtual
« Respuesta #4 en: Junio 26, 2020, 08:16:33 pm »
Hola.

Perdón por la tardanza, me funciona perfectamente, muchas gracias :D

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 154
  • Karma: +219/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Poner el W segun su ipvirtual
« Respuesta #5 en: Junio 26, 2020, 08:49:23 pm »
Me da gusto saberlo  :)
Saludos Hanna

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
Re:Poner el W segun su ipvirtual
« Respuesta #6 en: Junio 27, 2020, 06:21:43 pm »
LOVE IS IN THE AIR!

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 29
  • Karma: +1/-5
Re:Poner el W segun su ipvirtual
« Respuesta #7 en: Junio 29, 2020, 09:26:59 am »
Buenas noches.

¿Es posible hacer que se active el W según su realname?

Y si es, cómo sería?

Gracias!!!!

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 154
  • Karma: +219/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Poner el W segun su ipvirtual
« Respuesta #8 en: Junio 29, 2020, 05:14:48 pm »
Hola GyK

En relacion a lo que preguntas, es posible agregando un /who al nick que entre, en este caso tomando el ejemplo de codigo que se propuso por Hanna seria:
on *:JOIN:#vigo:{ who $nick
....aqui va el codigo original
....aqui va el codigo original
}
Esto lanzaria un who a todo nick que entre en #vigo, y por medio del raw 352 obtendriamos los datos completos del nick excepto el canal en el que se encuentra, por lo que se debera especificar el canal en una variable llamada %canal o cualquier tipo de identificador que sea comodo de usar y quedaria algo como:
Código: [Seleccionar]
raw 352:*:{
var %canal #vigo
if ($6 !isin %canal) { return }
if ((hQSK04 isin $9-) && ($me isop %canal) && ($chr(87) !isin $chan( $+ %canal $+ ).mode)) {
 mode $chan +W | msg $+(%canal,_ops) Se ha puesto el W debido a $6 fullname no permitido $9-
 }
}

la parte del if que compara hQSK04 con $9, obviamente se debe cambiar hQSK04, por la palabra a sancionar.

No he probado el código, pero la idea basica, es esa.

Saludo.
« última modificación: Junio 29, 2020, 05:21:07 pm por Quetzalcoatl »

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 29
  • Karma: +1/-5
Re:Poner el W segun su ipvirtual
« Respuesta #9 en: Julio 01, 2020, 09:57:17 pm »
Buenos días.

Muchisimas gracias, excelente código, pero tengo una pregunta.

Si quiero que se active con toda palabra que contenga *kiwiirc*

Y lo he probado y no pone el modo cuando alguien entra con esa parte en la fullname

Código: [Seleccionar]
raw 352:*:{
var %canal #vigo
if ($6 !isin %canal) { return }
if (( *kiwiirc* $9-) && ($me isop %canal) && ($chr(87) !isin $chan( $+ %canal $+ ).mode)) {
 mode $chan +W | ; msg $+(%canal,_ops) Se ha puesto el W debido a $6 fullname no permitido $9-
 timerkiwiirc 0 100 mode $chan -W
 }
}

¡Gracias!!!!!
« última modificación: Julio 01, 2020, 10:03:40 pm por Gyk »

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 154
  • Karma: +219/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Poner el W segun su ipvirtual
« Respuesta #10 en: Julio 01, 2020, 10:07:41 pm »
creo que ya, lo habían preguntado antes en otro post, pero el * dentro de una if no lo toma como comodines, debido a eso esta el isin, si le quitas  los asteriscos te debe funcionar.

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 29
  • Karma: +1/-5
Re:Poner el W segun su ipvirtual
« Respuesta #11 en: Julio 01, 2020, 11:04:36 pm »
Hola.

¡Gracias por responder!

Pero si pongo solo kiwiirc y la fullname es: [http://kiwiirc.com]

¿Funcionaria?

¡Gracias!

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 154
  • Karma: +219/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Poner el W segun su ipvirtual
« Respuesta #12 en: Julio 01, 2020, 11:24:23 pm »
si por que isin = es en es un operador de comparacion si una palabra y/o conjuntos de caracteres estan en él
ejemplo si tenemos a %x y a %Y y usamos

if (%x isin %y) { echo -s la condición es verdadera }
o //echo -s $iif(%x isin %y,cierto,falso)
donde los valores pudieran ser x =1 y Y= 100, solo compara el 1 si lo contiene 100, y donde si se admiten comodines( ya sea * o ?) es cuando lleven  iswm e iswmcs ya que es para casos mas sensibles pudiendo separar mayúsculas o minúsculas.

saludos

Pd: todo esto y mas se puedes encontrar en el manual de ayuda en la seccione de operadores lógicos

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 29
  • Karma: +1/-5
Re:Poner el W segun su ipvirtual
« Respuesta #13 en: Julio 02, 2020, 11:28:33 pm »
Hola.

¡Muchisimas gracias!!!!  ;D ;D ;D

PD: Voto para ti  :P

 

anything