Autor Tema: Anti-IDLE  (Leído 788 veces)

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

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 91
  • Karma: +14/-8
Anti-IDLE
« en: Septiembre 06, 2021, 01:31:08 pm »
Buenas tardes.

Os cuento tengo un addon, que cuando un moderador tiene un idle mayor a 600 segundos, el mismo bot lo baja del canal, pero también tiene la opción desde el privado mire los usuarios cuanto idle tiene el moderador en cuestión, lo que ocurre que de un parte a este tiempo el bot no baja al moderador que supere ese tiempo, pero también me he fijado que cuando hace el whois también le sale el mensaje del whois con su idle (pero no lo baja) y el mensaje cuando le abres privado al bot y todo el rato con el nick que lo hizo la última "el usuario no está conectado" (el usuario que hizo la petición).

Dejo aquí el código, a ver si me podéis arreglar, gracias.

Código: [Seleccionar]
on *:connect: {
  set %canalOPs #vizcaya
  set %canalDebug #vizcaya_ops
  set %tiempoIdle 600
  timerCompruebaInactividad 0 600 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 Hanna) && (%nickOper !iswm Pantera) && (%nickOper !iswm IrcGuarD) {
      whois %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 Bajo a1 $2  por ausente (600s)
  }
}

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)
}

Muchisimas gracias!


Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 91
  • Karma: +14/-8
Re:Anti-IDLE
« Respuesta #1 en: Septiembre 06, 2021, 10:28:15 pm »
Hola de nuevo, se me olvidó decir que este código lo hizo Cadaver, que lo vi aquí en una ayuda y me gusto la idea, pero me pasa eso que comente en el mensaje de arriba.

Desconectado Cadaver

  • Miembro de pleno derecho
  • ***
  • Mensajes: 130
  • Karma: +153/-3
  • Sexo: Masculino
Re:Anti-IDLE
« Respuesta #2 en: Septiembre 11, 2021, 07:32:19 pm »
Probado y sin errores encontrados.

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 91
  • Karma: +14/-8
Re:Anti-IDLE
« Respuesta #3 en: Septiembre 13, 2021, 02:17:31 am »
Hola de nuevo.

Pues lo he vuelto a probar en un mirc solo sin nada, y no me baja al moderador, el whois lo hace, pero a la hora de bajarlo no lo hace, después de cumplir los 600 segundos inactivo.


Desconectado Cadaver

  • Miembro de pleno derecho
  • ***
  • Mensajes: 130
  • Karma: +153/-3
  • Sexo: Masculino
Re:Anti-IDLE
« Respuesta #4 en: Septiembre 15, 2021, 11:25:01 pm »
No me falla, no se a que se deba tu problema.  ::)

 

anything