Added more properties to the server

This commit is contained in:
hydrabolt
2015-08-14 11:48:44 +01:00
parent efeeb06500
commit e4723c7dfe
3 changed files with 35 additions and 3 deletions

View File

@@ -25,7 +25,7 @@ exports.Client = function( options ) {
exports.Client.prototype.triggerEvent = function( event, args ) { exports.Client.prototype.triggerEvent = function( event, args ) {
if ( !this.ready ) { //if we're not even loaded yet, don't try doing anything because it always ends badly! if ( !this.ready && event !== "raw" ) { //if we're not even loaded yet, don't try doing anything because it always ends badly!
return; return;
} }
@@ -58,7 +58,7 @@ exports.Client.prototype.cacheServer = function( id, cb, members ) {
.set( "authorization", this.token ) .set( "authorization", this.token )
.end( function( err, res ) { .end( function( err, res ) {
var dat = res.body; var dat = res.body;
var server = new Server( dat.region, dat.owner_id, dat.name, dat.roles[ 0 ].id, members || dat.members ); var server = new Server( dat.region, dat.owner_id, dat.name, dat.roles[ 0 ].id, members || dat.members, dat.icon, dat.afk_timeout, dat.afk_channel_id );
request request
.get( Endpoints.SERVERS + "/" + id + "/channels" ) .get( Endpoints.SERVERS + "/" + id + "/channels" )
@@ -105,6 +105,14 @@ exports.Client.prototype.login = function( email, password ) {
} }
exports.Client.prototype.reply = function(){
arguments[1] = arguments[0].author.mention() + ", " + arguments[1];
this.sendMessage.apply(this, arguments);
}
exports.Client.prototype.connectWebsocket = function( cb ) { exports.Client.prototype.connectWebsocket = function( cb ) {
var client = this; var client = this;

View File

@@ -1,6 +1,6 @@
var User = require( "./user.js" ).User; var User = require( "./user.js" ).User;
var List = require( "./list.js" ).List; var List = require( "./list.js" ).List;
exports.Server = function( region, ownerID, name, id, members ) { exports.Server = function( region, ownerID, name, id, members, icon, afkTimeout, afkChannelId ) {
this.region = region; this.region = region;
this.ownerID = ownerID; this.ownerID = ownerID;
@@ -8,14 +8,32 @@ exports.Server = function( region, ownerID, name, id, members ) {
this.id = id; this.id = id;
this.members = new List( "id" ); this.members = new List( "id" );
this.channels = new List( "id" ); this.channels = new List( "id" );
this.icon = icon;
this.afkTimeout = afkTimeout;
this.afkChannelId = afkChannelId;
for ( x in members ) { for ( x in members ) {
var member = members[ x ].user; var member = members[ x ].user;
this.members.add( new User( member ) ); this.members.add( new User( member ) );
} }
}
exports.Server.prototype.getIconURL = function(){
if(!this.icon)
return false;
return "https://discordapp.com/api/guilds/"+this.id+"/icons/"+this.icon+".jpg";
}
exports.Server.prototype.getAFKChannel = function(){
if(!this.afkChannelId)
return false;
return this.channels.filter("id", this.afkChannelId, true);
} }
exports.Server.prototype.getDefaultChannel = function() { exports.Server.prototype.getDefaultChannel = function() {
return this.channels.filter( "name", "general", true ); return this.channels.filter( "name", "general", true );

View File

@@ -14,6 +14,12 @@ exports.User = function(username, id, discriminator, avatar){
this.avatar = avatar; this.avatar = avatar;
} }
exports.User.prototype.getAvatarURL = function(){
if(!this.avatar)
return false;
return "https://discordapp.com/api/users/" + this.id + "/avatars/" + this.avatar + ".jpg";
}
exports.User.prototype.mention = function(){ exports.User.prototype.mention = function(){
return "<@"+this.id+">"; return "<@"+this.id+">";
} }