mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-20 21:43:33 +01:00
Emit -ed and fixed presence vs. userUpdated check
This commit is contained in:
@@ -1556,14 +1556,14 @@ var InternalClient = (function () {
|
||||
|
||||
var presenceUser = new User(data.user, client);
|
||||
|
||||
if (presenceUser.equalsStrict(user)) {
|
||||
if (presenceUser.equals(user)) {
|
||||
// a real presence update
|
||||
client.emit("presence", user, data.status, data.game_id);
|
||||
user.status = data.status;
|
||||
user.gameID = data.game_id;
|
||||
} else {
|
||||
// a name change or avatar change
|
||||
client.emit("userUpdate", user, presenceUser);
|
||||
client.emit("userUpdated", user, presenceUser);
|
||||
self.users.update(user, presenceUser);
|
||||
}
|
||||
} else {
|
||||
@@ -1583,14 +1583,14 @@ var InternalClient = (function () {
|
||||
} else {
|
||||
user.typing.since = Date.now();
|
||||
user.typing.channel = channel;
|
||||
client.emit("userTypingStart", user, channel);
|
||||
client.emit("userTypingStarted", user, channel);
|
||||
}
|
||||
setTimeout(function () {
|
||||
if (Date.now() - user.typing.since > 5500) {
|
||||
// they haven't typed since
|
||||
user.typing.since = null;
|
||||
user.typing.channel = null;
|
||||
client.emit("userTypingStop", user, channel);
|
||||
client.emit("userTypingStopped", user, channel);
|
||||
}
|
||||
}, 6000);
|
||||
} else {
|
||||
|
||||
@@ -41,6 +41,10 @@ var User = (function (_Equality) {
|
||||
if (obj instanceof User) return this.id === obj.id && this.username === obj.username && this.discriminator === obj.discriminator && this.avatar === obj.avatar && this.status === obj.status && this.gameID === obj.gameID;else return false;
|
||||
};
|
||||
|
||||
User.prototype.equals = function equals(obj) {
|
||||
if (obj instanceof User) return this.id === obj.id && this.username === obj.username && this.discriminator === obj.discriminator && this.avatar === obj.avatar;else return false;
|
||||
};
|
||||
|
||||
_createClass(User, [{
|
||||
key: "avatarURL",
|
||||
get: function get() {
|
||||
|
||||
@@ -1627,7 +1627,7 @@ class InternalClient {
|
||||
|
||||
var presenceUser = new User(data.user, client);
|
||||
|
||||
if (presenceUser.equalsStrict(user)) {
|
||||
if (presenceUser.equals(user)) {
|
||||
// a real presence update
|
||||
client.emit("presence", user, data.status, data.game_id);
|
||||
user.status = data.status;
|
||||
@@ -1635,7 +1635,7 @@ class InternalClient {
|
||||
|
||||
} else {
|
||||
// a name change or avatar change
|
||||
client.emit("userUpdate", user, presenceUser);
|
||||
client.emit("userUpdated", user, presenceUser);
|
||||
self.users.update(user, presenceUser);
|
||||
}
|
||||
|
||||
@@ -1656,14 +1656,14 @@ class InternalClient {
|
||||
} else {
|
||||
user.typing.since = Date.now();
|
||||
user.typing.channel = channel;
|
||||
client.emit("userTypingStart", user, channel);
|
||||
client.emit("userTypingStarted", user, channel);
|
||||
}
|
||||
setTimeout(() => {
|
||||
if (Date.now() - user.typing.since > 5500) {
|
||||
// they haven't typed since
|
||||
user.typing.since = null;
|
||||
user.typing.channel = null;
|
||||
client.emit("userTypingStop", user, channel);
|
||||
client.emit("userTypingStopped", user, channel);
|
||||
}
|
||||
}, 6000);
|
||||
|
||||
|
||||
@@ -48,6 +48,18 @@ class User extends Equality{
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
equals(obj){
|
||||
if(obj instanceof User)
|
||||
return (
|
||||
this.id === obj.id &&
|
||||
this.username === obj.username &&
|
||||
this.discriminator === obj.discriminator &&
|
||||
this.avatar === obj.avatar
|
||||
);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = User;
|
||||
Reference in New Issue
Block a user