Autor Tema: Avise en privado los moderadores y su tiempo de ausencia (con la @ puesta)  (Leído 5090 veces)

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

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola.

Llevo tiempo intentando que cuando un usuario ponga Moderadores en privado, les salte los moderadores que están activos y su tiempo de ausencia, pero no se porque, pero no me lo suelta:

Código: [Seleccionar]
alias tiempoAusente {
  return $replace($1-,sec,$chr(160) $+ segundo,secs,$chr(160) $+ segundos,min,$chr(160) $+ minuto,mins,$chr(160) $+ minutos,hr,$chr(160) $+ hora,hrs,$chr(160) $+ horas,day,$chr(160) $+ día,days,$chr(160) $+ días,wk,$chr(160) $+ semana,wks,$chr(160) $+ semanas)
}

on 1:text:*:?: {
if ($level($nick) == 1) {
if ($strip($1) == moderadores) {
    set %nickInfoIdles $nick
    set %idleON $true
    var %nickident = ( $address )
    var %cuentaOpers = 1
    while (%cuentaOpers <= $opnick(#tarragona,*)) {
      whois $opnick(#tarragona,%cuentaOpers)
      inc %cuentaOpers
    }
      set %ultimoNick $opnick(#tarraona,%cuentaOpers)
  }
}
}
raw 317:*: {
  if (%idleON == $true) {
     msg %nickInfoIdles  $+ $2  %nickident - Inactivo: $tiempoausente($duration($3))
     msg %nickInfoidles puedes abrirle privado a cualquiera de ellos mediante privado
     msg %nickInfoidles el comando es /query <nick> (Ejemplo: /query S )
    if ($2 == %ultimoNick) { set %idleON $false }
  }
}

Un saludo y muchas gracias!

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola de nuevo creo que no me explique bien.

Uso estos 2 addones.

En primer lugar un ANTI-IDLE que hace un whois a un moderador pasando un tiempo y si sobrepasa el tiempo de ausencia bajarlo.

Código: [Seleccionar]
on 1:connect: {
  set %canalOPs #tarragona
  set %tiempoIdle 1800
  timerCompruebaInactividad 0 900 WhoisAuto
}

alias WhoisAuto {
  var %cuentaOpers = 1
  while (%cuentaOpers <= $nick(%canalOPs,0,o)) {
    var %nickOper = $nick(%canalOPs,%cuentaOpers,o)
    if ($+(%nickOper,!*@*) !isignore) {
      if ((%nickOper !iswm $me) && (%nickOper !iswm rayco) && (%nickOper !iswm Win-Stats) && (%nickOper !iswm IrcGuarD)) {
        whois %nickOper
      }
    }
    inc %cuentaOpers
  }
}

raw 317:*: {
  if ($3 > %tiempoIdle) {
    mode %canalOPs -o $2 | msg #tarragona_deb Deopea a4 $2 por ausente
  }
}

Y ahora tengo este, que es para que los usuarios miren que moderadores están activos y cual es su tiempo de inactividad:

Código: [Seleccionar]
alias tiempoAusente {
  return $replace($1-,sec,$chr(160) $+ segundo,secs,$chr(160) $+ segundos,min,$chr(160) $+ minuto,mins,$chr(160) $+ minutos,hr,$chr(160) $+ hora,hrs,$chr(160) $+ horas,day,$chr(160) $+ día,days,$chr(160) $+ días,wk,$chr(160) $+ semana,wks,$chr(160) $+ semanas)
}

on 1:text:*:?: {
if ($level($nick) == 1) {
if ($strip($1) == moderadores) {
    set %nickInfoIdles $nick
    set %idleON $true
    var %nickident = ( $address )
    var %cuentaOpers = 1
    while (%cuentaOpers <= $opnick(#tarragona,*)) {
      whois $opnick(#tarragona,%cuentaOpers)
      inc %cuentaOpers
    }
      set %ultimoNick $opnick(#tarraona,%cuentaOpers)
  }
}
}
raw 317:*: {
  if (%idleON == $true) {
     msg %nickInfoIdles  $+ $2  %nickident - Inactivo: $tiempoausente($duration($3))
     msg %nickInfoidles puedes abrirle privado a cualquiera de ellos mediante privado
     msg %nickInfoidles el comando es /query <nick> (Ejemplo: /query S )
    if ($2 == %ultimoNick) { set %idleON $false }
  }
}

El problema es que algo deben coincidir ambos addons, que si pone el usuario "Moderadores" no le va a soltar los moderadores que hay y su inactividad hasta que el primero haga un whois a los moderadores.

¿Es posible que cuando ponga MODERADORES, haga el whois del tirón sin interferir en el addon de arriba?

¡Gracias!

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
Aquí esta corregido y funcionando:

Código: [Seleccionar]
on *:connect: {
  set %canalOPs #tarragona
  set %canalDebug #tarragona_deb
  set %tiempoIdle 1800
  timerCompruebaInactividad 0 900 WhoisAuto
}
on *:text:*:?: {
  if ($strip($1) == moderadores) {
    set %nickInfoIdles $nick
    set %idleON 1
    var %cuentaOpers = 1
    set %ultimoNick $opnick(%canalOPs,0)
    set %ultimoNick $opnick(%canalOPs,%ultimoNick)
    while (%cuentaOpers <= $opnick(%canalOPs,0)) {
      var %nickOper = $opnick(%canalOPs,%cuentaOpers)
      whois %nickOper %nickOper
      inc %cuentaOpers
    }
  }
}

alias WhoisAuto {
  var %cuentaOpers = 1
  while (%cuentaOpers <= $opnick(%canalOPs,0)) {
    var %nickOper = $opnick(%canalOPs,%cuentaOpers)
    if ($+(%nickOper,!*@*) !isignore) && (%nickOper !iswm $me) && (%nickOper !iswm rayco) && (%nickOper !iswm Win-Stats) && (%nickOper !iswm IrcGuarD) {
      whois %nickOper %nickOper
    }
    inc %cuentaOpers
  }
}

raw 317:*: {
  if (%idleON) {
    msg %nickInfoIdles  $+ $2  %nickident - Inactivo: $tiempoausente($duration($3))
    msg %nickInfoidles puedes abrirle privado a cualquiera de ellos mediante el comando /query $2
    if ($2 == %ultimoNick) { unset %idleON | unset %nickInfoIdles | unset %ultimoNick | halt }
  }
  if (!%idleON) && ($3 > %tiempoIdle) {
    mode %canalOPs -o $2 | msg %canalDebug Deopea a4 $2 por ausente
  }
}

alias tiempoAusente {
  return $replace($1-,sec,$chr(160) $+ segundo,secs,$chr(160) $+ segundos,min,$chr(160) $+ minuto,mins,$chr(160) $+ minutos,hr,$chr(160) $+ hora,hrs,$chr(160) $+ horas,day,$chr(160) $+ día,days,$chr(160) $+ días,wk,$chr(160) $+ semana,wks,$chr(160) $+ semanas)
}
« última modificación: Mayo 11, 2020, 06:12:52 pm por Cadaver »

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola Cadaver muchas gracias por responder

Una cosita si no es mucho pedir.

¿Los nicks que están en ignore, cuando pongas "moderadores", los puede excluir?

¿Y se puede poner que si un usuario pone "Moderadores" ignore al usuario 300s?

Muchísimas gracias!
« última modificación: Mayo 11, 2020, 08:57:52 pm por rayco »

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
Aquí esta:

Código: [Seleccionar]
on *:connect: {
  set %canalOPs #tarragona
  set %canalDebug #tarragona_deb
  set %tiempoIdle 1800
  timerCompruebaInactividad 0 900 WhoisAuto
}
on *:text:*:?: {
  if ($strip($1) == moderadores) {
    set %nickInfoIdles $nick
    set %idleON 1
    set %ultimoNick $opnick(%canalOPs,0)
    set %ultimoNick $opnick(%canalOPs,%ultimoNick)
    WhoisAuto
    ignore -pu300 $address($nick,2)
  }
}

alias WhoisAuto {
  var %cuentaOpers = 1
  while (%cuentaOpers <= $opnick(%canalOPs,0)) {
    var %nickOper = $opnick(%canalOPs,%cuentaOpers)
    if ($+(%nickOper,!*@*) !isignore) && (%nickOper !iswm $me) && (%nickOper !iswm rayco) && (%nickOper !iswm Win-Stats) && (%nickOper !iswm IrcGuarD) {
      whois %nickOper %nickOper
    }
    inc %cuentaOpers
  }
}

raw 317:*: {
  if (%idleON) {
    msg %nickInfoIdles  $+ $2  %nickident - Inactivo: $tiempoausente($duration($3))
    msg %nickInfoidles puedes abrirle privado a cualquiera de ellos mediante el comando /query $2
    if ($2 == %ultimoNick) { unset %idleON | unset %nickInfoIdles | unset %ultimoNick | halt }
  }
  if (!%idleON) && ($3 > %tiempoIdle) {
    mode %canalOPs -o $2 | msg %canalDebug Deopea a4 $2 por ausente
  }
}

alias tiempoAusente {
  return $replace($1-,sec,$chr(160) $+ segundo,secs,$chr(160) $+ segundos,min,$chr(160) $+ minuto,mins,$chr(160) $+ minutos,hr,$chr(160) $+ hora,hrs,$chr(160) $+ horas,day,$chr(160) $+ día,days,$chr(160) $+ días,wk,$chr(160) $+ semana,wks,$chr(160) $+ semanas)
}

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola Cadaver sale todo casi perfecto.

Cuando pongo con un nick los moderadores del canal, le sale la actividad del mismo usuario que lo solicita.

Código: [Seleccionar]
22:15 ?                               rayco Moderadores
22:15                     S> rayco  - Inactivo: 1Â segundo
22:15                     S> puedes abrirle privado a cualquiera de ellos mediante el comando /query rayco
22:15                     S> CuLeBRa  - Inactivo: 13Â segundos
22:15                     S> puedes abrirle privado a cualquiera de ellos mediante el comando /query CuLeBRa

Un saludo y muchísimas gracias

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
A mi me funciona.

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola Cadaver

Si funcionar funciona, solo que el nick que quiere mirar los moderadores del canal le sale también su inactividad.

Porque en el anterior, no salia el nick cuando ponía "moderadores" no salia
« última modificación: Mayo 12, 2020, 12:35:38 am por rayco »

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
No se que es lo que quieras pero es funcional, no mostrara ni quitara op si se cumple cualquiera de lo siguiente:

Código: [Seleccionar]
if ($+(%nickOper,!*@*) !isignore) && (%nickOper !iswm $me) && (%nickOper !iswm rayco) && (%nickOper !iswm Win-Stats) && (%nickOper !iswm IrcGuarD)

Hay cosas que yo le agregue por ejemplo:

Código: [Seleccionar]
22:15                     S> puedes abrirle privado a cualquiera de ellos mediante el comando /query CuLeBRa

Ya que es mas funcional mostrarle el comando directo sin tanto rodeo como aparecía anteriormente el comando es /query <nick> (Ejemplo: /query S ), el script funciona como debe de ser, ya tu puedes agregarle o quitarle lo que quieras.

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola Cadaver si el script funciona perfectamente.

Pero cunado usuario va mirar los moderadores activo también sale SU inactividad.

que en el anterior código que me pusiste, no salia el idle del usuario que lo solicitaba, por lo demás funciona perfectamente.

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
A mi no me aparece lo que comentas ya hice pruebas y funciona como debe de ser.

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 64
  • Karma: +1/-66
Hola Cadaver.

Era un problema del mirc donde tengo alojado el bot, que tenia activado el "whois query" en las opciones del mirc

¡Muchas gracias!

PD: Voto para ti

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 95
  • Karma: +134/-3
  • Sexo: Masculino
    • ElChatIRC.com
De nada.  8)

 

anything