Nick Logger

By iCub on May 07, 2009

Pretty self explanitory, !aka $nick for all previous nicks, !prev5nicks $nick for last five and so forth. It is pretty dodgy scripting but I've only been doing this 3 weeks, well thats my excuse and im sticking to it. Any suggestions would be appreciated and taken kindly with only a little bit of abuse.
Oh and please rate kindly or something like that

;## NICKLOGGERCODE
on *:JOIN:#:{
  if ($readini(NickLoggerAddressess.ini,Address,$address($nick,2)) == $null) {
    .writeini NickLoggerAddressess.ini Address $address($nick,2) $nick $+ $chr(35)
  }
  elseif ($readini(NickLoggerAddressess.ini,Address,$address($nick,2)) != $null) {
    if (!$istok($readini(NickLoggerAddressess.ini,Address,$address($nick,2)),$nick $+ +,32)) && (!$istok($readini(NickLoggerAddressess.ini,Address,$address($nick,2)),$nick $+ $chr(35),32)) {
      .writeini NickLoggerAddressess.ini Address $address($nick,2) $replace($readini(NickLoggerAddressess.ini,Address,$address($nick,2)),$chr(35),+) $nick $+ $chr(35)
      if ($group(#notifier) == on) { .msg $chan • Joined - $nick - Previous nicknames: $replace($replace($readini(NickLoggerAddressess.ini,Address,$address($nick,2)),+,$chr(44)),$chr(35),$chr(46)) $chr(124) Total: $numtok($readini(NickLoggerAddressess.ini,Address,$address($nick,2)),32) }    
    }
  }
}
on *:NICK:{
  if ($me !ison $chan) { .halt }
  elseif ($me ison $chan) {
    if (!$istok($readini(NickLoggerAddressess.ini,Address,$address($newnick,2)),$newnick $+ +,32)) && (!$istok($readini(NickLoggerAddressess.ini,Address,$address($newnick,2)),$newnick $+ $chr(35),32)) {
      .writeini NickLoggerAddressess.ini Address $address($newnick,2) $replace($readini(NickLoggerAddressess.ini,Address,$address($newnick,2)),$chr(35),+) $newnick $+ $chr(35)
    }
    else { halt }
  }
}
on *:TEXT:!aka*:#:{
  if ($2 ison $chan) {
    if ($readini(NickLoggerAddressess.ini,Address,$address($2,2)) != $null) {
      .msg $chan • $2 has used the following nicknames: $replace($replace($readini(NickLoggerAddressess.ini,Address,$address($2,2)),+,$chr(44)),$chr(35),$chr(46)) $chr(124) Total: $numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32)
    }
    else { .msg $chan • $2 has used only that nickname, to my knowledge. }
  }
  else { .msg $chan • $2 is not currently on $chan $+ . Please try at another time. }
}
on *:TEXT:!prev5nicks*:#:{
  if ($2 ison $chan) {
    if ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) >= 5) { 
      .var %Nickname.1 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-1),32)
      .var %Nickname.2 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-2),32)
      .var %Nickname.3 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-3),32)
      .var %Nickname.4 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-4),32)
      .var %Nickname.5 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-5),32)
      .msg $chan • $2 $+ 's previous 5 nicknames are: $replace($replace(%Nickname.5 %Nickname.4 %Nickname.3 %Nickname.2 %Nickname.1,+,$chr(44)),$chr(35),.)
    }
    elseif ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) < 5) { .msg $chan • $2 has not used five previous nicknames. He/she has only used $numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) different nicknames. }
  }
  else { .msg $chan • $2 is not currently on $chan $+ . Please try at another time. }
} 
on *:TEXT:!prev4nicks*:#:{
  if ($2 ison $chan) {
    if ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) >= 4) { 
      .var %Nickname.1 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-1),32)
      .var %Nickname.2 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-2),32)
      .var %Nickname.3 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-3),32)
      .var %Nickname.4 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-4),32)
      .msg $chan • $2 $+ 's previous 4 nicknames are: $replace($replace(%Nickname.4 %Nickname.3 %Nickname.2 %Nickname.1,+,$chr(44)),$chr(35),.)
    }
    elseif ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) < 4) { .msg $chan • $2 has not used four previous nicknames. He/she has only used $numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) different nicknames. }
  }
  else { .msg $chan • $2 is not currently on $chan $+ . Please try at another time. }
} 
on *:TEXT:!prev3nicks*:#:{
  if ($2 ison $chan) {
    if ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) >= 3) { 
      .var %Nickname.1 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-1),32)
      .var %Nickname.2 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-2),32)
      .var %Nickname.3 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($2,2)),32)-3),32)
      .msg $chan • $2 $+ 's previous 3 nicknames are: $replace($replace(%Nickname.3 %Nickname.2 %Nickname.1,+,$chr(44)),$chr(35),.)
    }
    elseif ($numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) < 3) { .msg $chan • $2 has not used three previous nicknames. He/she has only used $numtok($readini(NickLoggerAddressess.ini,Address,$address($2,2)),32) different nicknames. }
  }
  else { .msg $chan • $2 is not currently on $chan $+ . Please try at another time. }
} 

