Project

General

Profile

online/offline checker

Added by Q Steinberg 24 days ago

You have this brilliant option on AdiIRC that displays a message alert when the person I'm chatting with (in private) goes offline.

However, there's a script that shows an alert when the user I'm chatting with goes offline and another alert message when they come back online (also displays in private window). But it's not working with AdiIRC.

All I need from this script is the "online message alert" when the user is back on chat. Hope there's a way to make it work.

/*
[Addon]
Script=Checks if Query nick is still online
Version=1
Author=pball
Desc=This script echos a message to a query window if that nick goes offline while the window is open
For=Mirc
Date=3-25-11

[script]
/
on *:open:?:
:{
set $+(,ison_,$network) $addtok($($+(,ison_,$network),2),$nick,5)
if (!$timer($network)) .timerison_ $+ $network 0 30 isonchk
}

on *:ACTIVE:?:{
set $+(,ison_,$network) $addtok($($+(,ison_,$network),2),$target,5)
if (!$timer($network)) .timerison_ $+ $network 0 30 isonchk
}

alias isonchk {
set -l num 1
while ($gettok($($+(
,ison_,$network),2),%num,5)) {
if (!$query($gettok($($+(,ison_,$network),2),%num,5))) set $+(,ison_,$network) $remtok($($+(,ison_,$network),2),$gettok($($+(,ison_,$network),2),%num,5),1,5)
inc num
}
if (!$($+(
,ison_,$network),2)) { .timerison_ $+ $network off | halt }
set $+(,isonchk_,$network) 1
ison $replace($($+(
,ison_,$network),2),$chr(5),$chr(32))
}

on *:close:?: {
set $+(,ison_,$network) $remtok($($+(,ison_,$network),2),$nick,1,5)
if ($($+(,ison_,$network),2) == $null) .timerison_ $+ $network off
if ($($+(
,ison_,$network,$nick),2)) unset $+(%,ison_,$network,$nick)
}

raw 303:*:{
if ($($+(,isonchk_,$network),2)) {
set l %num 1
while ($gettok($($+(
,ison_,$network),2),%num,5)) {
if (!$istok($1,$gettok($($+(,ison_,$network),2),%num,5),32)) &x%x (!$($+(,ison_,$network,_,$gettok($($+(,ison_,$network),2),%num,5)),2)) { echo 4 t $gettok($($+(,ison_,$network),2),%num,5) $gettok($($+(,ison_,$network),2),%num,5) is offline | set -u1800 $+(,ison_,$network,_,$gettok($($+(,ison_,$network),2),%num,5)) off }
if ($istok($1
,$gettok($($+(,ison_,$network),2),%num,5),32)) &x%x ($($+(,ison_,$network,_,$gettok($($+(,ison_,$network),2),%num,5)),2)) { echo 11 -t $gettok($($+(,ison_,$network),2),%num,5) $gettok($($+(,ison_,$network),2),%num,5) is online | unset $($+(,ison_,$network,_,$gettok($($+(,ison_,$network),2),%num,5))) }
inc num
}
unset $+(
,isonchk_,$network)
halt
}
}


Replies (5)

RE: online/offline checker - Added by Paul Janson 21 days ago

It's a beast trying to read your code because it's not formatted. For example, I see a lot of lines with strike-out.

When you click 'reply', the editbox has several icons, and one of them says "PRE". Click on that, and you get a couple bracked symbols. Paste your code between the open/close PRE symbols, then click on "preview", and you can see it's much easier to read.

RE: online/offline checker - Added by Q Steinberg 21 days ago

/*
[Addon]
Script=Checks if Query nick is still online
Version=1
Author=pball
Desc=This script echos a message to a query window if that nick goes offline while the window is open
For=Mirc
Date=3-25-11

[script]
*/
on *:open:?:*:{
  set $+(%,ison_,$network) $addtok($($+(%,ison_,$network),2),$nick,5)
  if (!$timer($network)) .timerison_ $+ $network 0 30 isonchk
}

on *:ACTIVE:?:{
  set $+(%,ison_,$network) $addtok($($+(%,ison_,$network),2),$target,5)
  if (!$timer($network)) .timerison_ $+ $network 0 30 isonchk
}

alias isonchk {
  set -l %num 1
  while ($gettok($($+(%,ison_,$network),2),%num,5)) {
    if (!$query($gettok($($+(%,ison_,$network),2),%num,5))) set $+(%,ison_,$network) $remtok($($+(%,ison_,$network),2),$gettok($($+(%,ison_,$network),2),%num,5),1,5)
    inc %num
  }
  if (!$($+(%,ison_,$network),2)) { .timerison_ $+ $network off | halt }
  set $+(%,isonchk_,$network) 1
  ison $replace($($+(%,ison_,$network),2),$chr(5),$chr(32))
}

on *:close:?: {
  set $+(%,ison_,$network) $remtok($($+(%,ison_,$network),2),$nick,1,5)
  if ($($+(%,ison_,$network),2) == $null) .timerison_ $+ $network off
  if ($($+(%,ison_,$network,$nick),2)) unset $+(%,ison_,$network,$nick)
}

raw 303:*:{
  if ($($+(%,isonchk_,$network),2)) {
    set -l %num 1
    while ($gettok($($+(%,ison_,$network),2),%num,5)) {
      if (!$istok($1-,$gettok($($+(%,ison_,$network),2),%num,5),32)) && (!$($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)),2)) { echo 4 -t $gettok($($+(%,ison_,$network),2),%num,5) $gettok($($+(%,ison_,$network),2),%num,5) is offline | set -u1800 $+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)) off }
      if ($istok($1-,$gettok($($+(%,ison_,$network),2),%num,5),32)) && ($($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)),2)) { echo 11 -t $gettok($($+(%,ison_,$network),2),%num,5) $gettok($($+(%,ison_,$network),2),%num,5) is online | unset $($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5))) }
      inc %num
    }
    unset $+(%,isonchk_,$network)
    halt
  }
}

RE: online/offline checker - Added by Paul Janson 13 days ago

It's a minor bug that I'm sure will be fixed soon. In the meantime, you can sanitize the $1- to behave like mIRC does. The server sends a colon touching the nick being checked, and mirc removes it, so this script is checking for 'othernick' but the 303 is returning :othernick

so can change the raw 303 handler section to be like:

raw 303:*:{
  if ($($+(%,isonchk_,$network),2)) {
    var %num 1 , %1- $remove($1-,:)
    while ($gettok($($+(%,ison_,$network),2),%num,5)) {
      if (!$istok(%1-,$gettok($($+(%,ison_,$network),2),%num,5),32)) && (!$($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)),2)) { echo 4 -t $gettok($($+(%,ison_,$network),2),%num,5) $gettok($($+(%,ison_,$network),2),%num,5) is offline | set -u1800 $+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)) off }
      if ($istok(%1-,$gettok($($+(%,ison_,$network),2),%num,5),32)) && ($($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5)),2)) { echo 11 -t $gettok($($+(%,ison_,$network),2),%num,5) $gettok($($+(%,ison_,$network),2),%num,5) is online | unset $($+(%,ison_,$network,_,$gettok($($+(%,ison_,$network),2),%num,5))) }
      inc %num
    }
    unset $+(%,isonchk_,$network)
    halt
  }
}

RE: online/offline checker - Added by Q Steinberg 13 days ago

Working. Thanks

RE: online/offline checker - Added by Q Steinberg 10 days ago

After I updated my AdiIRC today, I keep getting this notice (on the server window) whenever I receive a new private message.
The notice says: * Unset %query.flood

What is it, and is there a way to stop receiving it?

    (1-5/5)