messenger.addMessageListener(new MsnMessageAdapter() {
public void instantMessageReceived(MsnSwitchboard switchboard, MsnInstantMessage message, MsnContact contact) {
//text
switchboard.sendMessage(message);
System.out.println(contact.getDisplayName() + ": " + message.getContent());
}
public void controlMessageReceived(MsnSwitchboard switchboard, MsnControlMessage message, MsnContact contact) {
//such as typing message and recording message
switchboard.sendMessage(message);
}
public void datacastMessageReceived(MsnSwitchboard switchboard, MsnDatacastMessage message, MsnContact contact) {
//such as Nudge
switchboard.sendMessage(message);
}
});
messenger.addMessageListener(new MsnAdapter() {
public void loginCompleted(MsnMessenger messenger){
System.out.println("Login was successful.");
}
});
messenger.login();
System.out.println("Trying to log in…");
}
public static void main(String args) {
new WorkingBackup("<myemail>", "<mypassword>", MsnUserStatus.ONLINE);
}
}
When I run it, if I was logged in through Windows Live Messenger, WLM logs me out (since I'm trying to log in).
Now, what's really confusing is that on one of my accounts, everything works as it should- others see me as online, and sending messages to me causes them to recieve echoes. But on my other account, running the program doesn't seem to change the status of the owner, though the logs do show activity over time.
The message "Login was successful" doesn't appear on both cases.
Any idea what's wrong?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey everyone,
I've writted a small program based on various examples (mainly the echo messenger), this is the code:
import net.sf.jml.MsnContact;
import net.sf.jml.MsnMessenger;
import net.sf.jml.MsnSwitchboard;
import net.sf.jml.MsnUserStatus;
import net.sf.jml.event.MsnAdapter;
import net.sf.jml.event.MsnMessageAdapter;
import net.sf.jml.impl.MsnMessengerFactory;
import net.sf.jml.message.MsnControlMessage;
import net.sf.jml.message.MsnDatacastMessage;
import net.sf.jml.message.MsnInstantMessage;
public class WorkingBackup {
public WorkingBackup(String email, String pass, MsnUserStatus msnUserStatus) {
MsnMessenger messenger = MsnMessengerFactory.createMsnMessenger(email, pass);
messenger.getOwner().setInitStatus(msnUserStatus);
//messenger.setLogIncoming(true);
messenger.setLogOutgoing(true);
messenger.addMessageListener(new MsnMessageAdapter() {
public void instantMessageReceived(MsnSwitchboard switchboard, MsnInstantMessage message, MsnContact contact) {
//text
switchboard.sendMessage(message);
System.out.println(contact.getDisplayName() + ": " + message.getContent());
}
public void controlMessageReceived(MsnSwitchboard switchboard, MsnControlMessage message, MsnContact contact) {
//such as typing message and recording message
switchboard.sendMessage(message);
}
public void datacastMessageReceived(MsnSwitchboard switchboard, MsnDatacastMessage message, MsnContact contact) {
//such as Nudge
switchboard.sendMessage(message);
}
});
messenger.addMessageListener(new MsnAdapter() {
public void loginCompleted(MsnMessenger messenger){
System.out.println("Login was successful.");
}
});
messenger.login();
System.out.println("Trying to log in…");
}
public static void main(String args) {
new WorkingBackup("<myemail>", "<mypassword>", MsnUserStatus.ONLINE);
}
}
When I run it, if I was logged in through Windows Live Messenger, WLM logs me out (since I'm trying to log in).
Now, what's really confusing is that on one of my accounts, everything works as it should- others see me as online, and sending messages to me causes them to recieve echoes. But on my other account, running the program doesn't seem to change the status of the owner, though the logs do show activity over time.
The message "Login was successful" doesn't appear on both cases.
Any idea what's wrong?
Nevermind for the second issue, Using addMessageListener() for adding that Adapter was wrong, and I fixed it. Other issue is still a problem though.
Second issue also (at least partially) solved now. Had a 241 error caused by a recently added contact, removing him makes everything work smoothly.