;## MENUSCODE
menu nicklist {
  Nick Logger
  .$$1
  ..View Used Nicknames:{ 
    if ($readini(NickLoggerAddressess.ini,Address,$address($$1,2)) != $null) {
      if ($numtok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),32) > 1) {
        .echo -a • $$1 has used the following nicknames: $replace($replace($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),+,$chr(44)),$chr(35),$chr(46)) $chr(124) Total: $numtok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),32)
      }
      else { .echo -a • $$1 has used only that nickname. }
    }
    else { .echo -a • $$1 has no other nickname data. }
  }
  ..View Last 5 Nicknames:{
    if ($numtok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),32) >= 5) { 
      .var %Nickname.1 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($$1,2)),32)-1),32)
      .var %Nickname.2 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($$1,2)),32)-2),32)
      .var %Nickname.3 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($$1,2)),32)-3),32)
      .var %Nickname.4 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($$1,2)),32)-4),32)
      .var %Nickname.5 = $gettok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),$calc($numtok($readini(NickLoggerAddress.ini,Address,$address($$1,2)),32)-5),32)
      .echo -a • $$1 $+ 's previous 5 nicknames are: $replace($replace(%Nickname.5 %Nickname.4 %Nickname.3 %Nickname.2 %Nickname.1,+,$chr(44)),$chr(35),.)
    }
    elseif ($numtok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),32) < 5) { .echo -a • $$1 has not used five previous nicknames. He/she has only used $numtok($readini(NickLoggerAddressess.ini,Address,$address($$1,2)),32) different nicknames. }
  }
  ..-
  ..Clear Nickname Data:{ 
    if ($readini(NickLoggerAddressess.ini,Address,$address($$1,2)) != $null) {
      .remini NickLoggerAddressess.ini Address $address($$1,2)
      .echo -a • $$1's previous nickname data has been erased.
    }
    else { .echo • $$1 has no previous nickname data. }
  }
  .-
  .On Join Notifier
  ..$iif($group(#notifier) == on,Disable,Enable):{ $iif($group(#notifier) == on,.disable #notifier,.enable #notifier) }
  .Clear All Nickname Data:{ .remini NickLoggerAddressess.ini Address | .echo -a • All nickname data has been erased. }
}
;## DO NOT DELETE THIS GROUP!
#notifier on
#notifier end

Comments

Sign in to comment.
Renegade   -  May 24, 2009

Didn't we discuss this?

Good job on learning hash tables :)

I'm about on the servers again now, so give me a wee shout if you need any help.

 Respond  
iCub   -  May 17, 2009

Update: Found a bug in the script, after a while if you do not clear the .ini file it will fill up. Currently trying to learn hash tables to fix this. Any help would be rewarded with cookies.

 Respond  
Renegade   -  May 13, 2009

I'm inpressed nick, at first glance looks good.

Not as dumb as you look :P

 Respond  
Spanky   -  May 12, 2009

nice snippet icub but guys the games over.

 Respond  
iCub   -  May 12, 2009

thanks Dwight, and by posting that there you just lost the game

 Respond  
Acclamator   -  May 10, 2009

looks good dude

 Respond  
iCub   -  May 09, 2009

im working on a shorter script at the moment, and thats not a bad idea @ montague. keep the ideas rolling in
BUMP

 Respond  
Aucun50   -  May 07, 2009

Looks nice, you could shorten some of the code by not using "== $null" all the time when you can do "if (!$1)" or whatever you had for the if statement.

 Respond  
montague   -  May 07, 2009

if u could make it saves all the ip's for 1 nickname & list it all out when public command is triggered, that would be cool.

 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.