mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Fix login, clone objects when firing x-Updated events
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user