Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on 1:disconnect:{
- if ($away) away.change wasaway 1
- if ($dialog(away_count)) dialog -x away_count
- }
- on 1:connect:{
- if ($away.ri(wasaway)) { away.c %away.c.reason | away.change wasaway 0 }
- if (($away.ri(auto)) && (!$away)) { .timerautoaway 0 59 away.c.autocheck }
- }
- alias away.ri { return $readini(away_obj.ini,settings,$1) }
- alias away.wi { writeini away_obj.ini settings $1 $2- }
- alias away.dialog {
- if ($1) { away.wi size 0 }
- else { away.wi size 1 }
- if (!$dialog(away_obj)) { dialog -m away_obj away_obj }
- if ($1) { dialog -sb away_obj -1 -1 210 90 }
- else { dialog -sb away_obj -1 -1 210 179 }
- }
- alias away.change {
- if ($2 == 0) remini away_obj.ini settings $1
- else writeini away_obj.ini settings $1 $2-
- }
- alias away.c.autocheck { if ((!$away) && ($away.ri(auto))) { if ($calc($idle /60) > $away.ri(idle)) away.c auto-away } }
- alias aw.setup { away.dialog 1 }
- alias aw.view { away.dialog }
- alias aw { away.c $1- }
- alias away.c {
- if ($away == $false) {
- if ($timer(autoaway)) .timerautoaway off
- if (!$away.ri(wasaway)) set %away.c.ctime $ctime
- if ($1) { set %away.c.msg $1- }
- elseif ($away.ri(prompt)) {
- if ($?!="Use Default Away Message?" == $false) { set %away.c.msg $$?="Enter an Away Message" }
- }
- if (!%away.c.msg) { set %away.c.msg $away.ri(reason) }
- if ($dialog(away_obj)) {
- if ($away.ri(dialog)) { dialog -x away_obj }
- else { did -ra away_obj 1 Back }
- }
- $iif($away.ri(networks),scid -at1,) away %away.c.msg
- away.change awayck 1
- away.c.chanad away
- .timerawayobj 0 $calc(60*$away.ri(loop)) away.c.chanad away
- $iif($away.ri(networks),scid -at1,) tnick $away.ri(anick)
- if (($away.ri(open)) && (!$dialog(away_count))) { dialog -m away_count away_count }
- }
- else {
- $iif($away.ri(networks),scid -at1,) away
- away.change awayck 0
- $iif($away.ri(networks),scid -at1,) nick $away.ri(nick)
- if ($away.ri(chanad)) away.c.chanad back
- .timerawayobj off
- .resetidle
- if (!$timer(autoaway)) .timerautoaway 0 59 away.c.autocheck
- .unset %away.c.msg %away.c.ctime
- if ($dialog(away_count)) { dialog -x away_count }
- if ($dialog(away_obj)) { did -ra away_obj 1 Away }
- elseif ($away.ri(dialog)) { away.dialog }
- }
- }
- alias away.c.chanad {
- if ($1) var %away.c.status = $1 {
- else var %away.c.status = away
- if ($away.ri(chanad)) {
- if (($away.ri(adtype) != 0) && ($away.ri(chans))) {
- var %i = 1
- while ($scon(%i)) {
- scid $ifmatch
- var %cloop = 1
- unset %away.c.chans
- while ($chan(%cloop)) {
- if (($away.ri(adtype) == 1) && (!$istok($away.ri(chans),$chan(%cloop),44))) %away.c.chans = $addtok(%away.c.chans,$chan(%cloop),44)
- elseif (($away.ri(adtype) == 2) && ($istok($away.ri(chans),$chan(%cloop),44))) %away.c.chans = $addtok(%away.c.chans,$chan(%cloop),44)
- inc %cloop 1
- }
- if (%away.c.chans) describe %away.c.chans $1 $+ : $away.c.cmsg
- inc %i 1
- if (!$away.ri(networks)) { goto chanad }
- }
- }
- if ($away.ri(adtype) == 0) {
- if ((!$away.ri(networks)) && ($chan(0) > 0)) ame $1 $+ : $away.c.cmsg
- elseif ($away.ri(networks)) {
- var %i = 1
- while ($scon(%i)) {
- scid $ifmatch
- if ($chan(0) > 0) { ame $1 $+ : $away.c.cmsg }
- inc %i 1
- }
- }
- }
- :chanad
- scid -r
- }
- }
- }
- alias away.c.cmsg { return $replace($away.ri(cmsg),&msg,%away.c.msg,&l,$iif($away.ri(privlog),on,off) $&
- ,&p,$iif($away.ri(pagelog),on,off),&s,awayobj v2,&d,$away.c.dur(%away.c.ctime)) }
- alias away.c.dur { return $replace($duration($calc($ctime - $1),1),mins,m,min,m,secs,s,sec,s,hrs,h,hr,h,days,d,day,d) }
- alias away.c.vmsgs {
- if (!$2) {
- if (!$ini($1,1)) { return No Records }
- var %loop = 2
- var %toklist = $ini($1,1)
- while ($ini($1,%loop)) {
- %toklist = $addtok(%toklist,$ini($1,%loop),46)
- inc %loop 1
- }
- return %toklist
- }
- elseif ($2) {
- if (!$ini($1,$2,1)) { return No Records }
- var %loop = 2
- var %toklist = $ini($1,$2,1)
- while ($ini($1,$2,%loop)) {
- %toklist = $addtok(%toklist,$ini($1,$2,%loop),46)
- inc %loop 1
- }
- return %toklist
- }
- }
- menu channel,menubar {
- Away Object
- .$iif($away,Set Back,Set Away):away.c
- .-
- .Log Pmsgs ( $iif($away.ri(privlog),On,Off) ):away.change privlog $iif($away.ri(privlog),0,1)
- .Log Pages ( $iif($away.ri(pagelog),On,Off) ):away.change pagelog $iif($away.ri(pagelog),0,1)
- .-
- .Msg Counter ( $iif($away.ri(open),On,Off) ):away.change open $iif($away.ri(open),0,1)
- .Auto Open\Close ( $iif($away.ri(dialog),On,Off) ):away.change dialog $iif($away.ri(dialog),0,1)
- .-
- .Log Viewer:away.dialog
- .Settings:away.dialog 1
- .-
- .Unload:.unload -rs " $+ $script $+ "
- }
- ctcp 1:page:?:{
- if ($away == $true) {
- if ($away.ri(pagelog)) writeini away_obj_pages.ini $adate $ctime ( $+ $network $+ ) $nick $+ : $2-
- if ($dialog(away_count)) did -ra away_count 6 $calc($did(away_count,6) + 1)
- }
- }
- on 1:text:*:?:{
- if ($away == $true) {
- if ($away.ri(privlog)) {
- writeini away_obj_priv.ini $adate $ctime ( $+ $network $+ ) $nick $+ : $1-
- if (($away.ri(privad)) && ($nick != $me)) .msg $nick Automatical msg Away: %away.c.msg
- close -m $nick
- }
- if ($dialog(away_count)) did -ra away_count 5 $calc($did(away_count,5) + 1)
- }
- }
- dialog away_obj {
- title "Clear v1.0 Away System"
- size -1 -1 210 179
- option dbu
- edit "", 2, 38 11 55 12, read autohs
- edit "", 3, 38 24 55 12, read autohs
- list 8, 9 117 190 51, size hsbar vsbar
- check "Enable", 5, 79 38 29 10
- text "Nickname", 9, 9 14 25 8
- text "Away Nick", 10, 9 27 28 8
- text "Default Reason", 17, 9 40 43 8
- edit "", 18, 8 48 99 12, autohs
- button "Away", 1, 154 71 23 14
- button "?", 15, 95 11 12 11
- button "?", 20, 95 24 12 11
- box "View Messages", 21, 4 92 201 83
- box "Basic Setup", 16, 4 3 109 62
- box "Logging", 6, 115 3 91 22
- check "Private Messages", 14, 119 12 52 10
- button "Load", 22, 154 102 21 12
- button "Delete", 25, 177 102 21 12
- check "Pages", 28, 175 12 28 10
- combo 29, 9 103 57 29, size drop
- combo 30, 68 103 84 74, size drop
- box "Advertisement", 12, 115 26 91 39
- check "Private Messages", 13, 119 34 54 10
- check "Channels", 23, 119 43 34 10
- edit "", 4, 169 50 16 11, autohs center
- text "mins", 7, 187 52 14 8
- check "Log Viewer", 19, 117 71 34 14, push
- button "Setup", 11, 176 35 26 12
- check "Set away after", 24, 8 74 48 10
- edit "", 26, 57 73 18 11, autohs center
- text "idle minutes", 31, 77 75 30 8, right
- check "All Networks", 32, 119 52 41 10
- box "Auto-away", 33, 4 66 109 21
- button "Close", 34, 180 71 25 14, ok
- }
- dialog away_count {
- title "You're Away"
- size -1 -1 97 43
- option dbu
- text "Private Messages:", 1, 3 5 53 8
- text "Received Pages:", 2, 3 17 53 8
- button "I'm Back", 3, 60 28 32 12, ok
- text "0", 5, 59 5 32 8, right
- text "0", 6, 59 17 32 8, right
- }
- on 1:dialog:away_obj:init:0:{
- if ($away.ri(size) == 1) did -c $dname 19
- else did -u $dname 19
- did -ra $dname 2 $away.ri(nick)
- did -ra $dname 3 $away.ri(anick)
- did -ra $dname 4 $away.ri(loop)
- did -ra $dname 26 $away.ri(idle)
- did -ra $dname 18 $away.ri(reason)
- did -ra $dname 1 $iif($away.ri(awayck),Back,Away)
- if ($away.ri(prompt)) { did -c $dname 5 }
- if ($away.ri(privlog)) { did -c $dname 14 }
- if ($away.ri(pagelog)) { did -c $dname 28 }
- if ($away.ri(privad)) { did -c $dname 13 }
- if ($away.ri(chanad)) { did -c $dname 23 }
- if ($away.ri(auto)) { did -c $dname 24 }
- if ($away.ri(networks)) { did -c $dname 32 }
- didtok $dname 29 46 Private Messages.Pager Messages
- did -c $dname 29 1
- didtok $dname 30 46 $away.c.vmsgs(away_obj_priv.ini)
- did -c $dname 30 1
- }
- on 1:dialog:away_obj:sclick:*:{
- if (($did == 15) && ($$?="Enter a new regular nickname")) {
- away.wi nick $$!
- did -ra $dname 2 $away.ri(nick)
- }
- if (($did == 20) && ($$?="Enter a new away nickname")) {
- away.wi anick $$!
- did -ra $dname 3 $away.ri(anick)
- }
- if ($istok(5.14.28.13.23.24.32,$did,46)) {
- var %away.c.t = $findtok(5.14.28.13.23.24.32,$did,1,46)
- %away.c.t = $gettok(prompt.privlog.pagelog.privad.chanad.auto.networks,%away.c.t,46)
- away.change %away.c.t $did($dname,$did).state
- if ($did == 24) {
- if ($did($dname,$did).state == 1) .timerautoaway 0 59 away.c.autocheck
- else .timerautoaway off
- }
- if ($did == 23) {
- if (($did($dname,$did).state == 1) && ($away) && (!$timer(awayobj))) { away.c.chanad away | .timerawayobj 0 $calc(60*$away.ri(loop)) away.c.chanad away }
- elseif ($timer(awayobj)) { .timerawayobj off }
- }
- }
- if ($did == 19) {
- if ($did($dname,$did).state == 1) { away.dialog }
- else { away.dialog 1 }
- }
- if ($did == 29) {
- if ($did($dname,$did) == Private Messages) { did -r $dname 30 | didtok $dname 30 46 $away.c.vmsgs(away_obj_priv.ini) | did -c $dname 30 1 }
- if ($did($dname,$did) == Pager Messages) { did -r $dname 30 | didtok $dname 30 46 $away.c.vmsgs(away_obj_pages.ini) | did -c $dname 30 1 }
- }
- if ($did == 22) {
- did -r $dname 8
- var %away.file = $iif($did($dname,29) == Private Messages,away_obj_priv.ini,away_obj_pages.ini)
- var %away.entries = $away.c.vmsgs(%away.file,$did($dname,30))
- if (%away.entries != No Records) {
- var %loop2 = 1
- while ($gettok(%away.entries,%loop2,46)) {
- var %away.time = $gettok(%away.entries,%loop2,46)
- did -iz $dname 8 $did($dname,$did).lines $chr(91) $+ $asctime(%away.time,hh:nntt) $+ $chr(93) $readini(%away.file,$did($dname,30),%away.time)
- inc %loop2 1
- }
- }
- }
- if (($did == 25) && ($did($dname,30) != No Records) && ($?!="Are You Sure You Want To Delete The Logs of $did($dname,30) ?")) {
- var %away.file = $iif($did($dname,29) == Private Messages,away_obj_priv.ini,away_obj_pages.ini)
- remini %away.file $did($dname,30)
- did -r $dname 30,8
- didtok $dname 30 46 $away.c.vmsgs(%away.file)
- did -c $dname 30 1
- }
- if ($did == 1) { did -ra $dname $did $iif($away,Back,Away) | away.c }
- if (($did == 11) && (!$dialog(away_chans))) { dialog -m away_chans away_chans }
- }
- on 1:dialog:away_obj:edit:*:{
- if (($did == 18) && ($did($dname,$did))) { away.wi reason $did($dname,$did) }
- if (($did == 4) || ($did == 26)) {
- if ($did($dname,$did) isnum) { away.wi $iif($did == 4,loop,idle) $did($dname,$did) }
- else { away.wi $iif($did == 4,loop,idle) 30 | did -ra $dname $did 30 }
- }
- }
- on 1:dialog:away_count:sclick:3:{
- if ($away) away.c
- if ((%away.c.t == open) && ($away)) {
- if (($did($dname,$did).state == 1) && (!$dialog(away_count))) dialog -m away_count away_count
- if (($did($dname,$did).state == 0) && ($dialog(away_count))) dialog -x away_count
- }
- }
- on 1:dialog:away_chans:init:0:{
- didtok $dname 1 46 All.Except.Only
- did -c $dname 1 $calc($away.ri(adtype) + 1)
- if ($away.ri(chans)) did -ra $dname 2 $away.ri(chans)
- if ($away.ri(cmsg)) did -ra $dname 8 $away.ri(cmsg)
- did -ra $dname 11 &&msg $crlf $+ &&l $crlf $+ &&p $crlf $+ &&d $crlf $+ &&s
- did -ra $dname 12 away msg $crlf $+ pmsg logging $crlf $+ page logging $crlf $+ time gone $crlf $+ addon name $crlf
- }
- on 1:dialog:away_chans:sclick:*:{
- if ($did == 1) away.wi adtype $calc($did($dname,$did,1).sel - 1)
- }
- on 1:dialog:away_chans:edit:*:{
- if ($did == 2) {
- if ($did($dname,$did)) away.wi chans $did($dname,$did)
- else away.change chans 0
- }
- if ($did == 8) {
- if ($did($dname,$did)) away.wi cmsg $did($dname,$did)
- else away.wi cmsg &msg (l:&l/p:&p)
- }
- }
- dialog away_chans {
- title "Channel Setup"
- size -1 -1 101 128
- option dbu
- button "OK", 3, 76 114 23 12, ok
- combo 1, 6 12 41 51, size drop
- edit "", 2, 5 32 91 12, autohs
- text "Channels", 4, 49 13 27 8
- box "Advertisement Rule", 5, 2 2 97 47
- text "Channels (seperate with commas)", 6, 6 24 88 8
- box "Advertisement Style", 7, 2 50 97 62
- edit "&msg l:&l/p:&p", 8, 5 95 91 12, autohs center
- text "&&msg", 11, 6 58 30 36
- text "Text Label", 12, 48 58 47 36, right
- }
Add Comment
Please, Sign In to add comment