mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-19 04:53:30 +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);
|
var presenceUser = new User(data.user, client);
|
||||||
|
|
||||||
if (presenceUser.equalsStrict(user)) {
|
if (presenceUser.equals(user)) {
|
||||||
// a real presence update
|
// a real presence update
|
||||||
client.emit("presence", user, data.status, data.game_id);
|
client.emit("presence", user, data.status, data.game_id);
|
||||||
user.status = data.status;
|
user.status = data.status;
|
||||||
user.gameID = data.game_id;
|
user.gameID = data.game_id;
|
||||||
} else {
|
} else {
|
||||||
// a name change or avatar change
|
// a name change or avatar change
|
||||||
client.emit("userUpdate", user, presenceUser);
|
client.emit("userUpdated", user, presenceUser);
|
||||||
self.users.update(user, presenceUser);
|
self.users.update(user, presenceUser);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1583,14 +1583,14 @@ var InternalClient = (function () {
|
|||||||
} else {
|
} else {
|
||||||
user.typing.since = Date.now();
|
user.typing.since = Date.now();
|
||||||
user.typing.channel = channel;
|
user.typing.channel = channel;
|
||||||
client.emit("userTypingStart", user, channel);
|
client.emit("userTypingStarted", user, channel);
|
||||||
}
|
}
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
if (Date.now() - user.typing.since > 5500) {
|
if (Date.now() - user.typing.since > 5500) {
|
||||||
// they haven't typed since
|
// they haven't typed since
|
||||||
user.typing.since = null;
|
user.typing.since = null;
|
||||||
user.typing.channel = null;
|
user.typing.channel = null;
|
||||||
client.emit("userTypingStop", user, channel);
|
client.emit("userTypingStopped", user, channel);
|
||||||
}
|
}
|
||||||
}, 6000);
|
}, 6000);
|
||||||
} else {
|
} 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;
|
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, [{
|
_createClass(User, [{
|
||||||
key: "avatarURL",
|
key: "avatarURL",
|
||||||
get: function get() {
|
get: function get() {
|
||||||
|
|||||||
@@ -1627,7 +1627,7 @@ class InternalClient {
|
|||||||
|
|
||||||
var presenceUser = new User(data.user, client);
|
var presenceUser = new User(data.user, client);
|
||||||
|
|
||||||
if (presenceUser.equalsStrict(user)) {
|
if (presenceUser.equals(user)) {
|
||||||
// a real presence update
|
// a real presence update
|
||||||
client.emit("presence", user, data.status, data.game_id);
|
client.emit("presence", user, data.status, data.game_id);
|
||||||
user.status = data.status;
|
user.status = data.status;
|
||||||
@@ -1635,7 +1635,7 @@ class InternalClient {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
// a name change or avatar change
|
// a name change or avatar change
|
||||||
client.emit("userUpdate", user, presenceUser);
|
client.emit("userUpdated", user, presenceUser);
|
||||||
self.users.update(user, presenceUser);
|
self.users.update(user, presenceUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1656,14 +1656,14 @@ class InternalClient {
|
|||||||
} else {
|
} else {
|
||||||
user.typing.since = Date.now();
|
user.typing.since = Date.now();
|
||||||
user.typing.channel = channel;
|
user.typing.channel = channel;
|
||||||
client.emit("userTypingStart", user, channel);
|
client.emit("userTypingStarted", user, channel);
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (Date.now() - user.typing.since > 5500) {
|
if (Date.now() - user.typing.since > 5500) {
|
||||||
// they haven't typed since
|
// they haven't typed since
|
||||||
user.typing.since = null;
|
user.typing.since = null;
|
||||||
user.typing.channel = null;
|
user.typing.channel = null;
|
||||||
client.emit("userTypingStop", user, channel);
|
client.emit("userTypingStopped", user, channel);
|
||||||
}
|
}
|
||||||
}, 6000);
|
}, 6000);
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,18 @@ class User extends Equality{
|
|||||||
else
|
else
|
||||||
return false;
|
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;
|
module.exports = User;
|
||||||
Reference in New Issue
Block a user