FBJS/Examples/LiveMessage
From Facebook Developer Wiki
This feature is currently in beta.
This is a working example of how to use LiveMessage in FBJS.
Drop this code into a canvas page or profile box. This code sets up a simple chat interface in which message are sent and received from FBJS.
livemessage.php:
// Code omitted for setting $user to the logged-in user
echo '<script src="http://example.com/livemessage.js"></script>';
echo '<div id="chat"></div>';
echo 'Message: <input type="text" name="message" id="message" size="40" autocomplete="off"/>';
echo '<br/>To (user id): <input type="text" name="chat_with" id="chat_with"/>';
echo '<input type="submit" onclick="return send_message(' . $user . ');"/>';
livemessage.js:
var livemessage = new LiveMessage('message', function(data) {
// successfully received a message
add_message_line('From ' + data.from + ': ' + data.msg);
});
livemessage.setSendSuccessHandler(function(recipient, data) {
// successfully sent a message
add_message_line('To ' + recipient + ': ' + data.msg);
});
// set error handlers
livemessage.setSendErrorHandler(function(error_code,
error_message,
recipient,
message) {
console.log('error sending message. ec: ' + error_code + ': ' + error_message);
console.log('recipient: ' + recipient + ': ' + message.msg);
});
livemessage.setShutdownHandler(function() {
console.log('livemessage system shutdown.');
})
livemessage.setRestartHandler(function() {
console.log('livemessage system resume.');
});
function add_message_line(line_text) {
var new_line = document.createElement('div');
new_line.setTextValue(line_text);
document.getElementById('chat').appendChild(new_line);
}
function send_message(from_uid) {
var recipient = document.getElementById('chat_with').getValue();
var message_text = document.getElementById('message').getValue();
if (!recipient || !message_text) {
return false;
}
livemessage.send(recipient, {
from : from_uid,
msg : message_text
});
return false;
}
