/**
* Buffer Service
*/
module.exports = function(socket, sound) {
socket.on('buffer:info', function(string) {
$('#buffer').append('[i] ' + string + '
\n');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
socket.on('buffer:success', function(string) {
$('#buffer').append('[i] ' + string + '
\n');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
sound.connected();
});
socket.on('buffer:error', function(error) {
if (typeof error === 'object') {
switch (error.code) {
case 'ENOTFOUND':
error = 'The server hostname could not be resolved.';
break;
case 'ETIMEDOUT':
error = 'Connection to the server timed out.';
break;
case 'ECONNREFUSED':
error = 'Connection to the server has been refused.';
break;
default:
error = JSON.stringify(error);
break;
}
}
$('#buffer').append('[i] Error: ' + error + '
');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
socket.on('bot:message', function(string) {
$('#buffer').append(string + '
');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
socket.on('reconnect', function() {
$('#buffer').append('> Connected to chat server established
');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
socket.on('disconnect', function() {
$('#buffer').append('> Connection to chat server has been lost. Reconnecting...
');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
socket.on('bot:disconnect', function() {
$('#buffer').append('> You have been disconnected from the Minecraft server.
');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
});
// service exposes this
return {
append: function(string) {
$('#buffer').append(string + '
\n');
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
}
};
};