All pastes #583905 Raw Edit

Unborn

public text v1 · immutable
·published 2007-06-22 15:16 UTC
rendered paste body
dialog away {
  title "Away System by Unborn"
  size -1 -1 165 49
  option dbu
  button "Away", 1, 128 1 37 12
  button "Back", 2, 128 14 37 12
  edit "", 3, 28 2 98 10, autohs
  edit "", 4, 28 15 98 10, autohs
  text "Away Text", 5, 1 3 26 8
  text "Back Text", 6, 1 16 26 8
  check "Silent", 7, 1 28 25 10
  check "Log Messages", 8, 37 28 44 10
  button "Done", 10, 134 38 30 10, ok
  check "Use /AME", 12, 89 28 36 10
  button "Help", 13, 136 27 26 10
  check "Change Nick to:", 11, 1 38 50 10
  edit "", 14, 51 38 81 10
}
menu status,channel { 
  Away Dialog:/dialog -m away away 
}
on *:DIALOG:away:init:0:{
  did -a away 3 $iif($ini(away.ini,Text,Away),$readini(away.ini,Text,Away),Im Now Away - <r> - <p> - <c> - <t>)
  did -a away 4 $iif($ini(away.ini,Text,Back),$readini(away.ini,Text,Back),Im Now Back - <r> - <g>)
  did -a away 14 $iif($ini(away.ini,Option,Nick),$readini(away.ini,Option,Nick),$me $+ [Away])
  if ($ini(away.ini,Option,Silent)) { did -c away 7 }
  if ($ini(away.ini,Option,Plog)) { did -c away 8 }
  if ($ini(away.ini,Option,AME)) { did -c away 12 }
  if ($ini(away.ini,Option,ChgNick)) { did -c away 11 }
  if ($ini(away.ini,Away,Away)) { 
    did -b away 1,3-8,11-14
    did -e away 2
  }
  else {
    did -e away 1,3-8,11-14
    did -b away 2
  }
}
on *:DIALOG:away:edit:*:{
  if ($did == 3) {
    if ($did(away,3).text != $null) { writeini away.ini Text Away $did(away,3).text }
    else { remini away.ini Text Away }
  }
  if ($did == 4) {
    if ($did(away,4).text != $null) { writeini away.ini Text Back $did(away,4).text }
    else { remini away.ini Text Back }
  }
  if ($did == 14) {
    if ($did(away,14).text != $null) { writeini away.ini Option Nick $did(away,14).text }
    else { remini away.ini Option Nick }
  }
}
on *:DIALOG:away:sclick:7-9,11-12:{
  if ($did == 7) {
    if ($did(away,7).state == 1) { writeini away.ini Option Silent True }
    else { remini away.ini Option Silent }
  }
  if ($did == 8) {
    if ($did(away,8).state == 1) { writeini away.ini Option Plog True }
    else { remini away.ini Option Plog }
  }
  if ($did == 12) {
    if ($did(away,12).state == 1) { writeini away.ini Option AME True }
    else { remini away.ini Option AME }
  }
  if ($did == 11) {
    if ($did(away,11).state == 1) { writeini away.ini Option ChgNick True }
    else { remini away.ini Option ChgNick }
  }
}
on *:DIALOG:away:sclick:13:{ /awayhelp }
on *:DIALOG:away:sclick:1,2:{
  if ($did == 1)  {
    if ($ini(away.ini,Away,Away)) { HALT }
    if ($ini(away.ini,Option,Silent)) {
      var %awayreason = $iif($?="Away Reason:",$v1,Not Specified)
      var %awaytext = $replace($did(away,3).text,<r>,%awayreason,<p>,$iif($ini(away.ini,Option,Plog),On,Off),<t>,$time)
      away %awaytext
      echo -a $iif($ini(away.ini,Option,AME),* $me,< $+ $me $+ >) %awaytext
      writeini away.ini Away Away True
      writeini away.ini Away Reason %awayreason
      writeini away.ini Away Time $ctime
      if ($ini(away.ini,Option,ChgNick) && $did(away,14).text) { 
        writeini away.ini Away Nick $nick
        nick $did(away,14).text
      }
    }
    else {
      if ($did(away,3).text) {
        var %awayreason = $iif($?="Away Reason:",$v1,Not Specified)
        var %awaytext = $replace($did(away,3).text,<r>,%awayreason,<p>,$iif($ini(away.ini,Option,Plog),On,Off),<c>,$iif($ini(away.ini,Option,Clog),On,Off),<t>,$time)
        away %awaytext
        $iif($ini(away.ini,Option,AME),ame,amsg) %awaytext
        writeini away.ini Away Away True
        writeini away.ini Away Reason %awayreason
        writeini away.ini Away Time $ctime
        if ($ini(away.ini,Option,ChgNick) && $did(away,14).text) { 
          writeini away.ini Away Nick $nick
          nick $did(away,14).text
        }
      }
    }
    did -b away 1,3-8,11-14
    did -e away 2
  }
  if ($did == 2)  {
    if (!$ini(away.ini,Away,Away)) { HALT }
    if ($ini(away.ini,Option,Silent)) {
      var %backtext = $replace($did(away,4).text,<r>,$readini(away.ini,Away,Reason),<g>,$duration($calc($ctime - $readini(away.ini,Away,Time)),1))
      away
      if ($ini(away.ini,Away,Nick)) { nick $readini(away.ini,Away,Nick) }
      echo -a $iif($ini(away.ini,Option,AME),* $me,< $+ $me $+ >) %backtext
      remini away.ini Away
    }
    else {
      if ($did(away,4).text) {
        var %backtext = $replace($did(away,4).text,<r>,$readini(away.ini,Away,Reason),<g>,$duration($calc($ctime - $readini(away.ini,Away,Time)),1))
        away
        if ($ini(away.ini,Away,Nick)) { nick $readini(away.ini,Away,Nick) }
        $iif($ini(away.ini,Option,AME),ame,amsg) %backtext
        remini away.ini Away
      }
    }
    did -e away 1,3-8,11-14
    did -b away 2

    if ($ini(away.ini,Option,Plog)) {
      if ($$?!="Display Logs?" == $true) {
        window -ak0 @Logs
        var %i = 1, %x = $lines(plog.txt)
        echo @Logs ########
        echo @Logs # Logs #
        echo @Logs ########
        echo @Logs 
        while (%i <= %x) {
          echo @Logs $read(plog.txt,%i)
          inc %i
        }
      }
      .remove plog.txt
    }
  }
}
on *:TEXT:*:*:{ 
  if ($ini(away.ini,Away,Away)) {
    if ($chan) {
      if (* $+ $me $+ * iswm $1-) {
        notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
        if ($ini(away.ini,Option,Plog)) { write -i plog.txt $+([,$chan,]) $timestamp - $nick($chan,$nick).pnick - $1- }
      }
    }
    else { 
      notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
      if ($ini(away.ini,Option,Plog)) { write -i plog.txt [QUERY] $timestamp - $nick - $1- }
    }
  }
}
on *:NOTICE:*:*:{ 
  if ($ini(away.ini,Away,Away)) {
    if ($chan) {
      if (* $+ $me $+ * iswm $1-) {
        notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
        if ($ini(away.ini,Option,Plog)) { write -i plog.txt $+([,NOTICE - $chan,]) $timestamp - $nick($chan,$nick).pnick - $1- }
      }
    }
    else { 
      notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
      if ($ini(away.ini,Option,Plog)) { write -i plog.txt [NOTICE] $timestamp - $nick - $1- }
    }
  }
}
on *:ACTION:*:*:{ 
  if ($ini(away.ini,Away,Away)) {
    if ($chan) {
      if (* $+ $me $+ * iswm $1-) {
        notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
        if ($ini(away.ini,Option,Plog)) { write -i plog.txt $+([,$chan,]) $timestamp - * $nick $1- }
      }
    }
    else { 
      notice $nick Away - $readini(away.ini,Away,Reason) - Gone for $duration($calc($ctime - $readini(away.ini,Away,Time)),1)
      if ($ini(away.ini,Option,Plog)) { write -i plog.txt [QUERY] $timestamp - * $nick $1- }
    }
  }
}
alias -l awayhelp {
  window -ak0 @Away-Help
  aline @Away-Help Help For Unborn's Away Dialog:
  aline @Away-Help 
  aline @Away-Help Buttons:
  aline @Away-Help "Away" Button - Sets you as away, using all the settings provided.
  aline @Away-Help "Back" Button - Sets you as back from Being Away.
  aline @Away-Help 
  aline @Away-Help EditBoxes:
  aline @Away-Help "Change Nick to" Editbox - Sets the nick you will use when set to Away.
  aline @Away-Help "Away Text" Editbox - Sets the text you want to be displayed when Being set as Away.
  aline @Away-Help "Back Text" Editbox - Sets the text you want to be displayed when Being set as Back.
  aline @Away-Help 
  aline @Away-Help Key for Away/Back Text Editboxes:
  aline @Away-Help   <r> - Your Away Reason. Can be used for both Away and Back.
  aline @Away-Help   <p> - Your Private Log Status (On/Off). Used for Away Only.
  aline @Away-Help   <t> - The Time you left at. Used for Away Only.
  aline @Away-Help   <g> - The Time you were gone for. Used for Back only. 
  aline @Away-Help 
  aline @Away-Help Example for Away Editbox: I am now Away. Reason: <r> - Private Log: <p> - Left at: <t> 
  aline @Away-Help Example for Back Editbox: I am now back from: <r> - I was gone for <g> 
  aline @Away-Help 
  aline @Away-Help CheckBoxes:
  aline @Away-Help "Silent" Checkbox - Indicated Whether to Send Away Messages or Not.
  aline @Away-Help "Private Log" Checkbox - Indicates Whether to Log Private Messages (Notices/Ctcps/Querys) or not.
  aline @Away-Help "Channel Logs" Checkbox - Indicates Whether to Log Channel Messages or not.
  aline @Away-Help "/AME" Checkbox - Indicates Whether to use /AME or /AMSG. Checked Means /AME.
  aline @Away-Help "Change Nick To:" Checkbox - Indicates Whether to change Nickname when you set Away or not.
}