added channelCreate listener

This commit is contained in:
hydrabolt
2015-11-01 14:39:59 +00:00
parent 5eff07a80a
commit c173dcd2fe
6 changed files with 66 additions and 5 deletions

View File

@@ -565,6 +565,33 @@ var InternalClient = (function () {
self.servers.add(new Server(data, self));
client.emit("serverCreated", server);
}
break;
case PacketType.CHANNEL_CREATE:
var channel = self.channels.get("id", data.id);
if (!channel) {
var server = self.servers.get("id", data.guild_id);
if (server) {
if (data.is_private) {
client.emit("channelCreated", self.private_channels.add(new PMChannel(data, client)));
} else {
var chan = null;
if (data.type === "text") {
chan = self.channels.add(new TextChannel(data, client, server));
} else {
chan = self.channels.add(new VoiceChannel(data, client, server));
}
client.emit("channelCreated", server.channels.add(chan));
}
} else {
client.emit("warn", "channel created but server does not exist");
}
} else {
client.emit("warn", "channel created but already in cache");
}
break;
}
};

View File

@@ -105,7 +105,10 @@ var PacketType = {
MESSAGE_DELETE: "MESSAGE_DELETE",
SERVER_CREATE: "GUILD_CREATE",
SERVER_DELETE: "GUILD_DELETE",
SERVER_UPDATE: "GUILD_UPDATE"
SERVER_UPDATE: "GUILD_UPDATE",
CHANNEL_CREATE: "CHANNEL_CREATE",
CHANNEL_DELETE: "CHANNEL_DELETE",
CHANNEL_UPDATE: "CHANNEL_UPDATE"
};
exports.API_ENDPOINT = API;

View File

@@ -18,8 +18,8 @@ a.on("message", function (m) {
a.reply(m, srv);
});
});
a.on("serverUpdated", function (oldsrv, newsrv) {
console.log(oldsrv.name, "v", newsrv.name);
a.on("channelCreated", function (channel) {
console.log(channel);
});
a.login(process.env["discordEmail"], process.env["discordPass"])["catch"](function (e) {

View File

@@ -583,6 +583,34 @@ class InternalClient {
self.servers.add( new Server(data, self) );
client.emit("serverCreated", server);
}
break;
case PacketType.CHANNEL_CREATE:
var channel = self.channels.get("id", data.id);
if(!channel){
var server = self.servers.get("id", data.guild_id);
if(server){
if(data.is_private){
client.emit("channelCreated", self.private_channels.add( new PMChannel(data, client) ));
}else{
var chan = null;
if(data.type === "text"){
chan = self.channels.add(new TextChannel(data, client, server));
}else{
chan = self.channels.add(new VoiceChannel(data, client, server));
}
client.emit("channelCreated", server.channels.add(chan));
}
}else{
client.emit("warn", "channel created but server does not exist");
}
}else{
client.emit("warn", "channel created but already in cache");
}
break;
}
}

View File

@@ -68,6 +68,9 @@ var PacketType = {
SERVER_CREATE : "GUILD_CREATE",
SERVER_DELETE : "GUILD_DELETE",
SERVER_UPDATE : "GUILD_UPDATE",
CHANNEL_CREATE : "CHANNEL_CREATE",
CHANNEL_DELETE : "CHANNEL_DELETE",
CHANNEL_UPDATE : "CHANNEL_UPDATE",
}
exports.API_ENDPOINT = API;

View File

@@ -13,8 +13,8 @@ a.on("message", m => {
a.reply(m, srv);
});
});
a.on("serverUpdated", (oldsrv, newsrv) => {
console.log(oldsrv.name, "v", newsrv.name);
a.on("channelCreated", (channel) => {
console.log(channel);
});
a.login(process.env["discordEmail"], process.env["discordPass"]).catch((e)=>console.log(e));