new BuddyMessageRequest(message, targetBuddy[, params])

Creates a new BuddyMessageRequest instance. The instance must be passed to the SmartFox.send() method for the request to be executed.

Messages sent to buddies using the BuddyMessageRequest request are similar to the standard private messages (see the PrivateMessageRequest request) but are specifically designed for the Buddy List system: they don't require any Room parameter, nor they require that users joined a Room. Additionally, buddy messages are subject to specific validation, such as making sure that the recipient is in the sender's buddies list and the sender is not blocked by the recipient.

If the operation is successful, a buddyMessage event is dispatched in both the sender and recipient clients.

NOTE: this request can be sent if the Buddy List system was previously initialized only (see the InitBuddyListRequest request description).

Example

This example sends a message to a buddy and handles the related event.

function someMethod()
{
	sfs.addEventListener(SFS2X.SFSBuddyEvent.BUDDY_MESSAGE, onBuddyMessage, this);

	// Get the recipient of the message, in this case my buddy Jack
	var buddy = sfs.buddyManager.getBuddyByName("Jack");

	// Send a message to Jack
	sfs.send(new SFS2X.BuddyMessageRequest("Hello Jack!", buddy));
}

function onBuddyMessage(evtParams)
{
	// As messages are forwarded to the sender too,
	// I have to check if I am the sender

	var isItMe = evtParams.isItMe;
	var sender = evtParams.buddy;

	if (isItMe)
		console.log("I said: " + evtParams.message);
	else
		console.log("My buddy " + sender.name + " said: " + evtParams.message);
}

Parameters

Name Type Optional Description

message

string

 

The message to be sent to a buddy.

targetBuddy

SFSBuddy

 

The SFSBuddy object corresponding to the message recipient.

params

SFSObject

Yes

A SFSObject containing additional custom parameters (e.g. the message color, an emoticon id, etc).

Defaults to null.

See also
SmartFox#send
SFSBuddyEvent.BUDDY_MESSAGE