All pastes #451084 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-04-21 07:39 UTC
rendered paste body
on *:CONNECT: {
  if (%awaynow == On) { if ($left(%awayreason,4) == Auto) { .timer 1 20 /idle } | else { .timer 1 10 /away %awayreason | .timer 1 12 set %gone %gone } }
  else { set %awaynow Off | unset %gone | unset %awayreason }
}

on *:text:*:?:{
  if (%awaynow == On && $nick != $null) { 
    if (%away. [ $+ [ $nick ] ] == $null) {
      if (@Find !isin $1 && File Server Search !isin $gettok($1-,1-3,32)) {
        var %tmp.ad = $+(%col1,$chr(91),%col2,Away,%col1,$chr(93)) $+(Reason:,$chr(91),%col2,%awayreason,%col1,$chr(93)) $+(Gone for:,$chr(91),%col2,$duration(%gone),%col1,$chr(93))
        if (%Pager != On) { /msg $nick %tmp.ad $+(Pager:,$chr(91),%col2,OFF,%col1,$chr(93)) }
        else { /msg $nick %tmp.ad $+(Pager:,$chr(91),%col2,/ctcp) $me page $+(*message*,%col1,$chr(93)) - SysRes $+ et %ver }
      }
      .set %away. $+ $nick 1
    }
    .timer $+ $nick 1 $calc($rand(10,60) + 90) /unset %away. $+ $tnick($nick)
  }
}
dialog Away_Manager {
  title "Away Manager"
  size -1 -1 158 173
  option pixels
  text "Auto Away Time(min):", 25, 11 16 107 16
  edit "", 1, 116 13 32 22
  radio "Enabled", 2, 11 92 64 15, group
  radio "Disabled", 3, 76 92 64 15
  text "Change Nickname on away:", 31, 12 39 135 13
  edit "No Change", 5, 12 53 133 22
  button "Cancel", 150, 80 150 75 20, cancel
  button "&OK", 200, 3 150 75 20, default ok
  box "", 4, 3 0 152 144
  box "Pager", 6, 3 76 152 68
  box "Auto Away", 32, 3 106 152 38
  radio "Enabled", 10, 11 122 64 15, group
  radio "Disabled", 11, 76 122 64 15
}
on *:dialog:Away_Manager:*:*:{
  if ($devent == init) { 
    if (%pager == On) { did -c $dname 2 } | else { did -c $dname 3 }
    did -ra $dname 1 $int($calc(%idle / 60))
    if (%awayname != $null) did -ra $dname 5 %awayname
    if (%idle == 0) { did -c $dname 11 } | else { did -c $dname 10 }
  }
  if ($devent == sclick) {
    if ($did == 200) { 
      if ($did(5).text == $null || $chr(32) isin $did(5).text) { unset %awayname } | else { set %awayname $did(5).text }
      if ($did(10).state == 1) { set %idle $calc($did(1).text * 60) } | else { set %idle 0 }
      if (%idle <= 0) { set %idle 0 }

      if ($did(2).state == 1) { set %pager On } | else { set %pager Off }

      .timer200 OFF
      if (%idle > 30) { .timer200 0 10 if ($idle >= %idle $+ ) /idle }
    }
  }
  if ($devent == init || ($devent == sclick && ($did == 10 || $did == 11))) {
    if ($did(10).state == 1) { did -e $dname 1,2,3,5 } | else { did -b $dname 1,2,3,5 }
  }
}