Skip to content

Instantly share code, notes, and snippets.

@ToeJamson
Created October 21, 2014 14:44
Show Gist options
  • Save ToeJamson/a9e782fb73ca4a247e1b to your computer and use it in GitHub Desktop.
Save ToeJamson/a9e782fb73ca4a247e1b to your computer and use it in GitHub Desktop.
pubnub messenger v2
$(document).ready(function () {
// Initialize the PubNub API connection.
var pubnub = PUBNUB.init({
publish_key: 'PUBNUB PUBLISH KEY HERE',
subscribe_key: 'PUBNUB SUBSCRIBE KEY HERE'
});
// Grab references for all of our elements.
var messageContent = $('#messageContent'),
sendMessageButton = $('#sendMessageButton'),
messageList = $('#messageList');
// Handles all the messages coming in from pubnub.subscribe.
function handleMessage(message) {
var messageEl = $("<li class='message'>"
+ "<span class='username'>" + message.username + ": </span>"
+ message.text
+ "</li>");
messageList.append(messageEl);
messageList.listview('refresh');
// Scroll to bottom of page
$("html, body").animate({ scrollTop: $(document).height() - $(window).height() }, 'slow');
};
// Compose and send a message when the user clicks our send message button.
sendMessageButton.click(function (event) {
var message = messageContent.val();
if (message != '') {
pubnub.publish({
channel: 'chat',
message: {
username: 'test',
text: message
}
});
messageContent.val("");
}
});
// Also send a message when the user hits the enter button in the text area.
messageContent.bind('keydown', function (event) {
if((event.keyCode || event.charCode) !== 13) return true;
sendMessageButton.click();
return false;
});
// Subscribe to messages coming in from the channel.
pubnub.subscribe({
channel: 'chat',
message: handleMessage
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment