mirror of
https://github.com/Threnklyn/MinecraftChat.git
synced 2026-05-19 04:43:28 +02:00
Working connect/disconnect handlers and status indicator
This commit is contained in:
@@ -13,9 +13,4 @@ module.exports = function($scope, socket, buffer) {
|
|||||||
buffer.append('---');
|
buffer.append('---');
|
||||||
buffer.append('<br>');
|
buffer.append('<br>');
|
||||||
|
|
||||||
// buffer errors when received
|
|
||||||
socket.on('bot:error', function(error) {
|
|
||||||
buffer.error(error);
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ exports.register = function(app) {
|
|||||||
app.controller('connectController', require('./connectController'));
|
app.controller('connectController', require('./connectController'));
|
||||||
app.controller('bufferController', require('./bufferController'));
|
app.controller('bufferController', require('./bufferController'));
|
||||||
app.controller('chatController', require('./chatController'));
|
app.controller('chatController', require('./chatController'));
|
||||||
|
app.controller('navController', require('./navController'));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
/**
|
||||||
|
* Connect Controller
|
||||||
|
*/
|
||||||
|
|
||||||
|
module.exports = function($scope, socket) {
|
||||||
|
|
||||||
|
$scope.connected = false;
|
||||||
|
|
||||||
|
socket.on('bot:connect', function(data) {
|
||||||
|
$scope.$apply(function() {
|
||||||
|
$scope.host = data.host;
|
||||||
|
$scope.port = data.port;
|
||||||
|
$scope.username = data.username;
|
||||||
|
$scope.connected = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on('bot:disconnect', function() {
|
||||||
|
$scope.$apply(function() {
|
||||||
|
$scope.connected = false;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
socket.on('disconnect', function() {
|
||||||
|
$scope.$apply(function() {
|
||||||
|
$scope.connected = false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
@@ -15,7 +15,7 @@ module.exports = function(socket) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
socket.on('buffer:error', function(string) {
|
socket.on('buffer:error', function(string) {
|
||||||
$('#buffer').append('<span style="color:#D62D18;">[i] ' + error + '</span><br>')
|
$('#buffer').append('<span style="color:#D62D18;">[i] ' + string + '</span><br>')
|
||||||
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
|
$('#buffer').scrollTop($('#buffer').prop('scrollHeight'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,11 @@ module.exports = function(socket) {
|
|||||||
// login event
|
// login event
|
||||||
bot.on('login', function() {
|
bot.on('login', function() {
|
||||||
socket.emit('buffer:success', 'Successfully logged in as ' + bot.username + ' with entity id ' + bot.entity.id);
|
socket.emit('buffer:success', 'Successfully logged in as ' + bot.username + ' with entity id ' + bot.entity.id);
|
||||||
socket.emit('bot:login')
|
socket.emit('bot:connect', {
|
||||||
|
host: socket.connectionParams.hostname,
|
||||||
|
port: socket.connectionParams.port,
|
||||||
|
username: socket.connectionParams.username
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// spawn event
|
// spawn event
|
||||||
@@ -69,7 +73,7 @@ module.exports = function(socket) {
|
|||||||
|
|
||||||
// format the buffer with the correct coloring
|
// format the buffer with the correct coloring
|
||||||
buffer = buffer.replace(/§([0-9abcdef])([^§]*)/ig, function replace(regex, color, msg) {
|
buffer = buffer.replace(/§([0-9abcdef])([^§]*)/ig, function replace(regex, color, msg) {
|
||||||
return '<span class="color-'+color+'">'+msg+'</span>';
|
return '<span class="color-'+color+'">'+msg.replace(' ', ' ')+'</span>';
|
||||||
});
|
});
|
||||||
|
|
||||||
// send line back to the client
|
// send line back to the client
|
||||||
@@ -77,4 +81,14 @@ module.exports = function(socket) {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
bot.on('end', function() {
|
||||||
|
socket.emit('buffer:error', 'Connection lost...');
|
||||||
|
socket.emit('bot:disconnect');
|
||||||
|
});
|
||||||
|
|
||||||
|
bot.on('kick', function(reason) {
|
||||||
|
console.log(reason);
|
||||||
|
socket.emit('buffer:error', 'Kicked for: ' + reason);
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -16,9 +16,13 @@ module.exports = function(socket) {
|
|||||||
password: data.password
|
password: data.password
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// store connection params in socket
|
||||||
|
socket.connectionParams = data;
|
||||||
|
|
||||||
// prepare for errors
|
// prepare for errors
|
||||||
socket.mcbot.on('error', function(error) {
|
socket.mcbot.on('error', function(error) {
|
||||||
socket.emit('buffer:error', error);
|
socket.emit('buffer:error', error);
|
||||||
|
socket.mcbot = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
// bind bot events
|
// bind bot events
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
|
<nav class="navbar navbar-default navbar-fixed-top" role="navigation" ng-controller="navController">
|
||||||
<a class="navbar-brand" href="/">Minecraft Chat</a>
|
<a class="navbar-brand" href="/">Minecraft Chat</a>
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li><a style="cursor:pointer" data-toggle="modal" data-target="#connectModal">Connect</a></li>
|
<li><a style="cursor:pointer" data-toggle="modal" data-target="#connectModal">Connect</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav pull-right">
|
<ul class="nav navbar-nav pull-right">
|
||||||
<li><a style="color:#9E0F06">Not Connected</a></li>
|
<li ng-hide="connected"><a style="color:#9E0F06">Not Connected</a></li>
|
||||||
|
<li ng-show="connected"><a style="color:#6AC126">Connected to <i>{{host}}:{{port}}</i> as <b>{{username}}</b></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user