diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 38a8a8634..6081d8f2c 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -434,7 +434,7 @@ var InternalClient = (function () { var tk = this.tokenCacher.getToken(email, password); if (tk) { this.client.emit("debug", "bypassed direct API login, used cached token"); - return loginWithToken(tk, email, password); + return this.loginWithToken(tk, email, password); } } @@ -1386,7 +1386,7 @@ var InternalClient = (function () { data.mentions = data.mentions || msg.mentions; data.author = data.author || msg.author; var nmsg = new _StructuresMessage2["default"](data, channel, client); - client.emit("messageUpdated", nmsg, msg); + client.emit("messageUpdated", new _StructuresMessage2["default"](msg, channel, client), nmsg); channel.messages.update(msg, nmsg); } } else { @@ -1449,8 +1449,8 @@ var InternalClient = (function () { // already the same don't do anything client.emit("debug", "received server update but server already updated"); } else { + client.emit("serverUpdated", new _StructuresServer2["default"](server, client), newserver); self.servers.update(server, newserver); - client.emit("serverUpdated", server, newserver); } } else if (!server) { client.emit("warn", "server was updated but it was not in the cache"); @@ -1502,22 +1502,22 @@ var InternalClient = (function () { if (channel instanceof _StructuresPMChannel2["default"]) { //PM CHANNEL - client.emit("channelUpdated", channel, self.private_channels.update(channel, new _StructuresPMChannel2["default"](data, client))); + client.emit("channelUpdated", new _StructuresPMChannel2["default"](channel, client), self.private_channels.update(channel, new _StructuresPMChannel2["default"](data, client))); } else { if (channel.server) { if (channel.type === "text") { //TEXT CHANNEL var chan = new _StructuresTextChannel2["default"](data, client, channel.server); chan.messages = channel.messages; + client.emit("channelUpdated", channel, chan); channel.server.channels.update(channel, chan); self.channels.update(channel, chan); - client.emit("channelUpdated", channel, chan); } else { //VOICE CHANNEL var chan = new _StructuresVoiceChannel2["default"](data, client, channel.server); + client.emit("channelUpdated", channel, chan); channel.server.channels.update(channel, chan); self.channels.update(channel, chan); - client.emit("channelUpdated", channel, chan); } } else { client.emit("warn", "channel updated but server non-existant"); @@ -1555,8 +1555,8 @@ var InternalClient = (function () { var role = server.roles.get("id", data.role.id); if (role) { var newRole = new _StructuresRole2["default"](data.role, server, client); + client.emit("serverRoleUpdated", new _StructuresRole2["default"](role, server, client), newRole); server.roles.update(role, newRole); - client.emit("serverRoleUpdated", role, newRole); } else { client.emit("warn", "server role updated but role not in cache"); } diff --git a/lib/Structures/Message.js b/lib/Structures/Message.js index 83983f82a..6ad276f2a 100644 --- a/lib/Structures/Message.js +++ b/lib/Structures/Message.js @@ -40,7 +40,7 @@ var Message = (function (_Equality) { this.tts = data.tts; this.embeds = data.embeds; this.timestamp = Date.parse(data.timestamp); - this.everyoneMentioned = data.mention_everyone; + this.everyoneMentioned = data.mention_everyone || data.everyoneMentioned; this.id = data.id; if (data.edited_timestamp) this.editedTimestamp = Date.parse(data.edited_timestamp); diff --git a/lib/Structures/PMChannel.js b/lib/Structures/PMChannel.js index 71129a266..09d052713 100644 --- a/lib/Structures/PMChannel.js +++ b/lib/Structures/PMChannel.js @@ -33,7 +33,7 @@ var PMChannel = (function (_Channel) { _Channel.call(this, data, client); this.type = data.type || "text"; - this.lastMessageId = data.last_message_id; + this.lastMessageId = data.last_message_id || data.lastMessageId; this.messages = new _UtilCache2["default"]("id", 1000); this.recipient = this.client.internal.users.add(new _User2["default"](data.recipient, this.client)); } diff --git a/lib/Structures/Server.js b/lib/Structures/Server.js index 519000fd2..5c5264476 100644 --- a/lib/Structures/Server.js +++ b/lib/Structures/Server.js @@ -54,7 +54,7 @@ var Server = (function (_Equality) { this.client = client; this.region = data.region; - this.ownerID = data.owner_id; + this.ownerID = data.owner_id || data.ownerID; this.name = data.name; this.id = data.id; this.members = new _UtilCache2["default"](); @@ -62,7 +62,7 @@ var Server = (function (_Equality) { this.roles = new _UtilCache2["default"](); this.icon = data.icon; this.afkTimeout = data.afkTimeout; - this.afkChannelID = data.afk_channel_id; + this.afkChannelID = data.afk_channel_id || data.afkChannelID; this.memberMap = {}; var self = this; diff --git a/lib/Structures/ServerChannel.js b/lib/Structures/ServerChannel.js index 3ee2cad34..127631177 100644 --- a/lib/Structures/ServerChannel.js +++ b/lib/Structures/ServerChannel.js @@ -38,11 +38,13 @@ var ServerChannel = (function (_Channel) { this.name = data.name; this.type = data.type; this.position = data.position; - this.permissionOverwrites = new _UtilCache2["default"](); + this.permissionOverwrites = data.permissionOverwrites || new _UtilCache2["default"](); this.server = server; - data.permission_overwrites.forEach(function (permission) { - _this.permissionOverwrites.add(new _PermissionOverwrite2["default"](permission)); - }); + if (!data.permissionOverwrites) { + data.permission_overwrites.forEach(function (permission) { + _this.permissionOverwrites.add(new _PermissionOverwrite2["default"](permission)); + }); + } } ServerChannel.prototype.permissionsOf = function permissionsOf(user) { diff --git a/lib/Structures/TextChannel.js b/lib/Structures/TextChannel.js index e7dd40ef0..38b36aea9 100644 --- a/lib/Structures/TextChannel.js +++ b/lib/Structures/TextChannel.js @@ -29,7 +29,7 @@ var TextChannel = (function (_ServerChannel) { _ServerChannel.call(this, data, client, server); this.topic = data.topic; - this.lastMessageID = data.last_message_id; + this.lastMessageID = data.last_message_id || data.lastMessageID; this.messages = new _UtilCache2["default"]("id", client.options.maximumMessages); } diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index e6f51937a..f596136a6 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -331,7 +331,7 @@ export default class InternalClient { var tk = this.tokenCacher.getToken(email, password); if( tk ){ this.client.emit("debug", "bypassed direct API login, used cached token"); - return loginWithToken(tk, email, password); + return this.loginWithToken(tk, email, password); } } @@ -462,7 +462,7 @@ export default class InternalClient { // def sendFile sendFile(where, _file, name) { - + if (!name) { if (_file instanceof String || typeof _file === "string") { name = require("path").basename(attachment); @@ -473,7 +473,7 @@ export default class InternalClient { name = "image.png"; // Just have to go with default filenames. } } - + return this.resolver.resolveChannel(where) .then(channel => this.apiRequest("post", Endpoints.CHANNEL_MESSAGES(channel.id), true, null, { @@ -1199,7 +1199,7 @@ export default class InternalClient { data.mentions = data.mentions || msg.mentions; data.author = data.author || msg.author; var nmsg = new Message(data, channel, client); - client.emit("messageUpdated", nmsg, msg); + client.emit("messageUpdated", new Message(msg, channel, client), nmsg); channel.messages.update(msg, nmsg); } } else { @@ -1249,8 +1249,8 @@ export default class InternalClient { // already the same don't do anything client.emit("debug", "received server update but server already updated"); } else { + client.emit("serverUpdated", new Server(server, client), newserver); self.servers.update(server, newserver); - client.emit("serverUpdated", server, newserver); } } else if (!server) { client.emit("warn", "server was updated but it was not in the cache"); @@ -1304,25 +1304,23 @@ export default class InternalClient { if (channel instanceof PMChannel) { //PM CHANNEL - client.emit("channelUpdated", channel, self.private_channels.update( - channel, - new PMChannel(data, client) - )); + client.emit("channelUpdated", new PMChannel(channel, client), + self.private_channels.update(channel, new PMChannel(data, client))); } else { if (channel.server) { if (channel.type === "text") { //TEXT CHANNEL var chan = new TextChannel(data, client, channel.server); chan.messages = channel.messages; + client.emit("channelUpdated", channel, chan); channel.server.channels.update(channel, chan); self.channels.update(channel, chan); - client.emit("channelUpdated", channel, chan); } else { //VOICE CHANNEL var chan = new VoiceChannel(data, client, channel.server); + client.emit("channelUpdated", channel, chan); channel.server.channels.update(channel, chan); self.channels.update(channel, chan); - client.emit("channelUpdated", channel, chan); } } else { client.emit("warn", "channel updated but server non-existant"); @@ -1361,8 +1359,8 @@ export default class InternalClient { var role = server.roles.get("id", data.role.id); if (role) { var newRole = new Role(data.role, server, client); + client.emit("serverRoleUpdated", new Role(role, server, client), newRole); server.roles.update(role, newRole); - client.emit("serverRoleUpdated", role, newRole); } else { client.emit("warn", "server role updated but role not in cache"); } diff --git a/src/Structures/Message.js b/src/Structures/Message.js index 8d7e19b09..46f6a2c66 100644 --- a/src/Structures/Message.js +++ b/src/Structures/Message.js @@ -15,7 +15,7 @@ export default class Message extends Equality{ this.tts = data.tts; this.embeds = data.embeds; this.timestamp = Date.parse(data.timestamp); - this.everyoneMentioned = data.mention_everyone; + this.everyoneMentioned = data.mention_everyone || data.everyoneMentioned; this.id = data.id; if(data.edited_timestamp) diff --git a/src/Structures/PMChannel.js b/src/Structures/PMChannel.js index b0ecf407a..7c531c847 100644 --- a/src/Structures/PMChannel.js +++ b/src/Structures/PMChannel.js @@ -10,7 +10,7 @@ export default class PMChannel extends Channel { super(data, client); this.type = data.type || "text"; - this.lastMessageId = data.last_message_id; + this.lastMessageId = data.last_message_id || data.lastMessageId; this.messages = new Cache("id", 1000); this.recipient = this.client.internal.users.add(new User(data.recipient, this.client)); } diff --git a/src/Structures/Server.js b/src/Structures/Server.js index 93688d2d2..164d5c38e 100644 --- a/src/Structures/Server.js +++ b/src/Structures/Server.js @@ -22,7 +22,7 @@ export default class Server extends Equality { this.client = client; this.region = data.region; - this.ownerID = data.owner_id; + this.ownerID = data.owner_id || data.ownerID; this.name = data.name; this.id = data.id; this.members = new Cache(); @@ -30,7 +30,7 @@ export default class Server extends Equality { this.roles = new Cache(); this.icon = data.icon; this.afkTimeout = data.afkTimeout; - this.afkChannelID = data.afk_channel_id; + this.afkChannelID = data.afk_channel_id || data.afkChannelID; this.memberMap = {}; var self = this; diff --git a/src/Structures/ServerChannel.js b/src/Structures/ServerChannel.js index 55171babc..0e1519b5d 100644 --- a/src/Structures/ServerChannel.js +++ b/src/Structures/ServerChannel.js @@ -12,11 +12,13 @@ export default class ServerChannel extends Channel{ this.name = data.name; this.type = data.type; this.position = data.position; - this.permissionOverwrites = new Cache(); + this.permissionOverwrites = data.permissionOverwrites || new Cache(); this.server = server; - data.permission_overwrites.forEach((permission) => { - this.permissionOverwrites.add( new PermissionOverwrite(permission) ); - }); + if (!data.permissionOverwrites) { + data.permission_overwrites.forEach((permission) => { + this.permissionOverwrites.add( new PermissionOverwrite(permission) ); + }); + } } permissionsOf(user){ diff --git a/src/Structures/TextChannel.js b/src/Structures/TextChannel.js index 5165f4a79..dbc183a8c 100644 --- a/src/Structures/TextChannel.js +++ b/src/Structures/TextChannel.js @@ -9,7 +9,7 @@ export default class TextChannel extends ServerChannel{ super(data, client, server); this.topic = data.topic; - this.lastMessageID = data.last_message_id; + this.lastMessageID = data.last_message_id || data.lastMessageID; this.messages = new Cache("id", client.options.maximumMessages); }