Fix using deleteChannel on private channels

This commit is contained in:
abalabahaha
2016-07-28 04:36:04 +09:00
parent babf550459
commit dc939c48ee
3 changed files with 20 additions and 12 deletions

View File

@@ -1035,8 +1035,12 @@ var InternalClient = (function () {
return this.resolver.resolveChannel(_channel).then(function (channel) {
return _this24.apiRequest("del", _Constants.Endpoints.CHANNEL(channel.id), true).then(function () {
channel.server.channels.remove(channel);
_this24.channels.remove(channel);
if (channel.server) {
channel.server.channels.remove(channel);
_this24.channels.remove(channel);
} else {
_this24.private_channels.remove(channel);
}
});
});
};

View File

@@ -227,7 +227,7 @@ var Server = (function (_Equality) {
channel.members.add(user);
user.voiceChannel = channel;
if (oldChannel.id) {
if (oldChannel.id && channel.id !== oldChannel.id) {
this.client.emit("voiceLeave", oldChannel, user);
this.client.emit("voiceSwitch", oldChannel, channel, user);
}

View File

@@ -908,8 +908,12 @@ export default class InternalClient {
.then(channel =>
this.apiRequest("del", Endpoints.CHANNEL(channel.id), true)
.then(() => {
channel.server.channels.remove(channel);
this.channels.remove(channel);
if(channel.server) {
channel.server.channels.remove(channel);
this.channels.remove(channel);
} else {
this.private_channels.remove(channel);
}
})
);
}
@@ -1838,13 +1842,13 @@ export default class InternalClient {
var server = self.servers.get("id", data.guild_id);
if (server) {
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));
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 if (data.is_private) {
client.emit("channelCreated", self.private_channels.add(new PMChannel(data, client)));
} else {