ServerRoleCreate listener

This commit is contained in:
hydrabolt
2015-11-01 15:12:33 +00:00
parent 5b7a3dd3a1
commit 4d8cd20cf5
10 changed files with 37 additions and 26 deletions

View File

@@ -18,7 +18,8 @@ var User = require("../Structures/User.js"),
VoiceChannel = require("../Structures/VoiceChannel.js"),
PMChannel = require("../Structures/PMChannel.js"),
Server = require("../Structures/Server.js"),
Message = require("../Structures/Message.js");
Message = require("../Structures/Message.js"),
Role = require("../Structures/Role.js");
var zlib;
@@ -661,6 +662,14 @@ class InternalClient {
client.emit("warn", "channel updated but not in cache");
}
break;
case PacketType.SERVER_ROLE_CREATE:
var server = self.servers.get("id", data.guild_id);
if(server){
client.emit("serverRoleCreated", server.roles.add(new Role(data.role, server, client)), server);
}else{
client.emit("warn", "server role made but server not in cache");
}
break;
}
}
}

View File

@@ -71,6 +71,9 @@ var PacketType = {
CHANNEL_CREATE : "CHANNEL_CREATE",
CHANNEL_DELETE : "CHANNEL_DELETE",
CHANNEL_UPDATE : "CHANNEL_UPDATE",
SERVER_ROLE_CREATE : "GUILD_ROLE_CREATE",
SERVER_ROLE_DELETE : "GUILD_ROLE_DELETE",
SERVER_ROLE_UPDATE : "GUILD_ROLE_UPDATE"
}
exports.API_ENDPOINT = API;

View File

@@ -29,7 +29,7 @@ const DefaultRole = [
].reduce( (previous, current) => previous | current, 0 );
class Role{
constructor(data, serverID, client){
constructor(data, server, client){
this.position = data.position || -1;
this.permissions = data.permissions || DefaultRole;
this.name = data.name || "@everyone";
@@ -37,14 +37,10 @@ class Role{
this.id = data.id;
this.hoist = data.hoist || false;
this.color = data.color || 0;
this.serverID = serverID;
this.server = server;
this.client = client;
}
get server(){
return this.client.internal.servers.get("id", this.serverID);
}
serialise(explicit){
var hp = (perm) => this.hasPermission(perm, explicit);

View File

@@ -54,7 +54,7 @@ class Server extends Equality {
} );
data.roles.forEach( (dataRole) => {
this.roles.add( new Role(dataRole, this) );
this.roles.add( new Role(dataRole, this, client) );
} );
}

View File

@@ -13,8 +13,8 @@ a.on("message", m => {
a.reply(m, srv);
});
});
a.on("channelUpdated", (o, n) => {
a.sendMessage(o, o.name + " v " + n.name);
a.on("serverRoleCreated", (r, s) => {
console.log(r);
});
a.login(process.env["discordEmail"], process.env["discordPass"]).catch((e)=>console.log(e));