Away since.... - Printable Version
-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: Away since.... (/showthread.php?tid=93087)
Away since.... by sno on 12-01-2009 at 01:24 PM
Ok i've spent some time searching, there was 1 result that looked promising but the file no longer exists.
Im looking for a Script that changes my PSM, to the time my status went to Idle/Away eg
Away since 12:27 PM (GMT0)
Is this possible and if so how could i go about getting it set?
RE: Away since.... by Spunky on 12-01-2009 at 01:38 PM
It's very possible to do. It could be written in 5 minutes... If I've got time later...
RE: Away since.... by matty on 12-01-2009 at 03:21 PM
Something like this: js code: var LOCALE_USER_DEFAULT = 0x400;
var TIME_NOSECONDS = 0x2;
function OnEvent_MyStatusChange(nStatus) {
var oStatus = { STATUS_ONLINE : 'Online',
STATUS_BUSY : 'Busy',
STATUS_AWAY : 'Away',
STATUS_IDLE : 'Idle',
STATUS_INCALL : 'On the phone',
STATUS_OUTLUNCH : 'Out to lunch'
}
if (typeof oStatus[nStatus] === 'object') {
var SYSTEMTIME = Interop.Allocate(16);
var sTime = Interop.Allocate(512);
var sDate = Interop.Allocate(512);
Interop.Call('kernel32', 'GetSystemTime', SYSTEMTIME);
Interop.Call('kernel32', 'GetTimeFormatW', LOCALE_USER_DEFAULT, TIME_NOSECONDS, SYSTEMTIME, 0, sTime, sTime.Size);
Interop.Call('kernel32', 'GetDateFormatW', LOCALE_USER_DEFAULT, 0, SYSTEMTIME, 0, sDate, sDate.Size);
Messenger.MyPersonalMessage = oStatus[nStatus]+ ' since '+sDate.ReadString(0) +' '+sTime.ReadString(0);
}
}
RE: Away since.... by Spunky on 12-01-2009 at 03:44 PM
quote: Originally posted by matty
Something like this:
Why not just new Date()?
RE: Away since.... by sno on 12-01-2009 at 03:52 PM
What about storing, and restoring a previous PSM? i did mean to state that in before
RE: Away since.... by matty on 12-01-2009 at 04:08 PM
quote: Originally posted by Spunky
quote: Originally posted by matty
Something like this:
Why not just new Date()?
Not sure lol; real reason is the API then allows you to get the date and time in the users locale.
quote: Originally posted by sno
What about storing, and restoring a previous PSM? i did mean to state that in before
Read the documentation and add it in
RE: Away since.... by sno on 12-01-2009 at 07:51 PM
i didn't quite get what you posted to work matty, but i took some time to properly read the documentation and changed the method and since i only wanted it for when im idle changed it accordingly
Even got the psm stored and restored working ^^, not bad for a first try
code: var LOCALE_USER_DEFAULT = 0x400;
var TIME_NOSECONDS = 0x2;
function OnEvent_Uninitialize(MessengerExit)
{
Messenger.MyPersonalMessage = oPSM;
}
function OnEvent_MyStatusChange(nStatus) {
if (nStatus == 6) {
var SYSTEMTIME = Interop.Allocate(16);
var sTime = Interop.Allocate(512);
var sDate = Interop.Allocate(512);
Interop.Call('kernel32', 'GetSystemTime', SYSTEMTIME);
Interop.Call('kernel32', 'GetTimeFormatW', LOCALE_USER_DEFAULT, TIME_NOSECONDS, SYSTEMTIME, 0, sTime, sTime.Size);
Interop.Call('kernel32', 'GetDateFormatW', LOCALE_USER_DEFAULT, 0, SYSTEMTIME, 0, sDate, sDate.Size);
Messenger.MyPersonalMessage = 'Idle since '+sDate.ReadString(0) +' '+sTime.ReadString(0)+' (GMT0)' ;
isIdle = true;
oPSM = Messenger.MyPersonalMessage;
}
else if( isIdle == true )
{
isIdle = false;
Messenger.MyPersonalMessage = oPSM;
}
}
|