Now includes getter functions to limit the amount of filters required

This commit is contained in:
hydrabolt
2015-08-15 14:02:42 +01:00
parent a3225b3107
commit b0fb506221

View File

@@ -25,6 +25,7 @@ exports.isUserID = function( id ) {
exports.Client = function( options ) { exports.Client = function( options ) {
this.options = options || {}; this.options = options || {};
this.options.maxmessage = 5000;
this.token = ""; this.token = "";
this.loggedIn = false; this.loggedIn = false;
this.websocket = null; this.websocket = null;
@@ -36,6 +37,23 @@ exports.Client = function( options ) {
} }
exports.Client.prototype.getServers = function() {
return this.serverList;
}
exports.Client.prototype.getChannels = function() {
return this.serverList.concatSublists( "channels", "id" );
}
exports.Client.prototype.getServer = function(id) {
return this.getServers().filter("id", id, true);
}
exports.Client.prototype.getChannel = function(id) {
return this.getChannels().filter("id", id, true);
}
exports.Client.prototype.triggerEvent = function( event, args ) { exports.Client.prototype.triggerEvent = function( event, args ) {
if ( !this.ready && event !== "raw" && event !== "disconnected" ) { //if we're not even loaded yet, don't try doing anything because it always ends badly! if ( !this.ready && event !== "raw" && event !== "disconnected" ) { //if we're not even loaded yet, don't try doing anything because it always ends badly!
@@ -113,7 +131,7 @@ exports.Client.prototype.cacheServer = function( id, cb, members ) {
function makeServer( dat ) { function makeServer( dat ) {
server = new Server( dat.region, dat.owner_id, dat.name, id, serverInput.members || dat.members, dat.icon, dat.afk_timeout, dat.afk_channel_id ); server = new Server( dat.region, dat.owner_id, dat.name, id, serverInput.members || dat.members, dat.icon, dat.afk_timeout, dat.afk_channel_id );
if ( dat.channels ) if ( dat.channels )
cacheChannels(dat.channels); cacheChannels( dat.channels );
else else
channelsFromHTTP(); channelsFromHTTP();
} }
@@ -263,7 +281,7 @@ exports.Client.prototype.connectWebsocket = function( cb ) {
if ( !client.serverList.filter( "id", dat.d.id, true ) ) { if ( !client.serverList.filter( "id", dat.d.id, true ) ) {
client.cacheServer( dat.d, function( server ) { client.cacheServer( dat.d, function( server ) {
client.triggerEvent( "serverJoin", [ server ] ); client.triggerEvent( "serverJoin", [ server ] );
}); } );
} }
} else if ( dat.t === "CHANNEL_CREATE" ) { } else if ( dat.t === "CHANNEL_CREATE" ) {
@@ -414,7 +432,7 @@ exports.Client.prototype.startPM = function( user, message, cb, _mentions, optio
var client = this; var client = this;
cb = cb || function(){}; cb = cb || function() {};
request request
.post( Endpoints.USERS + "/" + client.user.id + "/channels" ) .post( Endpoints.USERS + "/" + client.user.id + "/channels" )