IRC - enviar un mensaje a usuarios que tengan en su nick una palabra clave

 
Vista:

enviar un mensaje a usuarios que tengan en su nick una palabra clave

Publicado por carlos j (1 intervención) el 08/11/2016 06:07:03
Hola yo quiero hacer un comando que cuando lo ejecute con / le envie un mensaje a los nick que tengan una palabra clave y ademas de esto pues si es posible crear varias palabras claves por ejemplo maria, camila y así saludar a todos los usuarios que tengan de nombre maria o de nombre camila , no sé si me hago entender
y que cuando lo vuelva a ejecutar no le envie otra vez el mensaje a los mismos sino a otros nuevos que no les haya enviado oprque no estaban conectados si hay , espero haberme hecho entender
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 11
Ha mantenido su posición en IRC (en relación al último mes)
Gráfica de IRC

enviar un mensaje a usuarios que tengan en su nick una palabra clave

Publicado por Royeth (4 intervenciones) el 08/11/2016 17:49:52
Carlos para esto necesitas varios requerimientos , si deseas tener varias palabras claves que puedas ir modificando y cambiando o agregando a tu gusto , entonces te recomiendo que crees un documento de texto con las palabras claves , por ejemplo si quieres enviarle un mensaje a todos los que tengan en su nick : maria o camila o ana
esto lo guardas en la carpeta de tu irc
claves.txt
maria
camila
ana

una vez tengas este documento crea un alias que te indique si un nick es apto o no o sea si el nick contiene alguna de estas palabras claves , sería así :

1
2
3
4
5
6
7
8
9
10
11
/apto  {
  var %linea = 1
  var %apto false
  while (%linea <= $lines(claves.txt)) {
    if ($read(claves.txt ,%linea) isin $$1) {
      var %apto true
    }
    inc %linea
  }
  return %apto
}

y además de esto debes crear otro alias para que te indique si tienes una ventana activa con este usuario de tal forma que no estés mandandole el mensaje a un usuario que ya tienes activo :

1
2
3
4
5
6
7
8
9
10
11
/esactivo {
  var %i 1
  var %ii false
  while (%i <= $query(0)) {
    if ($$1 == $query(%i)) {
      var %ii true
    }
    inc %i
  }
  return %ii
}


con estos dos alias ya podemos fácilmente hacer tu requerimiento en otro alias :

1
2
3
4
5
6
7
8
9
10
11
12
/mandar {
  var %linea = 1
  while (%linea <= $nick(#$$1,0)) {
    var %nombre = $nick($$1,%linea)
    if ($apto(%nombre) == true) && ($esactivo(%nombre) == false)  {
      query %nombre
      msg %nombre hola como estas
    }
    inc %linea
  }
  echo -a operacion terminada
}


para ejecutarlo en cualquier ventana de comando escribes por ejemplo /mandar saladechat
y a todos los usuarios que estén en el canal saladechat o en el canal que le coloques , que tengan tus palabras claves y que no tengas ya una conversación abierta con ellos les llegará un mensaje Hola como estás

espero te sea de ayuda

JESUS DAVID ARIZA ROYETH
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar