Paste this snippet in a new remotes.
Once loaded, a dialog will come up asking for you nickserv password, this isn't an attempt to hack you, it's so it auto identifies you when you come back from away.
To go away, just type /gone (reason for away)
To deactivate it, just type /back
Features:
PM Logger
Notice Logger
Notices people your reason of away when they say your name
You are welcome to modify this script in any way you like. I will not be editing it anymore.
on *:load:{
set %nick.pass $$?="What is your nickserv password?"
}
alias gone {
set %away.script on
set %away.nick $me
away $1-
amsg I am now away - Reason: [ $1- ] - Time left: [ $time(h:nn $+ TT) ]
nick $me $+ |Away
}
alias back {
away
nick %away.nick
.msg nickserv identify %nick.pass
amsg I have returned from [ $awaymsg ] - I have been away for: [ $duration($awaytime) ]
unset %away.nick %away.script
}
on ^*:OPEN:?:*: {
if ( %away.script == on ) {
if ( !$window(@AwayLog) ) {
window -n @AwayLog
echo @Awaylog $str(-=-,5) Away Log $str(-=-,5)
}
.msg $nick 11[(AUTOMATED AWAY MESSAGE)]11 4I am away!4
.msg $nick Reason: $awaymsg - Away Time: $duration($awaytime)
echo -t @AwayLog � 11 $nick has pm'd you at $fulldate $+ .11
echo -t @AwayLog � 4Message: $1-4
halt
}
}
on *:TEXT:$( %away.nick ):#:{
if ( %away.script == on ) {
.notice $nick Sorry, but I am away - Reason: $awaymsg - I have been away for: $duration($awaytime)
halt
}
}
on *:NOTICE:*:?: {
if ( %away.script == on ) {
if ( !$window(@AwayLog) ) {
window -n @AwayLog
echo @Awaylog $str(-=-,5) Away Log $str(-=-,5)
}
.notice $nick Sorry, but I am away - Reason: $awaymsg - I have been away for: $duration($awaytime)
echo -t @AwayLog �11 $nick has noticed you at $fulldate $+ .11
echo -t @AwayLog � 4Message: $1-4
}
}
on *:DISCONNECT:{
if ( %away.script == on ) {
nick %away.nick
unset %away.nick %away.script
}
}
it\'s ok but i would change a few things like for ur on text event you have
on *:TEXT:$(* $+ %away.nick $+ *):#:{
it should be
on *:TEXT:$($+(* $+ %away.nick $+ *)):#:{
you have some of the amsg\'s silenced so it wont say it in the channel, and you dont have to use those halt\'s .
ok on ur gone aliases you have this:
alias gone {
set %away.script on
set %reason $$?=\"Type the reason why you are going away.\"
set %away.time $ctime
set %away.nick $me
away %reason
.amsg I am now away - Reason: [ %reason ] - Time left: [ $time ]
nick $me $+ |Away
halt
}
you can do this:
alias gone {
set %away.script on
set %away.nick $me
away $1-
amsg I am now away - Reason: [ $1- ] - Time left: [ $time(h:nn: tt) ]
nick $me $+ |Away
}
same thing with ur back aliase you have this:
alias back {
away
nick %away.nick
.msg nickserv identify %nick.pass
.amsg I have returned from [ %reason ] - I have been away for: [ $duration($calc($ctime - %away.time)) ]
set %away.script off
unset %away.time
unset %reason
unset %away.nick
halt
}
you can do this:
alias back {
away
nick %away.nick
.msg nickserv identify %nick.pass
amsg I have returned from [ $awaymsg ] - I have been away for: [ $duration($awaytime) ]
unset %away.nick %away.script
}
look in to useing
$duration($awaytime)
instead of useing
set %away.time $ctime / $duration($calc($ctime - %away.time))
and look into useing
$awaymsg
instead of useing
set %reason $$?=\"Type the reason why you are going away.\"
also i would just unset %away.script instead of set %away.script off that way you can use that var like if (%away.script) { or if (!%away.script) { in the rest of ur script instead of useing this if ( %away.script == on )
id rate it a 4/10