!Seen System

By `Kazuma on Nov 29, 2005

Put into your remotes. When someone types !seen it will reply to them when they last saw .

#seen on
on 1:JOIN:#: { writeini -n seen.ini $nick date I last saw $nick joining $chan at $asctime(hh:nntt) on $asctime(dd mmmm yyyy) $+ . }
on 1:QUIT: { writeini -n seen.ini $nick date I last saw $nick quitting IRC at $asctime(hh:nn tt) on $asctime(dd mmmm yyyy) $+ , with the quit message $1- } 
on 1:PART:#: { writeini -n seen.ini $nick date I last saw $nick leaving $chan at $asctime(hh:nntt) on $asctime(dd mmmm yyyy) $+ . }
on 1:NICK: { writeini -n seen.ini $nick date I last saw $nick changing their nick to $newnick at $asctime(hh:nntt) on $asctime(dd mmmm yyyy) $+ . }
on *:TEXT:!seen*:#: { 
  if ($2 ison $chan) && ($nick != $2) { /msg $chan  $2- is in $chan ( $chan ) | halt }
  if ($2 == $me) { /msg $chan If I'm answering the question I'm in the Channel ( $chan ). | halt }
  if ($nick == $2) && ($nick ison $chan) { /msg $chan  If you don't know where $2 is, then you have some problems.. | halt }
  if ($readini seen.ini $2 date == $null) { /msg $chan Sorry ( $nick ) $+  $2- Is not in my Memory. | halt }
  else { /msg $chan $readini seen.ini $2 date }
}
on 1:TEXT:!seen*:?: { 
  if ($nick == $2) { .msg $nick If you don't know where $2 is, then you have some problems.. | halt }
  if ($readini seen.ini $2 date == $null) { .msg $nick Sorry ( $nick ) $+  $2- Is not in my Memory. | halt }
  else { .msg $nick $readini seen.ini $2 date }
}
#seen off

on 1:text:!seen*:*: {
  if (%seen == off) { halt }
  if ($chan ischan) { set -u2 %seen.qchan $chan }
  else { set -u2 %seen.qchan $nick }
  if ($2 == $me) { /msg %seen.qchan Er, $nick $+ , that's me...  | halt }
  if ($2 == $nick) { /msg %seen.qchan What's the matter $nick $+ , can't find youself?  | halt }
  if ($2 ison %seen.qchan) { /msg %seen.qchan Hey, $nick $+ , $2 is in here.. ( $chan )  | halt }
  else {
    set -u2 %seen.qnick $readini -n %QID.dataini seen $2
    if (%seen.qnick == $null) { /msg %seen.qchan Sorry $nick $+ , i've never seen that person.  }
    else { /msg %seen.qchan $2 was last seen as %seen.qnick $+ . }
  }
}

Comments

Sign in to comment.
morfina   -  Feb 18, 2010

is it possible to make the script to say - Nickname is currently online with nickname: Nickname instead of the channels ?

 Respond  
RoninWarrior   -  Jan 21, 2006

`kazuma good update and nice !seen system also keep up the good work.

 Respond  
noMen   -  Jan 21, 2006

i didn\'t :P

 Respond  
Yoinx   -  Jan 21, 2006

ok I\'ve gotta point out that you\'re not using your identifiers right. Since everyone\'s missed that so far.

$readini -n %QID.dataini seen $2

should be

$readini(%QID.dataini,n,seen,$2)

 Respond  
noMen   -  Jan 21, 2006

Dear Kazuma, I already showed xDaemon and RoninWarrior. I like to show you if you want ... tell me the server and channel you\'re on.

 Respond  
`Kazuma   -  Jan 21, 2006

Lol. Dream on, it\'s not vulnerable. I don\'t have to ask someone about what my script can do, when I am the author. Even though some people might use it. And that\'s all I have to say -- Not a big fan of arguments online. ;)

 Respond  
noMen   -  Jan 21, 2006

Dream on `Kazuma or ask xDaeMoN :)

 Respond  
`Kazuma   -  Jan 21, 2006

noMen, no it isn\'t. So just; hush up. :)

 Respond  
xDaeMoN   -  Jan 12, 2006

@ `kazuma, please include the \"n\" switch when using $readini so mIRC will not evaluate the value/data as a command.

 Respond  
noMen   -  Jan 12, 2006

Even beter: don\'t use it all!

 Respond  
noMen   -  Jan 12, 2006

DON\'T YOU EVER USE THIS WHILE YOU HAVE STATUS (OPER, OWNER OR FOUNDER), BECAUSE THIS SCIPT IS VULNERABLE!!!!!!!!!!!!!!!!!!!!!!!!

 Respond  
nark0tics   -  Nov 29, 2005

\"#seen off\" needs to be #seen end

 Respond  
nobody   -  Nov 29, 2005

Hey, that\'s pretty neat. Though it would probably be easier if you could use some hash tables.

 Respond  
`Kazuma   -  Nov 29, 2005

Well I was in a rush with the code, that\'s why it had 3 on*:Text: commands.

 Respond  
xDaeMoN   -  Nov 29, 2005

@ Sasuke, Actually there is a difference when putting \".\" in the notice command, it will make the command silent. When you do not put \".\", you will see the messages you send by notice in the status window. This also happens for the msg command when you send a pm.

@ `kazuma, use the if-else format so you would not need the /halt command at the end of each if statement. Also regarding your On text events, you could just have 1, combining the part for the channel & query, OR 2 events separating the channel & query. I don\'t see the reason for 3 text events.

 Respond  
Sasuke   -  Nov 29, 2005

It works, it\'s simple, but it could be cleaner, remember you can take away the .\'s and the /\'s before the msg and notices and stuff like that, mIRC will read it all the same.

But other than that, excellent.

 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.