Away script

By Xeek Droagon on Feb 28, 2005

a simple dialog away script with multi server, pager and logger

alias awaysystem {
  dialog -m _away _away
  if (%away.logger == 1) { did -c _away 3 }
  if (%away.pager == 1) { did -c _away 4 }
  if (%away.multi == 1) { did -c _away 5 }
}
dialog _away {
  title "Away System"
  size -1 -1 198 70
  option pixels notheme
  edit "", 2, 46 6 151 20
  check "Logger", 3, 1 26 53 17
  check "Pager", 4, 59 26 52 17
  check "Multi-Server", 5, 115 26 81 17, disable
  button "Cancel", 6, 66 45 65 25, cancel flat
  button "Set Away", 7, 0 45 65 25, ok flat
  button "Set Back", 8, 132 45 65 25, ok flat
  text "Reason:", 1, 3 6 40 17
}

on *:dialog:_away:sclick:7:{
  set %away.reason $did(2)
  set %away.logger $did(3).state
  set %away.pager $did(4).state
  set %away.multi $did(5).state
  _away
}
on *:dialog:_away:sclick:8:{
  _back
}
alias _away {
  if (%away.state == Here) {
    if (%away.multi == 1) {
      set %away.time $ctime
      set %away.state Gone
      scid -a nick $me $+ `Away
      scid -a ame is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
      scid -a away I'm Away!!
      halt
    }
    if (%away.multi == 0) {
      set %away.time $ctime
      set %away.state Gone
      nick $me $+ `Away
      ame is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
      away I'm Away!!
      halt
    }
  }
  if (%away.state == Gone) {
    if (%away.multi == 1) {
      scid -a ame is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
      halt
    }
    if (%away.multi == 0) {
      ame is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
      halt
    }
  }
}
alias _back {
  if (%away.state == Gone) {
    if (%away.multi == 1) {
      scid -a ame is back [ %away.reason ] gone $replace($duration($calc($ctime - %away.time)),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s)
      set %away.state Here
      scid -a nick $remove($me,`Away)
      unset %away.time
      unset %away.reason
      scid -a away
      halt
    }
    if (%away.multi == 0) {
      ame 14is back [ %away.reason ] gone $replace($duration($calc($ctime - %away.time)),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s)
      set %away.state Here
      nick $remove($me,`Away)
      unset %away.time
      unset %away.reason
      away
      halt
    }
  }
  if (%away.state == Here) {
    echo -a You're Not Away!
    halt
  }
}
ctcp *:page:*: {
  if (%away.state == Yes) {
    if (%away.pager == 1) {
      notice $nick Your page was received.
      window +L @Pager
      echo @Pager $timestamp PAGE: $nick ( $+ $address $+ )
      echo @Pager On: $asctime(dddd) $+ , $asctime(mmmm d) $+ , $asctime(yyyy) $+ , $asctime(h:nn:ss TT)
      echo @Pager Message: $2-
      echo @Pager -
      write $scriptdir\page.txt paged by : $nick $address $fulldate MSG : $2-}
    }
  }
}
on *:text:*:#: {
  if (%away.state == Gone) {
    if (%away.logger == 1) {
      if ($me isin $1-) {
        if (Serv !isin $nick) || ($nick != Global) {
          write @Logger: $+ $asctime(mm.dd.yy) $+ .txt $asctime(hh:nn:sstt) + $+ $nick $+ +   : $replace($1-,$me,[[ $+ $me $+ ]])
          notice $nick is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
        }
      }
    }
    if (%away.logger == 0) {
      if ($me isin $1-) {
        if (Serv !isin $nick) || ($nick != Global) {
          notice $nick is away [ %away.reason ] at $asctime(h:nn:sstt) [ Logger: $replace(%away.logger,0,Off,1,On) \ Pager: $replace(%away.pager,0,Off,1,On) ]
        }
      }
    }
  }
}
on *:LOAD: {
  set %away.pager 1
  set %away.logger 1
  set %away.multi 1
  set %away.state Here
}
on *:UNLOAD: {
  unset %away.*
}
menu * {
  Away system:awaysystem
}

Comments

Sign in to comment.
ALCAPONE   -  Jan 26, 2008

good script but it looks just like the away script out pnp you did a good job though

 Respond  
HassanAbbas   -  Nov 27, 2006

Good Work

 Respond  
log2   -  Mar 07, 2005

oh ok :D good then

 Respond  
Yoinx   -  Mar 04, 2005

testing

 Respond  
Xeek Droagon   -  Mar 04, 2005

no youre not crazy i accidently click in php scripts then decided to add my away script and it added in php scripts

 Respond  
log2   -  Mar 03, 2005

am I crazy or is this the wrong section?

 Respond  
DarthReven   -  Feb 28, 2005

why not use $away it returns $true if you are marked as away and $false if your not so you don\'t have to use some many variables

 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.