xChat Away Nicks

By TMFKSOFT on May 07, 2012

A new snippet from me!
Thats rare ;D

Okay. Lets see what we have here.

I've titled it xChat Away Nicks as it directly relates to
how xChat handles Nicks when a user is away,
this script will change the nick of the user to Gray if
they are away and back again when they return.

Upside:
VERY USEFUL!
Yes, great if you dont want x-Smelly-Welly-Chat and prefer
using mIRC.

Downside:
It's spammy when it syncs up with a server.
Mainly I cannot help annoying mIRC messages
regarding the nick colors. Silly mIRC has no obvious
way to silence this obmination.

Mini trivia:
Coded around 5am.
Uses my coder tools that are modified.

Bugs/Problems:

  • Sometimes it don't work, Maybe different IRCD's?
  • Not a good idea on BNC's that you connect to with more than one client at a time. (Load on both to fix)
; xChat Away Nicks.
; Connect to a server and it will work!
; CAUTION: Syncing is noisy!
; This script practically disables /WHO as
; it's blocking the output, soon to be fixed.

; SCRIPT By Thomas Edwards (Fudgie/TMFKSOFT) 2012

on 1:CONNECT:{
  timerxaway $+ $network 0 10 /raw -q who *
  echo xChat Away Nicks activated. Script will be spammy upon sync with server.
}
alias nickaway {
  cnick -a $1 14
  HALTDEF
}
alias nickback {
  cnick -r $1 14
  HALTDEF
}
raw 352:*:{
  if (G isin $7) {
    if ($getvar(isaway,$6,$network) != true) {
      echo -t $active 14 $+ $6 is away.
      nickaway $+($6,!,$3,@,$4)

      setvar isaway $6 $network true
    }
  }
  else {
    if ($getvar(isaway,$6,$network) == true) {
      echo -t $active 14 $+ $6 is no longer away.
      nickback $+($6,!,$3,@,$4)
      unsetvar isaway $6 $network
    }
  }
  HALTDEF
}
raw 315:*:{
  ; Blocking end of /who message
  HALTDEF
}
alias back {
  away
}
on 1:QUIT:{
  ; If they quit we make sure they are removed, even if they're not it fixes its self.
  unsetvar isaway $nick $network
  nickback $address($nick,5)
}
alias setvar {
  set % $+ $1 $+ . $+ $2 $+ . $+ $3 $4-
}
alias getvar {
  return % [ $+ [ $1 ] $+ . $+ [ $2 ] $+ . $+ [ $3 ] ]
}
alias unsetvar {
  unset % $+ $1 $+ . $+ $2 $+ . $+ $3
}
on 1:JOIN:{
  if ($nick == $me) {
    who *
  }
}

Comments

Sign in to comment.
TMFKSOFT   -  May 08, 2012

"Error, /who limit of 50 exceeded. Please narrow your search down and try again"
That should not occur." and "on me:*:JOIN:#:who $chan" They are both of what xChat Uses

xChat every 5/10 seconds issues the server with "who *" and processes the output when rendering the userlist.

"alias in your back you do not even checked that you are away if you're not, you will become so used away "
There is no use playing about making it show yourself as away when in the next 5seconds it picks up the fact you are away too and adds you to the list.

As for the rest of what you said I can't understand what you mean. Check your grammar :)

 Respond  
kiri   -  May 07, 2012

I do not think is a good idea to use it

timerxaway $+ $network 0 10 /raw -q who *

on a lot of people will have server problems and anyway you do not need to know that those who are on shows or you are so /who $chan would be better

Error, /who limit of 50 exceeded. Please narrow your search down and try again
at this alias

alias nickaway {
  cnick -a $1 4
  HALTDEF
}

you're not sure this feature is enabled in abook
why not use
/cline [c] <@nom>

we flood you with this

echo -t $active 14 $+ $6 is away.

uses a addtok and does everything correctly on a line

together with your raw event

raw *:*:{
if $numeric == 352 {
...
}
elseif ...
 }

alias in your back you do not even checked that you are away if you're not, you will become so used away $away
we join in thy Who uses $ chan
on me:*:JOIN:#:who $chan

I have not watched the rest of the code attentively

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.