[HELP] Send On Signin - 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: [HELP] Send On Signin (/showthread.php?tid=88341)
[HELP] Send On Signin by fnatiq on 01-12-2009 at 12:38 PM
Hello,
I Downloaded the file from http://shoutbox.menthix.net/showthread.php?tid=63043
But now i want to automaticly send a text when someone comes online.
I tried to change it and set it up like this
function OnEvent_ContactSignin(Email){
if(!fso.FolderExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"))
fso.CreateFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\");
if(Messenger.MyContacts.GetContact(Email).status!=1){
var Contact = Messenger.MyContacts.GetContact(Email);
if(fso.FileExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"+Email+".txt")){
}
Open(Contact);
}
}
function Open(Contact){
CWnd = Messenger.OpenChat(Contact.Email);
CWnd.SendMessage(fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"+((Contact.Network===1)?"":"yahoo:")+Contact.Email+".txt",1).ReadAll().replace(/[\s\S]{2}$/,""));
setTimeout ( 'Open(Contact)', 3000 );
That works, but it sends the message too fast.
I tried the timer but that don't work.
Can somebody help me.
PS. The orginal topic is closed that's why i started a new topic
RE: [HELP] Send On Signin by mynetx on 01-12-2009 at 12:42 PM
Read about timers in the Scripting Documentation at MsgPlus.AddTimer and OnEvent_Timer.
RE: [HELP] Send On Signin by fnatiq on 01-12-2009 at 12:46 PM
Yea i did but i dont know what to do now
Just a beginner
RE: [HELP] Send On Signin by markee on 01-12-2009 at 01:18 PM
It has been quite a long time since I have worked on this script so please realise that I might not get this right, but I think all you need to do is modify lines 24 and 32 in the original script to the following code (replacing what is already there).
code: Open(Contact);
If you still want the toasts to be made you can keep the old code there (but I do suggest modifying it so that it say something more practical and related to what it has done).
I hope this helps.
RE: [HELP] Send On Signin by fnatiq on 01-12-2009 at 01:24 PM
It's give the same effect.
When i do that, the script send the text faster than the person comes online. So the person can't see the "Welcomes text"
RE: [HELP] Send On Signin by markee on 01-12-2009 at 01:35 PM
Sorry, I didn't see you needed the timer. Please try the following code (i just copied it all as it as easier).
code: var waitTime = 100; // Please change this variable to be the number of milliseconds you wish to wait before the message is sent
///////////////////////////////////////////////////////
//
// This script is written by Mark 'markee' Kernke
//
// Please do not reproduce this script (part or whole)
// without prior concent of the author.
//
///////////////////////////////////////////////////////
var Status = new Array("","Offline","","Online","Busy","Be Right Back","Idle","Away","In a Call","Out to Lunch");
var fso = new ActiveXObject("Scripting.FileSystemObject");
var E2;
function OnEvent_Initialize(M){
if(!fso.FolderExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"))
fso.CreateFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\");
}
function OnEvent_ContactSignin(Email){
if(!fso.FolderExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"))
fso.CreateFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\");
if(Messenger.MyContacts.GetContact(Email).status!=1){
var Contact = Messenger.MyContacts.GetContact(Email);
if(fso.FileExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"+Email+".txt")){
MsgPlus.DisplayToastContact("Send On Sign-in",Contact.Name,"Signed in ("+Status[Contact.Status]+")\r\nClick to send personal hello","","Open",Contact);
MsgPlus.AddTimer(Email,waitTime); //extra code
}else{
MsgPlus.DisplayToastContact("Send On Sign-in",Contact.Name,"Signed in ("+Status[Contact.Status]+")\r\nClick to Open Chat","","Chat",Contact);
}
}else if(Messenger.MyContacts.GetContact("yahoo:"+Email).status!=1){
Email = "yahoo:"+Email;
var Contact = Messenger.MyContacts.GetContact(Email);
if(fso.FileExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"+Email+".txt")){
MsgPlus.DisplayToastContact("Send On Sign-in",Contact.Name,"Signed in ("+Status[Contact.Status]+")\r\nClick to send personal hello","","Open",Contact);
MsgPlus.AddTimer(Email,waitTime); //extra code
}else{
MsgPlus.DisplayToastContact("Send On Sign-in",Contact.Name,"Signed in ("+Status[Contact.Status]+")\r\nClick to Open Chat","","Chat",Contact);
}
}
}
function Chat(Contact){
Messenger.OpenChat(Contact.Email);
}
function Open(Contact){
CWnd = Messenger.OpenChat(Contact.Email);
CWnd.SendMessage(fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"\\"+((Contact.Network===1)?"":"yahoo:")+Contact.Email+".txt",1).ReadAll().replace(/[\s\S]{2}$/,""));
}
function OnGetScriptMenu(Location){
var ScriptMenu ="<ScriptMenu>";
ScriptMenu +="<MenuEntry Id=\"Pref\">Preferences</MenuEntry>";
ScriptMenu +="</ScriptMenu>";
return ScriptMenu;
}
function OnEvent_MenuClicked(MenuId,Location,ChatWnd){
if(MenuId=="Pref"){
StartPref();
}
}
function StartPref(){
var Wnd = MsgPlus.CreateWnd("UI.xml","WndUI",1);
var i=0;
var arr = new Array();
var Email;
var e = new Enumerator(Messenger.MyContacts);
for(;!e.atEnd();e.moveNext()){
arr[i] = ((e.item().Network===1)?e.item().Email:"yahoo:"+e.item().Email);
i++;
}
arr = arr.sort();
if(!fso.FolderExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\")){
fso.CopyFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId, MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy");
}
for(i in arr){
Wnd.LstView_AddItem("ListContacts",arr[i]);
Wnd.LstView_SetItemText("ListContacts",i,1,Messenger.MyContacts.GetContact(arr[i]).Name);
}
Wnd.visible = true;
}
function OnWndUIEvent_CtrlClicked(Wnd,Ctrl){
switch(Ctrl){
case "BtnSave":
ts = fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt",2,true)
ts.WriteLine(Wnd.GetControlText("EdtSend"));
ts.Close();
fso.CopyFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy",MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId);
Wnd.Close(0);
E2 = "undefined";
break;
case "BtnApply":
ts = fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt",2,true)
ts.WriteLine(Wnd.GetControlText("EdtSend"));
ts.Close();
fso.CopyFolder(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy",MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId);
E2 = "undefined";
break;
}
}
function OnWndUIEvent_LstViewClicked(Wnd,Ctrl,Index){
ts = fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt",2)
ts.WriteLine(Wnd.GetControlText("EdtSend"));
ts.Close();
E2 = Wnd.LstView_GetItemText(Ctrl,Index,0);
Debug.Trace(E2);
if(!fso.FileExists(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt")){
ts = fso.CreateTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt");
ts.WriteBlankLines(1);
ts.Close();
}
Wnd.SetControlText("EdtSend","");
ts = fso.OpenTextFile(MsgPlus.ScriptFilesPath+"\\"+Messenger.MyUserId+"copy\\"+E2+".txt",1,true)
Wnd.SetControlText("EdtSend",ts.ReadAll().replace(/[\s\S]{2}$/,""));
ts.Close();
}
function OnEvent_Timer(TimerId){
Open(Messenger.MyContacts.GetContact(Email));
}
RE: [HELP] Send On Signin by fnatiq on 01-12-2009 at 01:44 PM
Scriptdebugger gifs a error at this line
function OnEvent_Timer(TimerId){
Open(Messenger.MyContacts.GetContact(Email));
}
RE: [HELP] Send On Signin by matty on 01-12-2009 at 01:58 PM
quote: Originally posted by fnatiq
Scriptdebugger gifs a error at this line
function OnEvent_Timer(TimerId){
Open(Messenger.MyContacts.GetContact(Email));
}
Should be:
js code: function OnEvent_Timer(TimerId){
Open(Messenger.MyContacts.GetContact(TimerId));
}
RE: [HELP] Send On Signin by fnatiq on 01-12-2009 at 02:05 PM
Yes it works thanks a lot for your time mate
|