feat(TextBasedChannel): add lastPinTimestamp and lastPinAt (#2813)

* add lastPinTimestamp

* typings

* use or instead of ternary
This commit is contained in:
Ash
2018-09-03 03:11:52 -04:00
committed by SpaceEEC
parent b068abb5de
commit e96a60361a
6 changed files with 45 additions and 1 deletions

View File

@@ -32,6 +32,12 @@ class DMChannel extends Channel {
* @type {?Snowflake}
*/
this.lastMessageID = data.last_message_id;
/**
* The timestamp when the last pinned message was pinned, if there was one
* @type {?number}
*/
this.lastPinTimestamp = data.last_pin_timestamp ? new Date(data.last_pin_timestamp).getTime() : null;
}
/**
@@ -49,6 +55,7 @@ class DMChannel extends Channel {
// These are here only for documentation purposes - they are implemented by TextBasedChannel
/* eslint-disable no-empty-function */
get lastMessage() {}
get lastPinAt() {}
send() {}
search() {}
startTyping() {}

View File

@@ -103,6 +103,12 @@ class GroupDMChannel extends Channel {
* @type {?Snowflake}
*/
this.lastMessageID = data.last_message_id;
/**
* The timestamp when the last pinned message was pinned, if there was one
* @type {?number}
*/
this.lastPinTimestamp = data.last_pin_timestamp ? new Date(data.last_pin_timestamp).getTime() : null;
}
/**
@@ -219,6 +225,7 @@ class GroupDMChannel extends Channel {
// These are here only for documentation purposes - they are implemented by TextBasedChannel
/* eslint-disable no-empty-function */
get lastMessage() {}
get lastPinAt() {}
send() {}
search() {}
startTyping() {}

View File

@@ -43,6 +43,12 @@ class TextChannel extends GuildChannel {
*/
this.lastMessageID = data.last_message_id;
/**
* The timestamp when the last pinned message was pinned, if there was one
* @type {?number}
*/
this.lastPinTimestamp = data.last_pin_timestamp ? new Date(data.last_pin_timestamp).getTime() : null;
if (data.messages) for (const message of data.messages) this.messages.add(message);
}
@@ -101,6 +107,7 @@ class TextChannel extends GuildChannel {
// These are here only for documentation purposes - they are implemented by TextBasedChannel
/* eslint-disable no-empty-function */
get lastMessage() {}
get lastPinAt() {}
send() {}
search() {}
startTyping() {}

View File

@@ -21,6 +21,12 @@ class TextBasedChannel {
* @type {?Snowflake}
*/
this.lastMessageID = null;
/**
* The timestamp when the last pinned message was pinned, if there was one
* @type {?number}
*/
this.lastPinTimestamp = null;
}
/**
@@ -32,6 +38,15 @@ class TextBasedChannel {
return this.messages.get(this.lastMessageID) || null;
}
/**
* The date when the last pinned message was pinned, if there was one
* @type {?Date}
* @readonly
*/
get lastPinAt() {
return this.lastPinTimestamp ? new Date(this.lastPinTimestamp) : null;
}
/**
* Options provided when sending or editing a message.
* @typedef {Object} MessageOptions
@@ -322,6 +337,7 @@ class TextBasedChannel {
if (full) {
props.push(
'lastMessage',
'lastPinAt',
'bulkDelete',
'startTyping',
'stopTyping',