This commit is contained in:
hydrabolt
2015-08-24 17:32:39 +01:00
2 changed files with 41 additions and 37 deletions

View File

@@ -235,6 +235,8 @@ var Client = (function () {
self.keepAlive.apply(self); self.keepAlive.apply(self);
}, data.heartbeat_interval); }, data.heartbeat_interval);
break;
case "MESSAGE_CREATE":
break; break;
default: default:
self.debug("received unknown packet"); self.debug("received unknown packet");

View File

@@ -44,21 +44,21 @@ class Client {
get ready() { get ready() {
return this.state === 3; return this.state === 3;
} }
get servers() { get servers() {
return this.serverCache; return this.serverCache;
} }
get channels() { get channels() {
return this.channelCache; return this.channelCache;
} }
get users() { get users() {
return this.userCache; return this.userCache;
} }
sendPacket(JSONObject){ sendPacket(JSONObject) {
if(this.websocket.readyState === 1){ if (this.websocket.readyState === 1) {
this.websocket.send(JSON.stringify(JSONObject)); this.websocket.send(JSON.stringify(JSONObject));
} }
} }
@@ -67,16 +67,16 @@ class Client {
debug(message) { debug(message) {
console.log(message); console.log(message);
} }
on(event, fn){ on(event, fn) {
this.events.set(event, fn); this.events.set(event, fn);
} }
off(event, fn){ off(event, fn) {
this.events.delete(event); this.events.delete(event);
} }
keepAlive(){ keepAlive() {
this.debug("keep alive triggered"); this.debug("keep alive triggered");
this.sendPacket({ this.sendPacket({
op: 1, op: 1,
@@ -87,11 +87,11 @@ class Client {
//def trigger //def trigger
trigger(event) { trigger(event) {
var args = []; var args = [];
for(var arg in arguments){ for (var arg in arguments) {
args.push(arguments[arg]); args.push(arguments[arg]);
} }
var evt = this.events.get(event); var evt = this.events.get(event);
if(evt){ if (evt) {
evt.apply(this, args.slice(1)); evt.apply(this, args.slice(1));
} }
} }
@@ -170,25 +170,27 @@ class Client {
case "READY": case "READY":
self.debug("received ready packet"); self.debug("received ready packet");
self.user = self.addUser( data.user ); self.user = self.addUser(data.user);
for(var _server of data.guilds){ for (var _server of data.guilds) {
var server = self.addServer(_server); var server = self.addServer(_server);
for(var channel of _server.channels){ for (var channel of _server.channels) {
server.channels.push( self.addChannel(channel, server.id) ); server.channels.push(self.addChannel(channel, server.id));
} }
} }
self.trigger("ready"); self.trigger("ready");
self.debug(`cached ${self.serverCache.length} servers, ${self.channelCache.length} channels and ${self.userCache.length} users.`); self.debug(`cached ${self.serverCache.length} servers, ${self.channelCache.length} channels and ${self.userCache.length} users.`);
setInterval(function () { setInterval(function () {
self.keepAlive.apply(self); self.keepAlive.apply(self);
}, data.heartbeat_interval); }, data.heartbeat_interval);
break;
case "MESSAGE_CREATE":
break; break;
default: default:
self.debug("received unknown packet"); self.debug("received unknown packet");
@@ -203,7 +205,7 @@ class Client {
//def addUser //def addUser
addUser(data) { addUser(data) {
if (!this.getUser("id", data.id)){ if (!this.getUser("id", data.id)) {
this.userCache.push(new User(data)); this.userCache.push(new User(data));
} }
return this.getUser("id", data.id); return this.getUser("id", data.id);
@@ -211,24 +213,24 @@ class Client {
//def addChannel //def addChannel
addChannel(data, serverId) { addChannel(data, serverId) {
if (!this.getChannel("id", data.id)){ if (!this.getChannel("id", data.id)) {
this.channelCache.push(new Channel(data, this.getServer("id", serverId))); this.channelCache.push(new Channel(data, this.getServer("id", serverId)));
} }
return this.getChannel("id", data.id); return this.getChannel("id", data.id);
} }
//def addServer //def addServer
addServer(data){ addServer(data) {
if(!this.getServer("id", data.id)){ if (!this.getServer("id", data.id)) {
this.serverCache.push(new Server(data, this)); this.serverCache.push(new Server(data, this));
} }
return this.getServer("id", data.id); return this.getServer("id", data.id);
} }
//def getUser //def getUser
getUser(key, value){ getUser(key, value) {
for(var user of this.userCache){ for (var user of this.userCache) {
if(user[key] === value){ if (user[key] === value) {
return user; return user;
} }
} }
@@ -236,9 +238,9 @@ class Client {
} }
//def getChannel //def getChannel
getChannel(key, value){ getChannel(key, value) {
for(var channel of this.channelCache){ for (var channel of this.channelCache) {
if(channel[key] === value){ if (channel[key] === value) {
return channel; return channel;
} }
} }
@@ -246,9 +248,9 @@ class Client {
} }
//def getServer //def getServer
getServer(key = "id", value = "abc123"){ getServer(key = "id", value = "abc123") {
for(var server of this.serverCache){ for (var server of this.serverCache) {
if(server[key] === value){ if (server[key] === value) {
return server; return server;
} }
} }