TWiGGiRC Notify (TWiGGNoT) — File Browser

TWiGGiRCNotifyTWiGGNoTv1.65 / TWiGGiRCNotifyTWiGGNoTv1.65 / twiggntm.mrc

twiggntm.mrc — 25.82 KB — Download this file

alias twiggnot {
  if $1 == active { set %TWiGGNoT -a | echo 4 %TWiGGNoT TWiGGiRC Notify: Messages will appear in active window. | halt }
  if $1 == status { set %TWiGGNoT -s | echo 4 %TWiGGNoT TWiGGiRC Notify: Messages will appear in status window. | halt }
  echo 4 -a Usage: /twiggnot <active/status> - to determine which window TWiGGiRC Notify messages will appear in.
}

alias notify {
  if $1 == $null { echo 4 %TWiGGNoT TWiGGiRC Notify: There's no need to do that.  You should use /not | halt }
  set %notify.in.progress On
  .timer 1 3 set %notify.in.progress Off
  .notify $1-
}

alias not {
  if ($1 == $null) { echo 4 -a Usage: /not <nick> to add nickname.  /not -r <nick> to remove. | halt }
  if ($1 isnotify) && ($1 != -a) { echo 4 %TWiGGNoT TWiGGiRC Notify: That nickname is already in your notify list | halt }
  if ($1 == -r) {
    if ($2 == $null) { echo 4 %TWiGGNoT TWiGGiRC Notify: You didn't specify a nick.  Use /not -r <nick> to remove a user from your notify list. | halt }
    if ($2 !isnotify) { echo 4 %TWiGGNoT TWiGGiRC Notify: That nickname isn't in your notify list.  Check the spelling | halt }
    .notify -r $2
    echo 4 %TWiGGNoT TWiGGiRC Notify: Removed $2 from notify list - host and comment info will be preserved if you choose to add this user again later.
    set %notify.info. [ $+ [ $2 ] ]
    halt
  }
  if ($1 == -a) {
    .notify -a $2
    .timer 1 5 notifyset $2
    echo 4 %TWiGGNoT TWiGGiRC Notify: Added $2 to notify list - use /host <nick> <domain> to limit host.
    .set %notify.info. [ $+ [ $1 ] ]
    halt
  }
  .timer 1 5 notifyset $1
  .notify -a $1
  echo 4 %TWiGGNoT TWiGGiRC Notify: Added $1 to notify list - use /host <nick> <domain> to limit host.
  .set %notify.info. [ $+ [ $1 ] ]
}

alias notifylog {
  if ($1 == $null) { echo 4 %TWiGGNoT TWiGGiRC Notify: Notify information logging is currently set to %notify.logging - use the -s option to view, -c to clear | halt }
  if ($1 == -s) { echo 4 %TWiGGNoT TWiGGiRC Notify: Opening notify log | read $mircdir $+ logs/TWiGGNot.txt | halt }
  if ($1 == -c) { echo 4 %TWiGGNoT TWiGGiRC Notify: Clearing notify log | write -c $mircdir $+ logs/TWiGGNot.txt | halt }
  if ($1 != On) && ($1 != Off) { echo 4 -a Usage: /notifylog <on/off> | halt }
  if ($1 == %notify.logging) { echo 4 -a TWiGGiRC Notify: Logging is already set to $1 | halt }
  set %notify.logging $1
  echo 4 %TWiGGNoT TWiGGiRC Notify:  Notify information logging set to %notify.logging
  write $mircdir $+ logs/TWiGGNot.txt -====== TWiGGiRC Notify Logging set to %notify.logging ======-
}

alias tnhelp {
  window -c @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help
  window -a @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 0 0 800 525
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 5-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=TWiGGiRC Notify Addon Command List=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/TWiGGNoT <active/status>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This will make TWiGGiRC messages appear in either the active, or status window respectively
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/nautomsg <on/off/nick/-l> <message>  (no message will clear the message for that nick)
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - Automatically sends <message> to <nick> when they sign on - On/Off will enable/disable
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - ALL notify automessages. -l will bring up a window displaying your messages for each nick.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/nautoinv <on/off/nick/-l> <message>  (no message will clear the invite for that nick)
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - Automatically invites <nick> to <channel> when they sign on - On/Off will enable/disable 
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - ALL notify invites. -l will bring up a window displaying your automessages for each nick.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/host <nick> <host1> <host2>    (wildcards acceptable, i.e. *.host.com)
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This sets the host that <nick> logs on from. Separate multple hosts by a space.  
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - Host -s <nick> will display the host you currently have set.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/comment <nick/-s> <comment>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This sets the comment for <nick> to be displayed in your notify window.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - Comment -s <nick> will display the comment you have set.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/not <-r/-a/nick> <nickname> 
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This is used to add/remove users from your notify list - DON'T use /notify anymore!
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/getnick <nick>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This will change your nickname to <nick> once someone signs off of that nickname.  
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/lasthost <nick>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This displays the last host that <nick> was seen using.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/notwav <nick> <file>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This will play a wave, <file>, for <nick>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/notifylog <On/Off/-s>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This will turn notify information logging on or off, the -s option will view notify log.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/initnotify
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This will cycle through each nick online on your notify list and refresh their info...
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 4/notmode <s/v>
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - This changes the commenting mode to standard or verbose - I highly recommend verbose
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 12 - as it provides you with extensive information on the user.
  aline @TWiGGiRC $+ $chr(160) $+ Notify $+ $chr(160) $+ Help 5-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=TWiGGiRC Notify Addon Command List=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
}

alias lasthost {
  if $1 == $null echo 4 -a Usage: /lasthost <nick>
  if $1 !isnotify { echo 4 -a TWiGGiRC Notify: That user is not in your notify list | halt }
  if $isonline($1) == $true { echo 4 -a TWiGGiRC Notify: $1 is currently online on host: %host. [ $+ [ $1 ] ] | halt }
  echo 4 -a TWiGGiRC Notify: $1 was last seen from host: %host. [ $+ [ $1 ] ] on %lastsignoff.time. [ $+ [ $1 ] ]
}

alias notifybugfix {
  if %startingup == Off set %oncount.s 0
  if %startingup == On inc %oncount.s 1
  if %oncount.s == 4 { set %startingup Off |  set %oncount.s 0 }
  if %notify.in.progress == Off set %oncount.n 0
  if %notify.in.progress == On inc %oncount.n 1
  if %oncount.n == 4 { set %notify.in.progress Off | set %oncount.n 0 }
}

alias freshen {
  set %freshnot.*
  set %not 0
  set %nots $notify(0)
  :start
  if %not == %nots goto end
  inc %not 1
  set %freshnot. [ $+ [ %not ] ] $notify(%not)
  goto start
  :end
  halt
}

alias infresh {
  set %not 0
  set %infresh No
  :start
  if %not == %nots goto end
  inc %not 1
  if %freshnot. [ $+ [ %not ] ] == $1 { set %infresh Yes | goto end }
  goto start
  :end
}



alias initnotify {
  set %startingup On
  set %oncount.n 0
  set %oncount.s 0
  ; the delays below are because this command only really needs to be run upon starting up mIRC, and it needs some waittime to set up the notify list
  if %notmode == v .timer253 0 300 finishnotify
  .timer 1 20 freshen
  .timer 1 25 finishnotify
}

alias finishnotify {
  set %not 0
  set %nots $notify(0)
  %timetodo = %nots * 15
  if %startingup == On echo 4 -s TWiGGiRC Notify: Notify UserHost Comment initializing, please allow about %timetodo seconds for completion.
  .timer909 1 %timetodo set %startingup Off
  .timer910 1 %timetodo echo 4 %TWiGGNoT TWiGGiRC Notify: Initialization complete.
  .timer910 1 %timetodo freshen
  .timer911 1 %timetodo .timer251 0 7 notifybugfix
  .timer 1 3 .timer808 0 10 freshnotlist
}

alias freshnotlist {
  inc %not 1
  if (%not >= %nots) .timer808 off
  notifyset %freshnot. [ $+ [ %not ] ]
}

alias notifyset {
  if ($1 == $null) && (%startingup == Off) { echo 4 -a usage: notifyset [-f] <nick> }
  .userhost $1
}

alias comment {
  if ($1 == $null) { echo 4 -a Usage: /comment <nick> <comment> (/comment -s <nick> will show the comment for that user, and /comment <nick> with no comment will set comment to nothing) | halt }
  if ($1 == -s) { echo 4 %TWiGGNoT TWiGGiRC Notify: Current Comment for user $2 is set to " $+ %comment. [ $+ [ $2 ] ] $+ " | goto end } 
  if ($1 !isnotify)  { echo 4 %TWiGGNoT TWiGGiRC Notify: That user is not in your notify list, first add them with /not <user> | goto end }
  set %notify.info. [ $+ [ $1 ] ]
  set %comment. [ $+ [ $1 ] ] $2-
  if ($2 == $null) { set %comment. $+ $1 | echo 4 %TWiGGNoT TWiGGiRC Notify: Comment for $1 cleared | goto end }
  echo 4 %TWiGGNoT TWiGGiRC Notify: Comment for $1 set to " $+ $2- $+ "
  if $isonline($1) == $true { .timer 1 3 notifyset $1 }
  :end
}

alias host {
  if ($1 == $null) { echo 4 -a Usage: /host <nick> <host1> <host2> ... (/host <nick> with no host will unset host variable, /host -s <nick> will display your current setting) | echo 4 -a Note: Wildcards are acceptable and encouraged (i.e. *.stupidass.com) | halt }
  if ($1 == -s) { 
    %counter = 0
    set %hosts.joined
    :joinhosts
    inc %counter 1
    set %hosts.joined %hosts.joined $+ $chr(160) $+ %host. [ $+ [ $2 $+ . [ $+ [ %counter ] ] ] ]
    if %host. [ $+ [ $2 $+ . [ $+ [ %counter ] ] ] ] != $null goto joinhosts  
    echo 4 %TWiGGNoT TWiGGiRC Notify System: Current Host for user $2 is set to $+ %hosts.joined
    goto end 
  }
  if ($1 !isnotify)  { echo 4 %TWiGGNoT TWiGGiRC Notify: That user is not in your notify list, first add them with /not <user> | goto end }
  if ($2 == $null) { set %notify.info. [ $+ [ $1 ] ] | set %host. [ $+ [ $1 $+ . [ $+ [ $chr(42) ] ] ] ] | set %host. [ $+ [ $1 $+ . [ $+ [ 1 ] ] ] ] $chr(42) | echo 4 %TWiGGNoT TWiGGiRC Notify: Host for $1 cleared (all hosts will be valid for this user now) | goto end }
  set %host. [ $+ [ $1 $+ . [ $+ [ $chr(42) ] ] ] ]
  set %notify.info. [ $+ [ $1 ] ]
  %counter = 0
  :sethosts
  inc %counter 1
  %count2 = %counter + 1
  if $ [ $+ [ %counter ] ] == $null goto setdone
  set %host. [ $+ [ $1 $+ . [ $+ [ %counter ] ] ] ] $ [ $+ [ %count2 ] ]
  goto sethosts
  :setdone
  echo 4 %TWiGGNoT TWiGGiRC Notify: Host for $1 set to " $+ $2- $+ " 
  if $isonline($1) == $true { .timer 1 3 notifyset $1 }
  :end
}

alias nautomsg {
  if ($1 == $null) { 
    echo 4 -a Usage: /nautomsg <nick> <num> <msg> (if no num is specified, it will be infinite)
    echo 4 -a or: /nautomsg <nick> with no message will clear that user's auto message
    echo 4 -a or: /nautomsg -s <nick> to display the automessage for that user
    echo 4 -a or: /nautomsg On/Off will enable/disable the Automsg for ALL users
    echo 4 -a or: /nautomsg -l to list your notify automessage data.
    halt 
  }
  if ($1 == -s) { 
    if ($2 == $null) { echo 4 %TWiGGNoT TWiGGiRC Notify: You must specify a number of times to send the message and/or nick. | halt }
    if ($2 !isnotify) { echo 4 %TWiGGNoT TWiGGiRC Notify: $2 is not in your notify list - check the spelling. | halt }
    if (%n.automsg. [ $+ [ $2 ] ] == $null) { echo 4 %TWiGGNoT TWiGGiRC Notify: No Auto Message set for $2 | halt }
    echo 4 %TWiGGNoT TWiGGiRC Notify: Current Auto Message for $2 is: " $+ %n.automsg. [ $+ [ $2 ] ] $+ " 
    halt
  }
  if ($1 == Off) { set %n.automsg Off | echo 4 %TWiGGNoT TWiGGiRC Notify: Auto Message feature disabled | halt }
  if ($1 == On) { set %n.automsg On | echo 4 %TWiGGNoT TWiGGiRC Notify: Auto Message feature enabled | halt }
  if ($1 == -l) { 
    window -c @TWiGGiRC $+ $chr(160) $+ Notify
    window -a @TWiGGiRC $+ $chr(160) $+ Notify  0 0 600 200
    aline @TWiGGiRC $+ $chr(160) $+ Notify 4TWiGGiRC Currently set Notify Auto Messages
    aline @TWiGGiRC $+ $chr(160) $+ Notify 5------------------------------------------------------------------------
    aline @TWiGGiRC $+ $chr(160) $+ Notify Nick0-------1Num0---1Message
    aline @TWiGGiRC $+ $chr(160) $+ Notify 5------------------------------------------------------------------------
    set %linenum 0
    :writeline
    inc %linenum
    set %wholeline $read -l $+ %linenum twiggnot.list
    %diff = [ $pos(%wholeline,@) - $pos(%wholeline,~) ]
    dec %diff 2
    %pos0 = $pos(%wholeline,~) - 2
    %pos1 = $pos(%wholeline,~) + 2
    %pos2 = $pos(%wholeline,@) - 1
    %diff2 = [ $len(%wholeline) - %pos2 ]
    dec %diff2 2
    set %line.ni $left(%wholeline,%pos0)
    set %line.num $mid(%wholeline,%pos1,%diff)
    if %line.num == -1 set %line.num All
    set %line.msg $chr(160) $+ $right(%wholeline,%diff2)
    %spc = 11 - $len(%line.ni)
    %inc = 2 - $len(%line.num)
    inc %spc %inc
    set %line.nick %line.ni $+ $str($chr(160),%spc)
    aline @TWiGGiRC $+ $chr(160) $+ Notify %line.nick %line.num %line.msg
    if (%linenum < $lines(twiggnot.list)) goto writeline
    halt
  }
  if ($abs($2) > 0) && ($2 != $null) goto skip2
  if ($2 == $null) { 
    set %n.automsg. [ $+ [ $1 ] ]
    write -ds $+ $1 twiggnot.list
    echo 4 %TWiGGNoT TWiGGiRC Notify: Auto Message for user $1 cleared.
    halt
  }
  if ($1 !isnotify) { echo 4 %TWiGGNoT TWiGGiRC Notify: That user is not on your notify list.  Add them first by typing:  /not $1 | halt }
  set %n.automsg. [ $+ [ $1 ] ] $2- (set at $time on $adate)
  set %n.automsg.num. [ $+ [ $1 ] ] -1
  write -s $+ $1 twiggnot.list $1 ~ %n.automsg.num. [ $+ [ $1 ] ] @ %n.automsg. [ $+ [ $1 ] ] 
  echo 4 %TWiGGNoT TWiGGiRC Notify: Auto Message for user $1 set to " $+ $2- (set at $time on $adate)"
  halt
  :skip2
  if ($3 == $null) { 
    echo 4 %TWiGGNoT TWiGGiRC Notify: You must specify an Auto Message - to clear an Auto Message type /nautomsg <nick>
    set %n.automsg. [ $+ [ $1 ] ]
    set %n.automsg.num. [ $+ [ $1 ] ]
    write -ds $+ $1 twiggnot.list
    halt
  }
  if ($1 !isnotify) { echo 4 %TWiGGNoT TWiGGiRC Notify: That user is not on your notify list.  Add them first by typing:  /not $1 | halt }
  set %n.automsg. [ $+ [ $1 ] ] $3- (set at $time on $adate)
  set %n.automsg.num. [ $+ [ $1 ] ] $2
  write -s $+ $1 twiggnot.list $1 ~ %n.automsg.num. [ $+ [ $1 ] ] @  %n.automsg. [ $+ [ $1 ] ] 
  echo 4 %TWiGGNoT TWiGGiRC Notify: Auto Message for user $1 set to " $+ $3- (set at $time on $adate)" - Message will be sent $2 times.
}

alias checkhost {
  if ($1 == $null) { echo 4 %TWiGGNoT TWiGGiRC Notify: Why are you calling this function?  It is internal and you needn't use it | halt }
  set %ishost No
  %counter = 0
  :checkeach
  inc %counter 1
  if %host. [ $+ [ $1 $+ . [ $+ [ %counter ] ] ] ] == $null goto end
  if %host. [ $+ [ $1 $+ . [ $+ [ %counter ] ] ] ] iswm $2 { set %ishost Yes | goto end }
  goto checkeach
  :end
}


alias getnick { 
  set %wanted.nick $$1 
  .timer51 0 20 /nick %wanted.nick  
  .timer 1 1 /.timer52 0 20 /getnick2 
  set %get.nick On 
}
alias getnick2 { 
  if %wanted.nick == $me {
    .timer51 off 
    .timer52 off 
    echo 4 -a %ID Notify: %wanted.nick is your new nickname 
    set %get.nick Off 
  } 
}

read { 
  if $lof($1) < 65792 { run notepad $1 } 
  if $lof($1) >= 65792 { run wordpad $1 }
}


on 1:UNOTIFY:{
  %signoff.time. [ $+ [ $nick ] ] = [ $ctime - %signon.time. [ $+ [ $nick ] ] ]
  %dur = %signoff.time. [ $+ [ $nick ] ]
  set %lastsignoff.time. [ $+ [ $nick ] ] $fulldate
  echo 4 %TWiGGNoT TWiGGiRC Notify: Signoff for $nick ( $+ %host. [ $+ [ $nick ] ] $+ ) on $fulldate detected - online for $duration(%dur)
  if (%notify.logging == On) write $mircdir $+ logs/TWiGGNot.txt Notify Signoff for $nick at $time on $adate - online for $duration(%dur)
  beep
  if (($nick == %wanted.nick) && (%get.nick == On)) {
    nick %wanted.nick
    getnick2
    //echo 4 %TWiGGNoT TWiGGiRC Notify: Signoff for desired nick ( $+ %wanted.nick $+ ) on $fulldate - TWiGGiRC getnick activated.
  }
  freshen
}

on 1:NOTIFY:{
  set %notify.in.progress2 On
  .timer 1 7 set %notify.in.progress2 Off
  infresh $nick
  if (%notify.in.progress == On) && (%infresh == No) {
    inc %nots 1
    set %freshnot. [ $+ [ %nots ] ] $nick
    echo 4 %TWiGGNoT TWiGGiRC Notify: Queued user $nick - will refresh userhost momentarily
    set %infresh
    .timer 1 15 notifyset $nick
  }
  if (%startingup == Off) && (%notify.in.progress == Off) { 
    inc %nots 1
    set %freshnot. [ $+ [ %nots ] ] $nick
    set %notify.in.progress On
    .timer 1 10 set %notify.in.progress Off
    .timer 1 5 notifyset $nick 
    .timer 1 8 nautomsgmod
    .timer 1 8 nautoinvmod
  }
}

on 1:CONNECT:{
  echo 4 -a TWiGGiRC Notify: Connected to $server on port: $port - TWiGGNoT Initializing...
  initnotify
}

on 1:LOAD:{
  if $version != 5.02 echo 4 -a TWiGGiRC Notify: Uh-oh :( you aren't running mIRC v5.02.. TWiGGNoT may not function properly...
  if %TWiGGNoT == $null { echo 4 -a TWiGGiRC Notify: Welcome, apparently you've never run TWiGGNoT before... read the .nfo file that pops up in a few seconds | .timer 1 10 read twiggnot.nfo }
  if (%TWiGGNoT != $null) && (%TWiGGNoT.ver != v1.65) { echo 4 -a TWiGGiRC Notify: Welcome, apparently you're upgrading from a previous version of TWiGGNoT... please read the nfo file that pops up here | .timer 1 10 read twiggnot.nfo }
  if (%TWiGGNoT != $null) && (%TWiGGNoT.ver == v1.65) { echo 4 -a TWiGGiRC Notify: Welcome, it seems you were already running TWiGGNoT v1.65 before loading this.  Hope all is going well. }
  set %TWiGGNoT -a
  echo 4 %TWiGGNoT TWiGGiRC Notify v1.65: Initializing for the first time. 
  set %TWiGGNoT.ver v1.65
  echo 4 %TWiGGNoT TWiGGiRC Notify: Turning raw ON - this is necessary for TWiGGNoT to work.  
  raw ON
  echo 4 %TWiGGNoT TWiGGiRC Notify: Turning events ON - this is necessary for TWiGGNoT to work.
  events ON
  echo 4 %TWiGGNoT TWiGGiRC Notify: Creating new variables for the TWiGGNoT addon.
  set %freshening Off
  set %startingup Off
  set %notify.in.progress Off
  set %notify.logging Off
  set %n.automsg On
  set %n.autoinv On
  set %ID.temp
  echo 4 %TWiGGNoT TWiGGiRC Notify: Creating empty textfile for Automessage records.
  write -c twiggnot.list
  echo 4 %TWiGGNoT TWiGGiRC Notify: Clearing select variables from old versions...
  set %notify.info.*
  set %notmode v
  echo 4 %TWiGGNoT TWiGGiRC Notify: First-time initialization complete!  email twiggy@null.net with questions/comments!
  echo 5 %TWiGGNoT NOTE: if you have run any previous versions of TWiGGNoT to v1.2 - please RESET all of your hosts (sorry) 
  notify -s
  initnotify
}

on 1:START:{
  echo 5 -a -=-=TWiGGiRC Notify - TWiGGiRC Notify - TWiGGiRC Notify - TWiGGiRC Notify=-=-
  echo 4 -a @@@@@ @0---4@ @@@@@0--4@@@0---4@@@0----4@0---4@0--4@@@0--4@@@@@0----4@0---4@0--4@@@0--4@@@@  5v. 4 1.65 
  echo 0 -a --4@0---4@0---4@0---4@0---4@0-----4@0-------4@@0--4@ @0---4@0---4@0------4@@ @@ @0---4@ @0---4@  5Full Version
  echo 0 -a --4@0---4@ @ @0---4@0---4@0--4@@ @0--4@@0---4@ @ @ @0---4@0---4@0---4@@ @ @ @ @0---4@ @0---4@
  echo 0 -a --4@0---4@ @ @0---4@0---4@0---4@ @0---4@0---4@0--4@@ @0---4@0---4@0------4@0---4@ @0---4@ @0---4@
  echo 0 -a --4@0----4@ @0--4@@@@@0--4@@@0---4@@@0----4@0---4@0--4@@@0----4@0------4@0---4@0--4@@@0--4@@@@
  echo 5 -a -=-=TWiGGiRC Notify - TWiGGiRC Notify - TWiGGiRC Notify - TWiGGiRC Notify=-=-
  echo 4 -a TWiGGiRC Notify: TWiGGiRC Notify addon loaded.  Type /tnhelp for commands list.
  echo 4 -a email twiggy@null.net with questions/comments!
  echo 4 -a Find TWiGGY on EFnet for the latest version of TWiGGNoT
}

raw 302:*: { 
  %notify.pos = $pos($2,=) + 2
  %notify.pos2 = $pos($2,=) - 1
  %notify.pos3 = $pos($2,@) + 1
  if =+ isin $2 set %notify.verbose Here
  if =- isin $2 set %notify.verbose Away
  if *= isin $2 { set %notify.verbose %notify.verbose * IRCop | %notify.pos2 = $pos($2,=) - 2 }
  set %notify.host $mid($2,%notify.pos3,$len($2))
  set %notify.user $mid($2,1,%notify.pos2)
  set %host. [ $+ [ %notify.user ] ] $mid($2,%notify.pos,$len($2))
  if %host. [ $+ [ %notify.user $+ . [ $+ [ 1 ] ] ] ] == $null set %host. [ $+ [ %notify.user $+ . [ $+ [ 1 ] ] ] ] $chr(42)
  if (%notify.user isnotify) {
    set %notify.info $mid($2,%notify.pos,$len($2)) * %comment. [ $+ [ %notify.user ] ]
    checkhost %notify.user %notify.host
    if (%ishost == No) { set %notify.info $mid($2,%notify.pos,$len($2)) * Not your defined host }
    if %notmode = v set %notify.info %notify.info * %notify.verbose
    if (%notify.info. [ $+ [ %notify.user ] ] == %notify.info) goto echostuff
    set %notify.info. [ $+ [ %notify.user ] ] %notify.info
    if (%comment. [ $+ [ %notify.user ] ] == $null) { 
      set %notify.info $mid($2,%notify.pos,$len($2)) 
      if %notmode == v set %notify.info %notify.info * %notify.verbose
    }
    set %notify.in.progress On
    .timer 1 7 set %notify.in.progress Off
    notify -r %notify.user
    .timer 1 2 notify -a %notify.user %notify.info
    :echostuff
    if %startingup == Off && %notify.in.progress2 == On {
      if (%notify.logging == On) write $mircdir $+ logs/TWiGGNot.txt Notify signon for user %notify.user ( $+ %notify.info $+ ) at $time on $adate
      .timer 1 4 echo 4 %TWiGGNoT TWiGGiRC Notify: Signon for user %notify.user ( $+ $mid($2,%notify.pos,$len($2)) $+ ) on $fulldate - Userhost refreshed 
      set %signon.time. [ $+ [ %notify.user ] ] $ctime
      if %wave. [ $+ [ %notify.user ] ] != $null .timer 1 4 splay %wave. [ $+ [ %notify.user ] ]
      if %wave. [ $+ [ %notify.user ] ] == $null .timer 1 4 beep
    }
  }
}

alias isonline {
  if $1 !isnotify { echo 4 -a TWiGGiRC Identifier: That user isn't in your notify list - this identifier won't work. | halt }
  set %count 0
  set %nots $notify(0)
  :checkonline
  inc %count
  if %count > %nots goto endloop
  if $notify(%count) == $1 { return $true | goto done }
  goto checkonline
  :endloop
  return $false
  :done
}

menu query {
  -
  TWiGGNoT
  .Help:/tnhelp
  .-
  .Messages to
  ..Active:/TWiGGNoT active
  ..Status:/TWiGGNoT status
  .-
  .Notify
  ..Add:/not -a $1
  ..Remove: /not -r $1
  .Change User Info
  ..Set Auto Msg: /nautomsg $1 $?="Enter number of sends (cancel for infinite):" $?="Enter Auto Message (cancel to clear):"
  ..Set Comment: /comment $1 $?="Enter Comment:"
  ..Set Host(s): /host $1 $?="Enter Host(s) (separate multiples by a space):"
  .View User Info
  ..View Auto Msgs: /nautomsg -l
  ..View Comment: /comment -s $1
  ..View Host(s): /host -s $1
  .-
  .Logging
  ..On: /notifylog On
  ..Off: /notifylog Off
  ..-
  ..View: /notifylog -s
  .-
  .Get This Nick: /getnick $1
}

menu nicklist {
  -
  TWiGGNoT
  .Help:/tnhelp
  .-
  .Messages to
  ..Active:/TWiGGNoT active
  ..Status:/TWiGGNoT status
  .-
  .Notify
  ..Add:/not -a $1
  ..Remove: /not -r $1
  .Change User Info
  ..Set Auto Msg: /nautomsg $1 $?="Enter number of sends (cancel for infinite):" $?="Enter Auto Message (cancel to clear):"
  ..Set Comment: /comment $1 $?="Enter Comment:"
  ..Set Host(s): /host $1 $?="Enter Host(s) (separate multiples by a space):"
  .View User Info
  ..View Auto Msgs: /nautomsg -l
  ..View Comment: /comment -s $1
  ..View Host(s): /host -s $1
  .-
  .Logging
  ..On: /notifylog On
  ..Off: /notifylog Off
  ..-
  ..View: /notifylog -s
  .-
  .Get This Nick: /getnick $1
}

menu channel {
  -
  TWiGGNoT
  .Help:/tnhelp
  .-
  .Messages to
  ..Active:/TWiGGNoT active
  ..Status:/TWiGGNoT status
  .-
  .Notify
  ..Add User:/not -a $?="Who do you want to add to your notify?"
  ..Remove User: /not -r $?="Who do you want to remove from your notify?"
  .Change User Info
  ..Set Auto Msg: /nautomsg $?="Who do you want to set an Auto Msg for?" $?="Enter number of sends (cancel for infinite):" $?="Enter Auto Message (cancel to clear):"
  ..Set Comment: /comment $?="Who do you want to set a comment for?" $?="Enter Comment:"
  ..Set Host(s): /host $?="Who do you want to set a host for?" $?="Enter Host(s) (separate multiples by a space):"
  .View User Info
  ..View Auto Msgs: /nautomsg -l
  ..View Comment: /comment -s $?="Which user?"
  ..View Host(s): /host -s $?="Which user?"
  .-
  .Logging
  ..On: /notifylog On
  ..Off: /notifylog Off
  ..-
  ..View: /notifylog -s
  .-
  .Get Nick: /getnick $?="Enter the nick you want to get:"
}

menu status {
  .-
  TWiGGNoT
  .Help:/tnhelp
  .-
  .Messages to
  ..Active:/TWiGGNoT active
  ..Status:/TWiGGNoT status
  .-
  .Notify
  ..Add User:/not -a $?="Who do you want to add to your notify?"
  ..Remove User: /not -r $?="Who do you want to remove from your notify?"
  .Change User Info
  ..Set Auto Msg: /nautomsg $?="Who do you want to set an Auto Msg for?" $?="Enter number of sends (cancel for infinite):" $?="Enter Auto Message (cancel to clear):"
  ..Set Comment: /comment $?="Who do you want to set a comment for?" $?="Enter Comment:"
  ..Set Host(s): /host $?="Who do you want to set a host for?" $?="Enter Host(s) (separate multiples by a space):"
  .-
  .-
  .Logging
  ..On: /notifylog On
  ..Off: /notifylog Off
  ..-
  ..View: /notifylog -s
  .Get Nick: /getnick $?="Enter the nick you want to get:"
}