/messenger to open the GUI.- You can add/remove contacts in the contacts list.- The contacts are stored in database at server side.- Your conversation is stored at client side if the contact is online (which means it gets erased when you reconnect). If you were messaging a contact and he went offline or he was already offline, your message will be sent offline and will be stored at server side in database which means it will be saved even if you reconnect.- All offline messages are stored at server side and are not lost when you reconnect. One player can have maximum of 500 offline messages, if you exceed the limit, your oldest messages will start deleting.- You can clear a conversation from a contact by clicking contact and then clicking "Clear selected conversation" button. You can also delete a single message, to do so, open a conversation and select the message from gridlist, then press DELETE key from keyboard.- You can still use /sms <name> <message> command. If the <name> is not in your contacts list, their account name will be added automatically. This happens only with /sms command.- You can still use /re <message> command. If the last sender was not in your contacts list, the conversation won't be stored and contact won't be added.- You can set a contact as default reply. To do, select the contact from contacts list by double clicking and then click "Set as default /re" in the chat panel. After you set a 'default reply to', all your /re messages will go to that contact even if they go offline or are offline previously. This solves many 'fail sent' issues happening with current system. You can reset /re to normal functioning by clicking the same button in any conversation panel.- There are several attachment options, very useful ones I think (all attachments require the receiver to be online);- "Send Screenshot" will just open /viewss window for now, I am planning to make it functional later.- "Pin location" opens world map, there you can select a location and send to selected contact. Then the receiver can do /pinloc to navigate to red "S" blip which will be marked at selected coordinates. They can do /pinloc dest to destroy the blip. They can /pinloc any time later as well until they reconnect. If someone sent them another location after yours, the location coordinates will be overwritten which means your coordinates won't be given in /pinloc. This feature is very useful for helping newbies about giving them location or giving some location to friends which you are not at.- "Send audio/image" is the best attachment for me. You can send an audio (ending with .mp3) or an image (ending with .png or .jpg or .jpeg) to selected contact. If you send an audio, the receiver will be asked to play audio by /viewaud, the audio will directly start playing for them, pretty useful. They can stop audio by /viewaud stop, they can listen to audio later as well just like /pinloc, this also gets overwritten if someone else sends audio to receiver after you. If you send an image, the receiver will be asked to do /viewimg, then image will directly be shown on their screen, pretty useful. They can remove image by pressing spacebar. This also functions like /pinloc and /viewaud where they can see image later until someone else sends them another image after you.- "Send contact" is also a tiny attachment which sends selected contact from left grid to the player you are chatting with. That contact will be sent to receiver and he will be asked to do /acceptcontact to add that contact. This one works same as /pinloc, /viewaud, /viewimg where you can accept contact later as well until someone else sends receiver another contact after you.
I'll update this when I can. There's no need to keep it lock since this can be useful for some reason.